Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2017-03-06 10:50:50 +0300
committerKacper Michajłow <kasper93@gmail.com>2017-03-06 10:50:50 +0300
commitb989276ec26ede85b20ab469460882c850edcbcd (patch)
tree34ea494e14c919f8bca51b55c95c92303a147c89
parentd911f14d5619d800819d6f4658e72236720b79af (diff)
parentba2ea5d9e0cf5451398dfd438a0a962a0fe6fd74 (diff)
Merge branch 'release-1.7.11'1.7.11
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules36
-rw-r--r--Readme.md51
-rwxr-xr-xbuild.bat16
-rw-r--r--build/BuildConfig.vcxproj2
-rw-r--r--contrib/astyle.ini1
-rw-r--r--contrib/mpc-hc.cppcheck3
-rwxr-xr-xcontrib/run_astyle.bat5
-rwxr-xr-xcontrib/sign.bat48
-rw-r--r--distrib/Languages/Armenian.islu331
-rw-r--r--distrib/Languages/Belarusian.isl464
-rw-r--r--distrib/Languages/Bosnian.isl329
-rw-r--r--distrib/Languages/Indonesian.isl473
-rw-r--r--distrib/Languages/Thai.isl38
-rw-r--r--distrib/Languages/Vietnamese.isl467
-rw-r--r--distrib/custom_messages_translated.iss173
-rw-r--r--distrib/mpc-hc_setup.iss10
-rw-r--r--docs/Authors.txt12
-rw-r--r--docs/Changelog.txt108
-rw-r--r--docs/Changelog_old.txt49
-rw-r--r--docs/Compilation.txt15
-rw-r--r--docs/Readme.txt10
-rw-r--r--include/SubRenderIntf.h67
-rw-r--r--include/dx/d3d.h1688
-rw-r--r--include/dx/d3dcaps.h601
-rw-r--r--include/dx/d3dtypes.h2119
-rw-r--r--include/moreuuids.h8
-rw-r--r--include/mpc-hc_config.h9
-rw-r--r--include/mvrInterfaces.h127
-rw-r--r--include/unrar.h8
-rw-r--r--include/version.h21
-rw-r--r--mpc-hc.sln67
-rw-r--r--mpciconlib.sln4
-rw-r--r--mpcresources.sln7
-rw-r--r--src/CmdUI/CmdUI.vcxproj50
-rw-r--r--src/CmdUI/CmdUI.vcxproj.filters2
-rw-r--r--src/DSUtil/ArrayUtils.h6
-rw-r--r--src/DSUtil/AudioTools.h4
-rw-r--r--src/DSUtil/DSUtil.cpp704
-rw-r--r--src/DSUtil/DSUtil.h69
-rw-r--r--src/DSUtil/DSUtil.vcxproj70
-rw-r--r--src/DSUtil/DSUtil.vcxproj.filters8
-rw-r--r--src/DSUtil/FileVersionInfo.cpp2
-rw-r--r--src/DSUtil/HdmvClipInfo.cpp8
-rw-r--r--src/DSUtil/HdmvClipInfo.h3
-rw-r--r--src/DSUtil/ISOLang.cpp762
-rw-r--r--src/DSUtil/ISOLang.h65
-rw-r--r--src/DSUtil/MediaTypeEx.cpp15
-rw-r--r--src/DSUtil/MediaTypeEx.h4
-rw-r--r--src/DSUtil/MediaTypes.cpp7
-rw-r--r--src/DSUtil/NullRenderers.cpp64
-rw-r--r--src/DSUtil/SharedInclude.h6
-rw-r--r--src/DSUtil/WinAPIUtils.cpp2
-rw-r--r--src/DSUtil/WinAPIUtils.h4
-rw-r--r--src/DSUtil/WinapiFunc.h22
-rw-r--r--src/DSUtil/text.cpp16
-rw-r--r--src/DSUtil/text.h4
-rw-r--r--src/DeCSS/DeCSS.vcxproj53
-rw-r--r--src/DeCSS/DeCSS.vcxproj.filters2
-rw-r--r--src/DeCSS/DeCSSInputPin.cpp3
-rw-r--r--src/DeCSS/VobFile.cpp9
-rw-r--r--src/MPCTestAPI/MPCTestAPI.sln4
-rw-r--r--src/MPCTestAPI/MPCTestAPI.vcxproj71
-rw-r--r--src/MPCTestAPI/MPCTestAPI.vcxproj.filters2
-rw-r--r--src/MPCTestAPI/MPCTestAPIDlg.cpp2
-rw-r--r--src/MathLibFix/MathLibFix.cpp35
-rw-r--r--src/MathLibFix/MathLibFix.h24
-rw-r--r--src/MathLibFix/MathLibFix.vcxproj122
-rw-r--r--src/MathLibFix/MathLibFix.vcxproj.filters23
-rw-r--r--src/SubPic/CoordGeom.cpp40
-rw-r--r--src/SubPic/CoordGeom.h10
-rw-r--r--src/SubPic/DX7SubPic.cpp304
-rw-r--r--src/SubPic/DX7SubPic.h65
-rw-r--r--src/SubPic/ISubPic.h9
-rw-r--r--src/SubPic/ISubRender.h14
-rw-r--r--src/SubPic/SubPic.vcxproj55
-rw-r--r--src/SubPic/SubPic.vcxproj.filters8
-rw-r--r--src/SubPic/SubPicAllocatorPresenterImpl.cpp158
-rw-r--r--src/SubPic/SubPicAllocatorPresenterImpl.h12
-rw-r--r--src/SubPic/SubPicImpl.cpp16
-rw-r--r--src/SubPic/SubPicImpl.h5
-rw-r--r--src/SubPic/SubPicQueueSettings.h4
-rw-r--r--src/Subtitles/CCDecoder.cpp6
-rw-r--r--src/Subtitles/DVBSub.cpp16
-rw-r--r--src/Subtitles/Ellipse.cpp10
-rw-r--r--src/Subtitles/PGSSub.cpp7
-rw-r--r--src/Subtitles/RLECodedSubtitle.cpp3
-rw-r--r--src/Subtitles/RLECodedSubtitle.h4
-rw-r--r--src/Subtitles/RTS.cpp68
-rw-r--r--src/Subtitles/Rasterizer.cpp4
-rw-r--r--src/Subtitles/RenderingCache.cpp40
-rw-r--r--src/Subtitles/STS.cpp129
-rw-r--r--src/Subtitles/STS.h33
-rw-r--r--src/Subtitles/SeparableFilter.h4
-rw-r--r--src/Subtitles/SubtitleHelpers.cpp91
-rw-r--r--src/Subtitles/SubtitleHelpers.h15
-rw-r--r--src/Subtitles/SubtitleInputPin.cpp24
-rw-r--r--src/Subtitles/Subtitles.vcxproj53
-rw-r--r--src/Subtitles/Subtitles.vcxproj.filters2
-rw-r--r--src/Subtitles/TextFile.cpp4
-rw-r--r--src/Subtitles/USFSubtitles.cpp6
-rw-r--r--src/Subtitles/VobSubFile.cpp16
-rw-r--r--src/Subtitles/VobSubFileRipper.cpp14
-rw-r--r--src/Subtitles/VobSubImage.cpp94
-rw-r--r--src/common-3rd-party.props2
-rw-r--r--src/common.props18
-rw-r--r--src/filters/FilterApp.cpp5
-rw-r--r--src/filters/Filters.vcxproj58
-rw-r--r--src/filters/Filters.vcxproj.filters2
-rw-r--r--src/filters/PinInfoWnd.cpp25
-rw-r--r--src/filters/PinInfoWnd.h7
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxer.cpp15
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj53
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj.filters2
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp5
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxerOutputPin.cpp10
-rw-r--r--src/filters/muxer/BaseMuxer/BitStream.cpp2
-rw-r--r--src/filters/muxer/BaseMuxer/stdafx.h4
-rw-r--r--src/filters/muxer/DSMMuxer/DSMMuxer.cpp4
-rw-r--r--src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj136
-rw-r--r--src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj.filters2
-rw-r--r--src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp13
-rw-r--r--src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj136
-rw-r--r--src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj.filters2
-rw-r--r--src/filters/muxer/WavDest/WavDest.vcxproj133
-rw-r--r--src/filters/muxer/WavDest/WavDest.vcxproj.filters2
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.cpp23
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.vcxproj53
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.vcxproj.filters2
-rw-r--r--src/filters/parser/DSMSplitter/DSMSplitter.cpp16
-rw-r--r--src/filters/parser/DSMSplitter/DSMSplitter.vcxproj136
-rw-r--r--src/filters/parser/DSMSplitter/DSMSplitter.vcxproj.filters2
-rw-r--r--src/filters/parser/StreamDriveThru/StreamDriveThru.cpp8
-rw-r--r--src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj136
-rw-r--r--src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj.filters2
-rw-r--r--src/filters/reader/CDDAReader/CDDAReader.vcxproj138
-rw-r--r--src/filters/reader/CDDAReader/CDDAReader.vcxproj.filters2
-rw-r--r--src/filters/reader/CDXAReader/CDXAReader.cpp4
-rw-r--r--src/filters/reader/CDXAReader/CDXAReader.vcxproj138
-rw-r--r--src/filters/reader/CDXAReader/CDXAReader.vcxproj.filters2
-rw-r--r--src/filters/reader/VTSReader/VTSReader.vcxproj136
-rw-r--r--src/filters/reader/VTSReader/VTSReader.vcxproj.filters2
-rw-r--r--src/filters/renderer/SyncClock/SyncClock.h4
-rw-r--r--src/filters/renderer/SyncClock/SyncClock.vcxproj53
-rw-r--r--src/filters/renderer/SyncClock/SyncClock.vcxproj.filters2
-rw-r--r--src/filters/renderer/VideoRenderers/AllocatorCommon.cpp3
-rw-r--r--src/filters/renderer/VideoRenderers/AllocatorCommon7.cpp77
-rw-r--r--src/filters/renderer/VideoRenderers/AllocatorCommon7.h41
-rw-r--r--src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp480
-rw-r--r--src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.h71
-rw-r--r--src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp489
-rw-r--r--src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h5
-rw-r--r--src/filters/renderer/VideoRenderers/DX9RenderingEngine.h3
-rw-r--r--src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp3
-rw-r--r--src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp34
-rw-r--r--src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.h1
-rw-r--r--src/filters/renderer/VideoRenderers/PixelShaderCache.cpp242
-rw-r--r--src/filters/renderer/VideoRenderers/PixelShaderCache.h67
-rw-r--r--src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp13
-rw-r--r--src/filters/renderer/VideoRenderers/PixelShaderCompiler.h6
-rw-r--r--src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp161
-rw-r--r--src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.h57
-rw-r--r--src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp3
-rw-r--r--src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp265
-rw-r--r--src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.h68
-rw-r--r--src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp3
-rw-r--r--src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.h6
-rw-r--r--src/filters/renderer/VideoRenderers/RenderersSettings.cpp26
-rw-r--r--src/filters/renderer/VideoRenderers/RenderersSettings.h14
-rw-r--r--src/filters/renderer/VideoRenderers/SyncRenderer.cpp405
-rw-r--r--src/filters/renderer/VideoRenderers/SyncRenderer.h2
-rw-r--r--src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.cpp393
-rw-r--r--src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.h82
-rw-r--r--src/filters/renderer/VideoRenderers/VMR9AllocatorPresenter.cpp13
-rw-r--r--src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj80
-rw-r--r--src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj.filters38
-rw-r--r--src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp14
-rw-r--r--src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h22
-rw-r--r--src/filters/source/BaseSource/BaseSource.vcxproj53
-rw-r--r--src/filters/source/BaseSource/BaseSource.vcxproj.filters2
-rw-r--r--src/filters/source/SubtitleSource/SubtitleSource.vcxproj138
-rw-r--r--src/filters/source/SubtitleSource/SubtitleSource.vcxproj.filters2
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj138
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj.filters2
-rw-r--r--src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj135
-rw-r--r--src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj.filters2
-rw-r--r--src/filters/transform/BaseVideoFilter/BaseVideoFilter.cpp4
-rw-r--r--src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj53
-rw-r--r--src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj.filters2
-rw-r--r--src/filters/transform/BufferFilter/BufferFilter.vcxproj135
-rw-r--r--src/filters/transform/BufferFilter/BufferFilter.vcxproj.filters2
-rw-r--r--src/filters/transform/DeCSSFilter/DeCSSFilter.cpp5
-rw-r--r--src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj135
-rw-r--r--src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj.filters2
-rw-r--r--src/filters/transform/VSFilter/Copy.cpp13
-rw-r--r--src/filters/transform/VSFilter/DirectVobSub.cpp8
-rw-r--r--src/filters/transform/VSFilter/DirectVobSub.h5
-rw-r--r--src/filters/transform/VSFilter/DirectVobSubFilter.cpp25
-rw-r--r--src/filters/transform/VSFilter/DirectVobSubPropPage.cpp2
-rw-r--r--src/filters/transform/VSFilter/VSFilter.cpp6
-rw-r--r--src/filters/transform/VSFilter/VSFilter.vcxproj91
-rw-r--r--src/filters/transform/VSFilter/VSFilter.vcxproj.filters2
-rw-r--r--src/filters/transform/VSFilter/installer/vsfilter_setup.iss8
-rw-r--r--src/filters/transform/VSFilter/plugins.cpp10
-rw-r--r--src/mpc-hc/AboutDlg.cpp33
-rw-r--r--src/mpc-hc/AppSettings.cpp103
-rw-r--r--src/mpc-hc/AppSettings.h91
-rw-r--r--src/mpc-hc/AuthDlg.cpp12
-rw-r--r--src/mpc-hc/CmdLineHelpDlg.cpp26
-rw-r--r--src/mpc-hc/CoverArt.h3
-rw-r--r--src/mpc-hc/CrashReporter.cpp4
-rw-r--r--src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj23
-rw-r--r--src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj.filters2
-rw-r--r--src/mpc-hc/DVBChannel.cpp16
-rw-r--r--src/mpc-hc/DVBChannel.h15
-rw-r--r--src/mpc-hc/DebugShadersDlg.cpp6
-rw-r--r--src/mpc-hc/DeinterlacerFilter.cpp5
-rw-r--r--src/mpc-hc/DpiHelper.cpp6
-rw-r--r--src/mpc-hc/DpiHelper.h5
-rw-r--r--src/mpc-hc/EditListEditor.cpp4
-rw-r--r--src/mpc-hc/EventDispatcher.h3
-rw-r--r--src/mpc-hc/FGFilter.cpp11
-rw-r--r--src/mpc-hc/FGFilterLAV.cpp40
-rw-r--r--src/mpc-hc/FGFilterLAV.h7
-rw-r--r--src/mpc-hc/FGManager.cpp63
-rw-r--r--src/mpc-hc/FGManagerBDA.cpp59
-rw-r--r--src/mpc-hc/FGManagerBDA.h13
-rw-r--r--src/mpc-hc/FakeFilterMapper2.cpp3
-rw-r--r--src/mpc-hc/FavoriteAddDlg.cpp3
-rw-r--r--src/mpc-hc/FavoriteOrganizeDlg.cpp7
-rw-r--r--src/mpc-hc/FileAssoc.cpp24
-rw-r--r--src/mpc-hc/FileAssoc.h5
-rw-r--r--src/mpc-hc/FreeviewEPGDecode.cpp4
-rw-r--r--src/mpc-hc/GoToDlg.cpp4
-rw-r--r--src/mpc-hc/GraphThread.cpp7
-rw-r--r--src/mpc-hc/IGraphBuilder2.h8
-rw-r--r--src/mpc-hc/ISDb.cpp139
-rw-r--r--src/mpc-hc/ISDb.h72
-rw-r--r--src/mpc-hc/Ifo.h4
-rw-r--r--src/mpc-hc/ImageGrayer.cpp137
-rw-r--r--src/mpc-hc/ImageGrayer.h26
-rw-r--r--src/mpc-hc/LcdSupport.h3
-rw-r--r--src/mpc-hc/Logger.h103
-rw-r--r--src/mpc-hc/MainFrm.cpp1384
-rw-r--r--src/mpc-hc/MainFrm.h163
-rw-r--r--src/mpc-hc/MainFrmControls.cpp13
-rw-r--r--src/mpc-hc/MediaFormats.cpp106
-rw-r--r--src/mpc-hc/MouseTouch.cpp1
-rw-r--r--src/mpc-hc/MouseTouch.h2
-rw-r--r--src/mpc-hc/Mpeg2SectionData.cpp19
-rw-r--r--src/mpc-hc/Mpeg2SectionData.h8
-rw-r--r--src/mpc-hc/PPageAccelTbl.cpp20
-rw-r--r--src/mpc-hc/PPageAdvanced.cpp100
-rw-r--r--src/mpc-hc/PPageAdvanced.h18
-rw-r--r--src/mpc-hc/PPageAudioRenderer.cpp4
-rw-r--r--src/mpc-hc/PPageAudioSwitcher.cpp8
-rw-r--r--src/mpc-hc/PPageBase.cpp5
-rw-r--r--src/mpc-hc/PPageDVD.cpp2
-rw-r--r--src/mpc-hc/PPageExternalFilters.cpp4
-rw-r--r--src/mpc-hc/PPageExternalFilters.h3
-rw-r--r--src/mpc-hc/PPageFileInfoClip.cpp14
-rw-r--r--src/mpc-hc/PPageFileInfoDetails.cpp12
-rw-r--r--src/mpc-hc/PPageFileInfoDetails.h4
-rw-r--r--src/mpc-hc/PPageFileInfoSheet.cpp4
-rw-r--r--src/mpc-hc/PPageFileMediaInfo.cpp4
-rw-r--r--src/mpc-hc/PPageFullscreen.cpp35
-rw-r--r--src/mpc-hc/PPageFullscreen.h5
-rw-r--r--src/mpc-hc/PPageInternalFilters.cpp2
-rw-r--r--src/mpc-hc/PPageLogo.h3
-rw-r--r--src/mpc-hc/PPageMisc.cpp3
-rw-r--r--src/mpc-hc/PPageOutput.cpp88
-rw-r--r--src/mpc-hc/PPageOutput.h3
-rw-r--r--src/mpc-hc/PPagePlayback.cpp19
-rw-r--r--src/mpc-hc/PPagePlayback.h4
-rw-r--r--src/mpc-hc/PPagePlayer.cpp4
-rw-r--r--src/mpc-hc/PPageShaders.cpp3
-rw-r--r--src/mpc-hc/PPageShaders.h3
-rw-r--r--src/mpc-hc/PPageSheet.cpp6
-rw-r--r--src/mpc-hc/PPageSubMisc.cpp245
-rw-r--r--src/mpc-hc/PPageSubMisc.h40
-rw-r--r--src/mpc-hc/PPageSubtitles.cpp3
-rw-r--r--src/mpc-hc/PPageSubtitles.h3
-rw-r--r--src/mpc-hc/PPageWebServer.cpp3
-rw-r--r--src/mpc-hc/PlayerBar.cpp3
-rw-r--r--src/mpc-hc/PlayerBar.h3
-rw-r--r--src/mpc-hc/PlayerCaptureDialog.cpp3
-rw-r--r--src/mpc-hc/PlayerCaptureDialog.h12
-rw-r--r--src/mpc-hc/PlayerNavigationDialog.cpp6
-rw-r--r--src/mpc-hc/PlayerPlaylistBar.cpp5
-rw-r--r--src/mpc-hc/PlayerPlaylistBar.h3
-rw-r--r--src/mpc-hc/PlayerSeekBar.cpp5
-rw-r--r--src/mpc-hc/PlayerSubresyncBar.cpp116
-rw-r--r--src/mpc-hc/PlayerSubresyncBar.h32
-rw-r--r--src/mpc-hc/PlayerToolBar.cpp99
-rw-r--r--src/mpc-hc/PlayerToolBar.h11
-rw-r--r--src/mpc-hc/QuicktimeGraph.cpp10
-rw-r--r--src/mpc-hc/QuicktimeGraph.h3
-rw-r--r--src/mpc-hc/RealMediaGraph.cpp36
-rw-r--r--src/mpc-hc/RealMediaGraph.h21
-rw-r--r--src/mpc-hc/RealMediaWindowlessSite.cpp18
-rw-r--r--src/mpc-hc/RealMediaWindowlessSite.h18
-rw-r--r--src/mpc-hc/RegFilterChooserDlg.cpp8
-rw-r--r--src/mpc-hc/RegFilterChooserDlg.h3
-rw-r--r--src/mpc-hc/SVGImage.cpp85
-rw-r--r--src/mpc-hc/SVGImage.h32
-rw-r--r--src/mpc-hc/SaveImageDialog.cpp12
-rw-r--r--src/mpc-hc/SaveSubtitlesFileDialog.cpp4
-rw-r--r--src/mpc-hc/SaveThumbnailsDialog.cpp30
-rw-r--r--src/mpc-hc/SettingsDefines.h21
-rw-r--r--src/mpc-hc/ShockwaveGraph.cpp2
-rw-r--r--src/mpc-hc/SubtitleDlDlg.cpp854
-rw-r--r--src/mpc-hc/SubtitleDlDlg.h147
-rw-r--r--src/mpc-hc/SubtitleUpDlg.cpp515
-rw-r--r--src/mpc-hc/SubtitleUpDlg.h90
-rw-r--r--src/mpc-hc/SubtitlesProvider.cpp1127
-rw-r--r--src/mpc-hc/SubtitlesProvider.h139
-rw-r--r--src/mpc-hc/SubtitlesProviders.cpp932
-rw-r--r--src/mpc-hc/SubtitlesProviders.h444
-rw-r--r--src/mpc-hc/SubtitlesProvidersUtils.cpp814
-rw-r--r--src/mpc-hc/SubtitlesProvidersUtils.h97
-rw-r--r--src/mpc-hc/TextPassThruFilter.cpp3
-rw-r--r--src/mpc-hc/Translations.cpp160
-rw-r--r--src/mpc-hc/Translations.h15
-rw-r--r--src/mpc-hc/TunerScanDlg.cpp5
-rw-r--r--src/mpc-hc/UpdateChecker.cpp1
-rw-r--r--src/mpc-hc/VMROSD.cpp4
-rw-r--r--src/mpc-hc/VMROSD.h4
-rw-r--r--src/mpc-hc/VolumeCtrl.cpp9
-rw-r--r--src/mpc-hc/WebClientSocket.cpp20
-rw-r--r--src/mpc-hc/WebServer.cpp10
-rw-r--r--src/mpc-hc/mpc-hc.rc411
-rw-r--r--src/mpc-hc/mpc-hc.vcxproj261
-rw-r--r--src/mpc-hc/mpc-hc.vcxproj.filters74
-rw-r--r--src/mpc-hc/mpciconlib/mpciconlib.vcxproj34
-rw-r--r--src/mpc-hc/mpciconlib/mpciconlib.vcxproj.filters2
-rw-r--r--src/mpc-hc/mpcresources/BuildAll.vcxproj5
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po104
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po81
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po553
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po592
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po275
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po1536
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po150
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po81
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po549
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.dialogs.po1795
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.menus.po711
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.strings.po3962
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po438
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po295
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po1380
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po152
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po526
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.da.dialogs.po168
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.da.menus.po122
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.da.strings.po675
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po172
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po118
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po728
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot76
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po104
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po209
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po546
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po84
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po536
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po344
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po182
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po1159
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po78
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po534
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po234
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po152
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po848
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po100
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po81
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po536
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po80
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po524
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po522
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po142
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po110
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po654
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po107
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po83
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po533
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po122
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po90
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po552
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.id.dialogs.po129
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.id.menus.po84
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.id.strings.po600
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ar.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.be.strings.po35
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.bn.strings.po4
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.bs_BA.strings.po79
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po32
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.cs.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.da.strings.po15
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.de.strings.po34
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.el.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.en_GB.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po24
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.eu.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po21
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.fr.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.he.strings.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.hr.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.hy.strings.po4
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.id.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.lt.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ms_MY.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po23
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.pa.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.pl.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.pt_BR.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ro.strings.po18
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ru.strings.po27
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sk.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sl.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po27
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.strings.pot2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.th_TH.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.tr.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.tt.strings.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.uk.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_CN.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_TW.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po526
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po118
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po112
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po645
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po156
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po84
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po522
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.lt.dialogs.po100
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.lt.menus.po92
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.lt.strings.po528
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot62
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po78
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po528
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po308
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po151
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po1223
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pa.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pa.menus.po78
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pa.strings.po528
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po81
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po529
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po136
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po86
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po531
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po242
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po184
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po940
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po422
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po297
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po1278
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po80
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po536
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po78
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po526
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po321
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po103
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po567
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot504
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po100
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po81
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po528
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po100
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po524
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po100
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po90
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po538
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po524
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po109
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po80
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po558
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po154
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po84
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po614
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po103
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po539
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po257
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po107
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po676
-rw-r--r--src/mpc-hc/mpcresources/SyncTranslations.vcxproj7
-rw-r--r--src/mpc-hc/mpcresources/TranslationData.py5
-rw-r--r--src/mpc-hc/mpcresources/TranslationDataIS.py8
-rw-r--r--src/mpc-hc/mpcresources/UpdateIS.py7
-rw-r--r--src/mpc-hc/mpcresources/UpdateISPOT.py4
-rw-r--r--src/mpc-hc/mpcresources/UpdatePOT.py4
-rw-r--r--src/mpc-hc/mpcresources/cfg/mpc-hc.bn.cfg2
-rw-r--r--src/mpc-hc/mpcresources/cfg/mpc-hc.bs_BA.cfg8
-rw-r--r--src/mpc-hc/mpcresources/mpcresources.vcxproj24
-rw-r--r--src/mpc-hc/mpcresources/mpcresources.vcxproj.filters5
-rw-r--r--src/mpc-hc/mpcresources/sync.py11
-rw-r--r--src/mpc-hc/mpcresources/syncIS.py11
-rw-r--r--src/mpc-hc/mplayerc.cpp51
-rw-r--r--src/mpc-hc/mplayerc.h8
-rw-r--r--src/mpc-hc/res/logo.0.pngbin82 -> 67 bytes
-rw-r--r--src/mpc-hc/res/logo.1.pngbin9547 -> 9538 bytes
-rw-r--r--src/mpc-hc/res/logo.1_x64.pngbin10204 -> 10161 bytes
-rw-r--r--src/mpc-hc/res/logo.2.pngbin50308 -> 50289 bytes
-rw-r--r--src/mpc-hc/res/logo.2_x64.pngbin51225 -> 51149 bytes
-rw-r--r--src/mpc-hc/res/logo.3.pngbin7823 -> 7760 bytes
-rw-r--r--src/mpc-hc/res/logo.3_x64.pngbin8699 -> 8632 bytes
-rw-r--r--src/mpc-hc/res/mpc-hc.rc215
-rw-r--r--src/mpc-hc/res/subtitles/favicon_napisy24.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_opensubtitles.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_podnapisi.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_subdb.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_titlovi.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_tvsubtitles.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/subtitles/favicon_ysubs.icobin0 -> 1150 bytes
-rw-r--r--src/mpc-hc/res/tickcross.pngbin1024 -> 949 bytes
-rw-r--r--src/mpc-hc/res/toolbar.svg433
-rw-r--r--src/mpc-hc/res/toolbarw7.pngbin811 -> 764 bytes
-rw-r--r--src/mpc-hc/res/web/404.html5
-rw-r--r--src/mpc-hc/res/web/browser.html5
-rw-r--r--src/mpc-hc/res/web/controls.html5
-rw-r--r--src/mpc-hc/res/web/default.css53
-rw-r--r--src/mpc-hc/res/web/img/1pix.pngbin95 -> 68 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlback.pngbin87 -> 74 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlbuttonplay.pngbin120 -> 118 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlbuttonskipback.pngbin119 -> 114 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlbuttonskipforward.pngbin128 -> 124 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlbuttonstep.pngbin122 -> 121 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlbuttonstop.pngbin109 -> 106 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlvolumebar.pngbin146 -> 145 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlvolumegrip.pngbin106 -> 93 bytes
-rw-r--r--src/mpc-hc/res/web/img/controlvolumeoff.pngbin276 -> 272 bytes
-rw-r--r--src/mpc-hc/res/web/img/headerclose.pngbin1347 -> 1320 bytes
-rw-r--r--src/mpc-hc/res/web/img/headericon.pngbin756 -> 682 bytes
-rw-r--r--src/mpc-hc/res/web/img/leftbottomside.pngbin122 -> 106 bytes
-rw-r--r--src/mpc-hc/res/web/img/leftside.pngbin91 -> 78 bytes
-rw-r--r--src/mpc-hc/res/web/img/seekbargrip.pngbin128 -> 121 bytes
-rw-r--r--src/mpc-hc/res/web/img/seekbarleft.pngbin94 -> 85 bytes
-rw-r--r--src/mpc-hc/res/web/img/seekbarright.pngbin90 -> 81 bytes
-rw-r--r--src/mpc-hc/res/web/img/slidergrip.pngbin157 -> 154 bytes
-rw-r--r--src/mpc-hc/res/web/img/vbs.pngbin105 -> 91 bytes
-rw-r--r--src/mpc-hc/res/web/index.html5
-rw-r--r--src/mpc-hc/res/web/info.html7
-rw-r--r--src/mpc-hc/res/web/javascript.js11
-rw-r--r--src/mpc-hc/res/web/player.html5
-rw-r--r--src/mpc-hc/res/web/variables.html5
-rw-r--r--src/mpc-hc/resource.h152
-rw-r--r--src/mpc-hc/stdafx.h42
-rw-r--r--src/platform.props6
-rw-r--r--src/thirdparty/AsyncReader/AsyncReader.vcxproj53
-rw-r--r--src/thirdparty/AsyncReader/AsyncReader.vcxproj.filters2
-rw-r--r--src/thirdparty/BaseClasses/BaseClasses.vcxproj65
-rw-r--r--src/thirdparty/BaseClasses/BaseClasses.vcxproj.filters2
-rw-r--r--src/thirdparty/DoctorDump/DoctorDump.vcxproj19
-rw-r--r--src/thirdparty/LAVFilters/LAVFilters.vcxproj49
-rw-r--r--src/thirdparty/LAVFilters/LAVFilters.vcxproj.filters2
-rwxr-xr-xsrc/thirdparty/LAVFilters/build_ffmpeg.sh47
-rwxr-xr-xsrc/thirdparty/LAVFilters/build_lavfilters.bat20
m---------src/thirdparty/LAVFilters/src0
-rw-r--r--src/thirdparty/LCDUI/LCDConnection.cpp3
-rw-r--r--src/thirdparty/LCDUI/LCDUI.vcxproj71
-rw-r--r--src/thirdparty/LCDUI/LCDUI.vcxproj.filters2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfoLib.vcxproj108
-rw-r--r--src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters154
m---------src/thirdparty/MediaInfo/library0
-rw-r--r--src/thirdparty/RARFileSource/RARFileSource.vcxproj65
-rw-r--r--src/thirdparty/RARFileSource/RARFileSource.vcxproj.filters2
-rw-r--r--src/thirdparty/ResizableLib/ResizableLib.vcxproj53
-rw-r--r--src/thirdparty/ResizableLib/ResizableLib.vcxproj.filters2
-rw-r--r--src/thirdparty/SoundTouch/SoundTouch.vcxproj2
-rw-r--r--src/thirdparty/TreePropSheet/TreePropSheet.vcxproj53
-rw-r--r--src/thirdparty/TreePropSheet/TreePropSheet.vcxproj.filters2
-rw-r--r--src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj50
-rw-r--r--src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj.filters2
-rw-r--r--src/thirdparty/VirtualDub/h/vd2/system/VDString.h4
-rw-r--r--src/thirdparty/VirtualDub/system/system.vcxproj62
-rw-r--r--src/thirdparty/VirtualDub/system/system.vcxproj.filters2
m---------src/thirdparty/XmlRpc4Win0
-rw-r--r--src/thirdparty/ZenLib/ZenLib.vcxproj56
-rw-r--r--src/thirdparty/ZenLib/ZenLib.vcxproj.filters5
m---------src/thirdparty/ZenLib/library0
-rw-r--r--src/thirdparty/bs2b/bs2b.vcxproj2
-rw-r--r--src/thirdparty/lcms2/lcms2.vcxproj56
-rw-r--r--src/thirdparty/lcms2/lcms2.vcxproj.filters2
m---------src/thirdparty/lcms2/library0
-rw-r--r--src/thirdparty/mhook/mhook.vcxproj53
-rw-r--r--src/thirdparty/mhook/mhook.vcxproj.filters2
m---------src/thirdparty/nanosvg0
m---------src/thirdparty/rapidjson0
-rw-r--r--src/thirdparty/sizecbar/sizecbar.vcxproj53
-rw-r--r--src/thirdparty/sizecbar/sizecbar.vcxproj.filters2
-rw-r--r--src/thirdparty/soxr/soxr.vcxproj2
-rw-r--r--src/thirdparty/soxr/soxr.vcxproj.filters2
m---------src/thirdparty/tinyxml2/library0
-rw-r--r--src/thirdparty/tinyxml2/tinyxml2.vcxproj57
-rw-r--r--src/thirdparty/tinyxml2/tinyxml2.vcxproj.filters21
-rw-r--r--src/thirdparty/unrar/archive.cpp15
-rw-r--r--src/thirdparty/unrar/archive.hpp2
-rw-r--r--src/thirdparty/unrar/arcread.cpp52
-rw-r--r--src/thirdparty/unrar/blake2s.cpp2
-rw-r--r--src/thirdparty/unrar/cmddata.cpp84
-rw-r--r--src/thirdparty/unrar/cmddata.hpp2
-rw-r--r--src/thirdparty/unrar/consio.cpp96
-rw-r--r--src/thirdparty/unrar/consio.hpp2
-rw-r--r--src/thirdparty/unrar/crc.cpp22
-rw-r--r--src/thirdparty/unrar/dll.cpp13
-rw-r--r--src/thirdparty/unrar/dll.hpp8
-rw-r--r--src/thirdparty/unrar/dll.rc12
-rw-r--r--src/thirdparty/unrar/errhnd.cpp16
-rw-r--r--src/thirdparty/unrar/errhnd.hpp7
-rw-r--r--src/thirdparty/unrar/extinfo.cpp8
-rw-r--r--src/thirdparty/unrar/extract.cpp164
-rw-r--r--src/thirdparty/unrar/extract.hpp2
-rw-r--r--src/thirdparty/unrar/filcreat.cpp12
-rw-r--r--src/thirdparty/unrar/file.cpp25
-rw-r--r--src/thirdparty/unrar/file.hpp1
-rw-r--r--src/thirdparty/unrar/filefn.cpp26
-rw-r--r--src/thirdparty/unrar/filefn.hpp2
-rw-r--r--src/thirdparty/unrar/filestr.cpp48
-rw-r--r--src/thirdparty/unrar/getbits.cpp2
-rw-r--r--src/thirdparty/unrar/getbits.hpp6
-rw-r--r--src/thirdparty/unrar/hash.cpp21
-rw-r--r--src/thirdparty/unrar/hash.hpp2
-rw-r--r--src/thirdparty/unrar/headers.hpp4
-rw-r--r--src/thirdparty/unrar/isnt.cpp2
-rw-r--r--src/thirdparty/unrar/isnt.hpp3
-rw-r--r--src/thirdparty/unrar/list.cpp62
-rw-r--r--src/thirdparty/unrar/loclang.hpp14
-rw-r--r--src/thirdparty/unrar/options.hpp6
-rw-r--r--src/thirdparty/unrar/pathfn.cpp81
-rw-r--r--src/thirdparty/unrar/pathfn.hpp4
-rw-r--r--src/thirdparty/unrar/rar.cpp6
-rw-r--r--src/thirdparty/unrar/rardefs.hpp4
-rw-r--r--src/thirdparty/unrar/raros.hpp2
-rw-r--r--src/thirdparty/unrar/rdwrfn.cpp23
-rw-r--r--src/thirdparty/unrar/rdwrfn.hpp7
-rw-r--r--src/thirdparty/unrar/recvol.cpp75
-rw-r--r--src/thirdparty/unrar/recvol.hpp7
-rw-r--r--src/thirdparty/unrar/recvol3.cpp99
-rw-r--r--src/thirdparty/unrar/recvol5.cpp77
-rw-r--r--src/thirdparty/unrar/rs16.cpp2
-rw-r--r--src/thirdparty/unrar/rs16.hpp2
-rw-r--r--src/thirdparty/unrar/scantree.cpp165
-rw-r--r--src/thirdparty/unrar/scantree.hpp23
-rw-r--r--src/thirdparty/unrar/secpassword.cpp2
-rw-r--r--src/thirdparty/unrar/smallfn.cpp4
-rw-r--r--src/thirdparty/unrar/strfn.cpp65
-rw-r--r--src/thirdparty/unrar/strfn.hpp8
-rw-r--r--src/thirdparty/unrar/suballoc.cpp2
-rw-r--r--src/thirdparty/unrar/suballoc.hpp1
-rw-r--r--src/thirdparty/unrar/system.cpp54
-rw-r--r--src/thirdparty/unrar/system.hpp4
-rw-r--r--src/thirdparty/unrar/threadmisc.cpp24
-rw-r--r--src/thirdparty/unrar/timefn.cpp57
-rw-r--r--src/thirdparty/unrar/timefn.hpp5
-rw-r--r--src/thirdparty/unrar/uiconsole.cpp14
-rw-r--r--src/thirdparty/unrar/unicode.cpp8
-rw-r--r--src/thirdparty/unrar/unpack.cpp28
-rw-r--r--src/thirdparty/unrar/unpack.hpp14
-rw-r--r--src/thirdparty/unrar/unpack15.cpp8
-rw-r--r--src/thirdparty/unrar/unpack30.cpp72
-rw-r--r--src/thirdparty/unrar/unpack50.cpp17
-rw-r--r--src/thirdparty/unrar/unpack50mt.cpp10
-rw-r--r--src/thirdparty/unrar/unpackinline.cpp5
-rw-r--r--src/thirdparty/unrar/unrar.vcxproj53
-rw-r--r--src/thirdparty/unrar/unrar.vcxproj.filters2
-rw-r--r--src/thirdparty/unrar/version.hpp6
-rw-r--r--src/thirdparty/unrar/volume.cpp3
-rw-r--r--src/thirdparty/unrar/win32acl.cpp2
-rw-r--r--src/thirdparty/unrar/win32lnk.cpp6
-rw-r--r--src/thirdparty/unrar/win32stm.cpp11
-rw-r--r--src/thirdparty/versions.txt16
-rw-r--r--src/thirdparty/zita-resampler/zita-resampler.vcxproj2
-rw-r--r--src/thirdparty/zlib/ChangeLog55
-rw-r--r--src/thirdparty/zlib/README6
-rw-r--r--src/thirdparty/zlib/adler32.c21
-rw-r--r--src/thirdparty/zlib/compress.c42
-rw-r--r--src/thirdparty/zlib/crc32.c41
-rw-r--r--src/thirdparty/zlib/deflate.c802
-rw-r--r--src/thirdparty/zlib/deflate.h35
-rw-r--r--src/thirdparty/zlib/gzguts.h23
-rw-r--r--src/thirdparty/zlib/gzlib.c31
-rw-r--r--src/thirdparty/zlib/gzread.c156
-rw-r--r--src/thirdparty/zlib/gzwrite.c332
-rw-r--r--src/thirdparty/zlib/infback.c4
-rw-r--r--src/thirdparty/zlib/inffast.c85
-rw-r--r--src/thirdparty/zlib/inflate.c123
-rw-r--r--src/thirdparty/zlib/inflate.h11
-rw-r--r--src/thirdparty/zlib/inftrees.c26
-rw-r--r--src/thirdparty/zlib/minizip/crypt.h131
-rw-r--r--src/thirdparty/zlib/minizip/ioapi.c247
-rw-r--r--src/thirdparty/zlib/minizip/ioapi.h208
-rw-r--r--src/thirdparty/zlib/minizip/iowin32.c462
-rw-r--r--src/thirdparty/zlib/minizip/iowin32.h28
-rw-r--r--src/thirdparty/zlib/minizip/unzip.c2125
-rw-r--r--src/thirdparty/zlib/minizip/unzip.h437
-rw-r--r--src/thirdparty/zlib/minizip/zip.c2007
-rw-r--r--src/thirdparty/zlib/minizip/zip.h362
-rw-r--r--src/thirdparty/zlib/trees.c99
-rw-r--r--src/thirdparty/zlib/uncompr.c98
-rw-r--r--src/thirdparty/zlib/zconf.h41
-rw-r--r--src/thirdparty/zlib/zlib.h452
-rw-r--r--src/thirdparty/zlib/zlib.vcxproj55
-rw-r--r--src/thirdparty/zlib/zlib.vcxproj.filters8
-rw-r--r--src/thirdparty/zlib/zutil.c49
-rw-r--r--src/thirdparty/zlib/zutil.h52
-rwxr-xr-xupdate_version.bat2
729 files changed, 57383 insertions, 28565 deletions
diff --git a/.gitignore b/.gitignore
index 09dd071c7..be2de54b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
*.aps
*.db
*.old
+*.opendb
*.opensdf
*.psess
*.pyc
diff --git a/.gitmodules b/.gitmodules
index 2b7488671..5d4048b77 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
+[submodule "bs2b"]
+ path = src/thirdparty/bs2b/libbs2b
+ url = https://github.com/alexmarsev/libbs2b.git
[submodule "LAVFilters"]
path = src/thirdparty/LAVFilters/src
url = https://github.com/mpc-hc/LAVFilters.git
@@ -7,22 +10,31 @@
[submodule "MediaInfoLib"]
path = src/thirdparty/MediaInfo/library
url = https://github.com/MediaArea/MediaInfoLib.git
+[submodule "NanoSVG"]
+ path = src/thirdparty/nanosvg
+ url = https://github.com/memononen/nanosvg.git
+[submodule "rapidjson"]
+ path = src/thirdparty/rapidjson
+ url = https://github.com/miloyip/rapidjson.git
[submodule "RARFileSource"]
path = src/thirdparty/RARFileSource/library
url = https://github.com/mpc-hc/rarfilesource.git
-[submodule "ZenLib"]
- path = src/thirdparty/ZenLib/library
- url = https://github.com/MediaArea/ZenLib.git
-[submodule "soxr"]
- path = src/thirdparty/soxr/libsoxr
- url = https://github.com/alexmarsev/soxr.git
-[submodule "bs2b"]
- path = src/thirdparty/bs2b/libbs2b
- url = https://github.com/alexmarsev/libbs2b.git
-[submodule "soundtouch"]
- path = src/thirdparty/SoundTouch/soundtouch
- url = https://github.com/alexmarsev/soundtouch.git
[submodule "sanear"]
path = src/thirdparty/sanear/sanear
url = https://github.com/alexmarsev/sanear.git
branch = core
+[submodule "soundtouch"]
+ path = src/thirdparty/SoundTouch/soundtouch
+ url = https://github.com/alexmarsev/soundtouch.git
+[submodule "soxr"]
+ path = src/thirdparty/soxr/libsoxr
+ url = https://github.com/alexmarsev/soxr.git
+[submodule "tinyxml2"]
+ path = src/thirdparty/tinyxml2/library
+ url = https://github.com/leethomason/tinyxml2.git
+[submodule "XmlRpc4Win"]
+ path = src/thirdparty/XmlRpc4Win
+ url = https://github.com/drtimcooper/XmlRpc4Win.git
+[submodule "ZenLib"]
+ path = src/thirdparty/ZenLib/library
+ url = https://github.com/MediaArea/ZenLib.git
diff --git a/Readme.md b/Readme.md
index e04b8f81f..d2da7a93e 100644
--- a/Readme.md
+++ b/Readme.md
@@ -20,6 +20,7 @@ See [CONTRIBUTING.md](/CONTRIBUTING.md) for more info.
## Main Features:
+
* Option to remove [tearing](https://en.wikipedia.org/wiki/Screen_tearing)
* Support for Windows Vista/7/8, including a 64-bit build
* Support for [EVR/EVR CP](https://en.wikipedia.org/wiki/Media_Foundation#Enhanced_Video_Renderer) (Enhanced Video Renderer)
@@ -31,15 +32,17 @@ See [CONTRIBUTING.md](/CONTRIBUTING.md) for more info.
* Multi-Monitor support
* Various [pixel shaders](https://en.wikipedia.org/wiki/Shader#Pixel_shaders)
* [Color management](https://en.wikipedia.org/wiki/Color_management)
-* 41 translations available
+* 42 translations available
## System Requirements:
+
* An SSE capable CPU
* Windows XP SP3, Vista, 7, 8, 8.1, 10 32-bit/64-bit
## Links:
+
* [Website](https://mpc-hc.org/)
* [Source code](https://github.com/mpc-hc)
* [Support Trac](https://trac.mpc-hc.org/)
@@ -63,26 +66,30 @@ MPC-HC makes use of the following third-party code:
| Project | License | Website |
| ----------------- | ------------------------- | ----------------- |
-| bs2b | MIT License | http://bs2b.sourceforge.net |
-| CSizingControlBar | - | http://www.datamekanix.com/sizecbar/ |
-| LAV Filters | GPLv2+ | https://github.com/Nevcairiel/LAVFilters |
-| libdivide | zlib License | http://libdivide.com/ |
-| Little CMS | MIT License | http://www.littlecms.com/ |
+| bs2b | MIT License | <http://bs2b.sourceforge.net> |
+| CSizingControlBar | - | <http://www.datamekanix.com/sizecbar/> |
+| LAV Filters | GPLv2+ | <https://github.com/Nevcairiel/LAVFilters> |
+| libdivide | zlib License | <http://libdivide.com/> |
+| Little CMS | MIT License | <http://www.littlecms.com/> |
| Logitech SDK | - | - |
-| MediaInfoLib | Simplified BSD License | https://mediaarea.net/MediaInfo |
-| Mhook | MIT License | https://github.com/martona/mhook |
-| MultiMon | CPOL | http://www.codeproject.com/Articles/3690/ |
-| QuickTime SDK | - | https://developer.apple.com/quicktime/ |
-| RARFileSource | GPLv2+ | http://www.v12pwr.com/RARFileSource/ |
+| MediaInfoLib | Simplified BSD License | <https://mediaarea.net/MediaInfo> |
+| Mhook | MIT License | <https://github.com/martona/mhook> |
+| MultiMon | CPOL | <http://www.codeproject.com/Articles/3690/> |
+| NanoSVG | zlib License | <https://github.com/memononen/nanosvg> |
+| QuickTime SDK | - | <https://developer.apple.com/quicktime/> |
+| RapidJSON | MIT License | <https://github.com/miloyip/rapidjson> |
+| RARFileSource | GPLv2+ | <http://www.v12pwr.com/RARFileSource/> |
| RealMedia SDK | - | - |
-| ResizableLib | Artistic License | https://sourceforge.net/projects/resizablelib/ |
-| sanear | LGPLv2.1 | https://github.com/alexmarsev/sanear |
-| Silk Icons | CC Attribution 2.5 | http://www.famfamfam.com/lab/icons/silk/ |
-| SoundTouch | LGPLv2.1 | http://www.surina.net/soundtouch/ |
-| soxr | LGPLv2.1+ | https://sourceforge.net/projects/soxr/ |
-| TreePropSheet | - | http://www.codeproject.com/Articles/3709/ |
-| UnRAR | freeware | http://www.rarlab.com/rar_add.htm |
-| VirtualDub | GPLv2+ | http://www.virtualdub.org/ |
-| ZenLib | zlib License | https://sourceforge.net/projects/zenlib/ |
-| zita-resampler | GPLv3 | http://kokkinizita.linuxaudio.org/linuxaudio/ |
-| zlib | zlib License | http://zlib.net/ |
+| ResizableLib | Artistic License | <https://github.com/ppescher/resizablelib> |
+| sanear | LGPLv2.1 | <https://github.com/alexmarsev/sanear> |
+| Silk Icons | CC Attribution 2.5 | <http://www.famfamfam.com/lab/icons/silk/> |
+| SoundTouch | LGPLv2.1 | <http://www.surina.net/soundtouch/> |
+| soxr | LGPLv2.1+ | <https://sourceforge.net/projects/soxr/> |
+| tinyxml2 | zlib License | <http://www.grinninglizard.com/tinyxml2/> |
+| TreePropSheet | - | <http://www.codeproject.com/Articles/3709/> |
+| UnRAR | freeware | <http://www.rarlab.com/rar_add.htm> |
+| VirtualDub | GPLv2+ | <http://www.virtualdub.org/> |
+| XmlRpc4Win | LGPLv2 | <https://github.com/drtimcooper/XmlRpc4Win> |
+| ZenLib | zlib License | <https://github.com/MediaArea/ZenLib> |
+| zita-resampler | GPLv3 | <http://kokkinizita.linuxaudio.org/linuxaudio/> |
+| zlib | zlib License | <http://zlib.net/> |
diff --git a/build.bat b/build.bat
index 8c4476b18..98d35d6db 100755
--- a/build.bat
+++ b/build.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2009-2015 see Authors.txt
+REM (C) 2009-2016 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -42,7 +42,7 @@ FOR %%G IN (%ARG%) DO (
IF /I "%%G" == "Win32" SET "PPLATFORM=Win32" & SET /A ARGPL+=1
IF /I "%%G" == "x86" SET "PPLATFORM=Win32" & SET /A ARGPL+=1
IF /I "%%G" == "x64" SET "PPLATFORM=x64" & SET /A ARGPL+=1
- IF /I "%%G" == "All" SET "CONFIG=All" & SET /A ARGC+=1
+ IF /I "%%G" == "All" SET "CONFIG=All" & SET /A ARGC+=1 & SET "NO_LITE=True"
IF /I "%%G" == "Main" SET "CONFIG=Main" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_ZIP=True"
IF /I "%%G" == "Filters" SET "CONFIG=Filters" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_LITE=True"
IF /I "%%G" == "Filter" SET "CONFIG=Filters" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_LITE=True"
@@ -55,7 +55,7 @@ FOR %%G IN (%ARG%) DO (
IF /I "%%G" == "Translations" SET "CONFIG=Translation" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_ZIP=True" & SET "NO_LITE=True"
IF /I "%%G" == "Debug" SET "BUILDCFG=Debug" & SET /A ARGBC+=1 & SET "NO_INST=True"
IF /I "%%G" == "Release" SET "BUILDCFG=Release" & SET /A ARGBC+=1
- IF /I "%%G" == "VS2013" SET "COMPILER=VS2013" & SET /A ARGCOMP+=1
+ IF /I "%%G" == "VS2015" SET "COMPILER=VS2015" & SET /A ARGCOMP+=1
IF /I "%%G" == "Packages" SET "PACKAGES=True" & SET /A VALID+=1
IF /I "%%G" == "Installer" SET "INSTALLER=True" & SET /A VALID+=1
IF /I "%%G" == "7z" SET "ZIP=True" & SET /A VALID+=1
@@ -82,7 +82,7 @@ IF %ARGB% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGB% == 0 (SET "BUILDTY
IF %ARGPL% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGPL% == 0 (SET "PPLATFORM=Both")
IF %ARGC% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGC% == 0 (SET "CONFIG=MPCHC")
IF %ARGBC% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGBC% == 0 (SET "BUILDCFG=Release")
-IF %ARGCOMP% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGCOMP% == 0 (SET "COMPILER=VS2013")
+IF %ARGCOMP% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGCOMP% == 0 (SET "COMPILER=VS2015")
IF /I "%PACKAGES%" == "True" SET "INSTALLER=True" & SET "ZIP=True"
@@ -91,8 +91,8 @@ IF /I "%ZIP%" == "True" IF "%NO_ZIP%" == "True" GOTO UnsupportedSwitch
IF /I "%MPCHC_LITE%" == "True" IF "%NO_LITE%" == "True" GOTO UnsupportedSwitch
IF /I "%CLEAN%" == "LAVFilters" IF "%NO_LAV%" == "True" GOTO UnsupportedSwitch
-IF NOT DEFINED VS120COMNTOOLS GOTO MissingVar
-SET "TOOLSET=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
+IF NOT DEFINED VS140COMNTOOLS GOTO MissingVar
+SET "TOOLSET=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
SET "BIN_DIR=bin"
IF EXIST "%FILE_DIR%signinfo.txt" (
@@ -477,14 +477,14 @@ EXIT /B
TITLE %~nx0 Help
ECHO.
ECHO Usage:
-ECHO %~nx0 [Clean^|Build^|Rebuild] [x86^|x64^|Both] [Main^|Resources^|MPCHC^|IconLib^|Translations^|Filters^|API^|All] [Debug^|Release] [Lite] [Packages^|Installer^|7z] [LAVFilters] [VS2013] [Analyze]
+ECHO %~nx0 [Clean^|Build^|Rebuild] [x86^|x64^|Both] [Main^|Resources^|MPCHC^|IconLib^|Translations^|Filters^|API^|All] [Debug^|Release] [Lite] [Packages^|Installer^|7z] [LAVFilters] [VS2015] [Analyze]
ECHO.
ECHO Notes: You can also prefix the commands with "-", "--" or "/".
ECHO Debug only applies to mpc-hc.sln.
ECHO The arguments are not case sensitive and can be ommitted.
ECHO. & ECHO.
ECHO Executing %~nx0 without any arguments will use the default ones:
-ECHO "%~nx0 Build Both MPCHC Release VS2013"
+ECHO "%~nx0 Build Both MPCHC Release VS2015"
ECHO. & ECHO.
ECHO Examples:
ECHO %~nx0 x86 Resources -Builds the x86 resources
diff --git a/build/BuildConfig.vcxproj b/build/BuildConfig.vcxproj
index 5ab3bf490..e7631a9bb 100644
--- a/build/BuildConfig.vcxproj
+++ b/build/BuildConfig.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
diff --git a/contrib/astyle.ini b/contrib/astyle.ini
index cb0d3a09d..f3cb4528b 100644
--- a/contrib/astyle.ini
+++ b/contrib/astyle.ini
@@ -26,7 +26,6 @@
--align-pointer=type --align-reference=type
--close-templates
--add-brackets
---keep-one-line-blocks
--convert-tabs
--lineend=windows --preserve-date
--suffix=none
diff --git a/contrib/mpc-hc.cppcheck b/contrib/mpc-hc.cppcheck
index 17911bda9..4367061f7 100644
--- a/contrib/mpc-hc.cppcheck
+++ b/contrib/mpc-hc.cppcheck
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="1">
<root name="."/>
+ <importproject>../mpc-hc.sln</importproject>
<includedir>
<dir name="include/"/>
</includedir>
@@ -17,8 +18,6 @@
<suppression>cstyleCast</suppression>
<suppression>noExplicitConstructor</suppression>
<suppression>redundantAssignment</suppression>
- <suppression>unreadVariable</suppression>
- <suppression>unusedPrivateFunction</suppression>
<suppression>variableScope</suppression>
</suppressions>
</project>
diff --git a/contrib/run_astyle.bat b/contrib/run_astyle.bat
index e90f69bfb..08e4b05d5 100755
--- a/contrib/run_astyle.bat
+++ b/contrib/run_astyle.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2012-2015 see Authors.txt
+REM (C) 2012-2016 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -30,7 +30,8 @@ CALL :SubCheckVer || GOTO End
TITLE Running astyle using %FILE_DIR%astyle.ini
IF "%~1" == "" (
- astyle -r --options=astyle.ini ..\*.h ..\*.cpp
+ astyle -r --options=astyle.ini ..\*.cpp
+ astyle -r --options=astyle.ini --keep-one-line-blocks ..\*.h
) ELSE (
FOR %%G IN (%*) DO astyle --options=astyle.ini %%G
)
diff --git a/contrib/sign.bat b/contrib/sign.bat
index a232875da..006e26fb6 100755
--- a/contrib/sign.bat
+++ b/contrib/sign.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2013, 2015 see Authors.txt
+REM (C) 2013, 2015-2016 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -26,8 +26,8 @@ IF "%~1" == "" (
GOTO END
)
-IF NOT DEFINED VS120COMNTOOLS (
- ECHO %~nx0: Visual Studio 2013 does not seem to be installed...
+IF NOT DEFINED VS140COMNTOOLS (
+ ECHO %~nx0: Visual Studio 2015 does not seem to be installed...
SET SIGN_ERROR=True
GOTO END
)
@@ -38,13 +38,7 @@ IF NOT EXIST "%FILE_DIR%..\signinfo.txt" (
GOTO END
)
-SET SIGN_CMD=
-SET /P SIGN_CMD=<"%FILE_DIR%..\signinfo.txt"
-
-TITLE Signing "%~1"...
-ECHO. & ECHO Signing "%~1"...
-
-signtool /? 2>NUL || CALL "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" 2>NUL
+signtool /? 2>NUL || CALL "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" 2>NUL
IF %ERRORLEVEL% NEQ 0 (
ECHO vcvarsall.bat call failed.
GOTO End
@@ -52,21 +46,7 @@ IF %ERRORLEVEL% NEQ 0 (
REM Repeat n times when signing fails
SET REPEAT=5
-SET TRY=0
-
-:SIGN
-signtool sign %SIGN_CMD% "%~1"
-SET /A TRY+=1
-IF %ERRORLEVEL% NEQ 0 (
- IF TRY LSS REPEAT (
- REM Wait 5 seconds before next try
- PING -n 5 127.0.0.1 >NUL
- GOTO SIGN
- )
- SET SIGN_ERROR=True
- GOTO END
-)
-
+FOR /F "delims=" %%A IN (%FILE_DIR%..\signinfo.txt) DO (SET "SIGN_CMD=%%A" && CALL :START_SIGN %1)
:END
IF /I "%SIGN_ERROR%" == "True" (
@@ -76,3 +56,21 @@ IF /I "%SIGN_ERROR%" == "True" (
)
ENDLOCAL
EXIT /B
+
+:START_SIGN
+IF /I "%SIGN_ERROR%" == "True" EXIT /B
+REM %1 is name of the file to sign
+TITLE Signing "%~1"...
+ECHO. & ECHO Signing "%~1"...
+SET TRY=0
+
+:SIGN
+SET /A TRY+=1
+signtool sign %SIGN_CMD% %1
+IF %ERRORLEVEL% EQU 0 EXIT /B
+IF %TRY% LSS %REPEAT% (
+ REM Wait 5 seconds before next try
+ PING -n 5 127.0.0.1 > NUL
+ GOTO SIGN
+)
+SET SIGN_ERROR=True
diff --git a/distrib/Languages/Armenian.islu b/distrib/Languages/Armenian.islu
deleted file mode 100644
index 7f6b9cee0..000000000
--- a/distrib/Languages/Armenian.islu
+++ /dev/null
@@ -1,331 +0,0 @@
-; *** Inno Setup version 5.5.3+ Armenian messages ***
-;
-; Armenian translation by Hrant Ohanyan
-; E-mail: h.ohanyan@haysoft.org
-; Translation home page: http://www.haysoft.org
-; Last modification date: 2015-10-19
-;
-[LangOptions]
-LanguageName=Armenian
-LanguageID=$042B
-LanguageCodePage=0
-; If the language you are translating to requires special font faces or
-; sizes, uncomment any of the following entries and change them accordingly.
-;DialogFontName=
-;DialogFontSize=8
-;WelcomeFontName=Verdana
-;WelcomeFontSize=12
-;TitleFontName=Arial
-;TitleFontSize=29
-;CopyrightFontName=Arial
-;CopyrightFontSize=8
-
-[Messages]
-
-; *** Application titles
-SetupAppTitle=Տեղակայում
-SetupWindowTitle=%1-ի տեղակայում
-UninstallAppTitle=Ջնջում
-UninstallAppFullTitle=%1-ի ջնջում
-
-; *** Misc. common
-InformationTitle=Տեղեկություն
-ConfirmTitle=Հաստատել
-ErrorTitle=Սխալ
-
-; *** SetupLdr messages
-SetupLdrStartupMessage=Այս ծրագիրը կտեղադրի %1-ը Ձեր համակարգչում։ Շարունակե՞լ։
-LdrCannotCreateTemp=Հնարավոր չէ ստեղծել ժամանակավոր ֆայլ։ Տեղակայումը կասեցված է
-LdrCannotExecTemp=Հնարավոր չէ կատարել ֆայլը ժամանակավոր թղթապանակից։ Տեղակայումը կասեցված է
-
-; *** Startup error messages
-LastErrorMessage=%1.%n%nՍխալ %2: %3
-SetupFileMissing=%1 ֆայլը բացակայում է տեղադրման թղթապանակից։ Ուղղեք խնդիրը կամ ստացեք ծրագրի նոր տարբերակը։
-SetupFileCorrupt=Տեղակայման ֆայլերը վնասված են։
-SetupFileCorruptOrWrongVer=Տեղակայման ֆայլերը վնասված են կամ անհամատեղելի են տեղակայիչի այս տարբերակի հետ։ Ուղղեք խնդիրը կամ ստացեք ծրագրի նոր տարբերակը։
-InvalidParameter=Հրամանատողում նշված է սխալ հրաման.%n%n%1
-SetupAlreadyRunning=Տեղակայիչը արդեն աշխատում է։
-WindowsVersionNotSupported=Ծրագիրը չի աջակցում այս համակարգչում աշխատող Windows-ի տարբերակը։
-WindowsServicePackRequired=Ծրագիրը պահանջում է %1-ի Service Pack %2 կամ ավելի նոր։
-NotOnThisPlatform=Այս ծրագիրը չի աշխատի %1-ում։
-OnlyOnThisPlatform=Այս ծրագիրը հնարավոր է բացել միայն %1-ում։
-OnlyOnTheseArchitectures=Այս ծրագրի տեղակյաումը հնարավոր է միայն Windows-ի մշակիչի հետևյալ կառուցվածքներում՝ %n%n%1
-MissingWOW64APIs=Windows-ի Ձեր տարբերակում բացակայում է 64 բիթանոց տեղակայման համար պահանջվող ֆունկցիաները։ Դրա համար Դուք պետք է տեղակայեք թարմացումների հետևյալ փաթեթը (Service Pack)՝ %1։
-WinVersionTooLowError=Այս ծրագիրը պահանջում է %1-ի տարբերակ %2 կամ ավելի նոր։
-WinVersionTooHighError=Ծրագիրը չի կարող տեղակայվել %1-ի տարբերակ %2 կամ ավելի նորում
-AdminPrivilegesRequired=Ծրագիրը տեղակայելու համար պահանջվում են Ադմինի իրավունքներ։
-PowerUserPrivilegesRequired=Ծրագիրը տեղակայելու համար պետք է մուտք գործել համակարգ որպես Ադմին կամ «Փորձառու օգտագործող» (Power Users).
-SetupAppRunningError=Տեղակայիչը հայտնաբերել է, որ %1-ը աշխատում է։%n%nՓակեք այն և սեղմեք «ԼԱՎ»՝ շարունակելու համար կամ «Չեղարկել»՝ փակելու համար։
-UninstallAppRunningError=Ջնջող ծրագիրը հայտնաբերել է, որ %1-ը աշխատում է։%n%nՓակեք այն և սեղմեք «ԼԱՎ»՝ շարունակելու համար կամ «Չեղարկել»՝ փակելու համար։
-
-; *** Misc. errors
-ErrorCreatingDir=Հնարավոր չէ ստեղծել "%1" թղթապանակը
-ErrorTooManyFilesInDir=Հնարավոր չէ ստեղծել ֆայլ "%1" թղթապանակում, որովհետև նրանում կան չափից ավելի շատ ֆայլեր
-
-; *** Setup common messages
-ExitSetupTitle=Տեղակայման ընդհատում
-ExitSetupMessage=Տեղակայումը չի ավարատվել։ Եթե ընդհատեք, ապա ծրագիրը չի տեղակայվի։%n%nԱվարտե՞լ։
-AboutSetupMenuItem=&Ծրագրի մասին...
-AboutSetupTitle=Ծրագրի մասին
-AboutSetupMessage=%1, տարբերակ՝ %2%n%3%n%nՎեբ կայքը %1:%n%4
-AboutSetupNote=
-TranslatorNote=Armenian translation by Hrant Ohanyan »»» http://www.haysoft.org
-
-; *** Buttons
-ButtonBack=« &Նախորդ
-ButtonNext=&Հաջորդ »
-ButtonInstall=&Տեղադրել
-ButtonOK=ԼԱՎ
-ButtonCancel=Չեղարկել
-ButtonYes=&Այո
-ButtonYesToAll=Այո բոլորի &համար
-ButtonNo=&Ոչ
-ButtonNoToAll=Ո&չ բոլորի համար
-ButtonFinish=&Ավարտել
-ButtonBrowse=&Ընտրել...
-ButtonWizardBrowse=&Ընտրել...
-ButtonNewFolder=&Ստեղծել թղթապանակ
-
-; *** "Select Language" dialog messages
-SelectLanguageTitle=Ընտրել տեղակայիչի լեզուն
-SelectLanguageLabel=Ընտրեք այն լեզուն, որը օգտագործվելու է տեղակայման ընթացքում.
-
-; *** Common wizard text
-ClickNext=Սեղմեք «Հաջորդ»՝ շարունակելու համար կամ «Չեղարկել»՝ տեղակայիչը փակելու համար։
-BeveledLabel=
-BrowseDialogTitle=Ընտրել թղթապանակ
-BrowseDialogLabel=Ընտրեք թղթապանակը ցանկից և սեղմեք «ԼԱՎ»։
-NewFolderName=Նոր թղթապանակ
-
-; *** "Welcome" wizard page
-WelcomeLabel1=Ձեզ ողջունում է [name]-ի տեղակայման օգնականը
-WelcomeLabel2=Ծրագիրը կտեղակայի [name/ver]-ը Ձեր համակարգչում։%n%nՇարունակելուց առաջ խորհուրդ ենք տալիս փակել բոլոր աշխատող ծրագրերը։
-
-; *** "Password" wizard page
-WizardPassword=Գաղտնաբառ
-PasswordLabel1=Ծրագիրը պաշտպանված է գաղտնաբառով։
-PasswordLabel3=Մուտքագրեք գաղտնաբառը և սեղմեք «Հաջորդ»։
-PasswordEditLabel=&Գաղտնաբառը.
-IncorrectPassword=Մուտքագրված գաղտնաբառը սխալ է, կրկին փորձեք։
-
-; *** "License Agreement" wizard page
-WizardLicense=Արտոնագրային համաձայնություն
-LicenseLabel=Խնդրում ենք շարունակելուց առաջ կարդալ հետևյալ տեղեկությունը։
-LicenseLabel3=Կարդացեք արտոնագրային համաձայնությունը։ Շարունակելուց առաջ Դուք պետք է ընդունեք նշված պայմանները։
-LicenseAccepted=&Ընդունում եմ արտոնագրային համաձայնությունը
-LicenseNotAccepted=&Չեմ ընդունում արտոնագրային համաձայնությունը
-
-; *** "Information" wizard pages
-WizardInfoBefore=Տեղեկություն
-InfoBeforeLabel=Շարունակելուց առաջ կարդացեք այս տեղեկությունը։
-InfoBeforeClickLabel=Եթե պատրաստ եք սեղմեք «Հաջորդ»։
-WizardInfoAfter=Տեղեկություն
-InfoAfterLabel=Շարունակելուց առաջ կարդացեք այս տեղեկությունը։
-InfoAfterClickLabel=Երբ պատրաստ լինեք շարունակելու՝ սեղմեք «Հաջորդ»։
-
-; *** "User Information" wizard page
-WizardUserInfo=Տեղեկություն օգտվողի մասին
-UserInfoDesc=Գրեք տվյալներ Ձեր մասին
-UserInfoName=&Օօգտվողի անուն և ազգանուն.
-UserInfoOrg=&Կազմակերպություն.
-UserInfoSerial=&Հերթական համար.
-UserInfoNameRequired=Պետք է գրեք Ձեր անունը։
-
-; *** "Select Destination Location" wizard page
-WizardSelectDir=Ընտրեք տեղակայման թղթապանակը
-SelectDirDesc=Ո՞ր թղթապանակում տեղադրել [name]-ը։
-SelectDirLabel3=Ծրագիրը կտեղադրի [name]-ը հետևյալ թղթապանակում։
-SelectDirBrowseLabel=Սեղմեք «Հաջորդ»՝ շարունակելու համար։ Եթե ցանկանում եք ընտրել այլ թղթապանակ՝ սեղմեք «Ընտրել»։
-DiskSpaceMBLabel=Պահանջվում է առնվազն [mb] ՄԲ ազատ տեղ։
-CannotInstallToNetworkDrive=Հնարավոր չէ տեղադրել Ցանցային սկավառակում։
-CannotInstallToUNCPath=Հնարավոր չէ տեղադրել UNC ուղիում։
-InvalidPath=Պետք է նշեք ամբողջական ուղին՝ սկավառակի տառով, օրինակ՝%n%nC:\APP%n%nկամ UNC ուղի՝ %n%n\\սպասարկիչի_անունը\ռեսուրսի_անունը
-InvalidDrive=Ընտրված սկավառակը կամ ցանցային ուղին գոյություն չունեն կամ անհասանելի են։ Ընտրեք այլ ուղի։
-DiskSpaceWarningTitle=Չկա պահանջվող չափով ազատ տեղ
-DiskSpaceWarning=Պահանջվում է առնվազն %1 ԿԲ ազատ տեղ, մինչդեռ հասանելի է ընդամենը %2 ԿԲ։%n%nԱյնուհանդերձ, շարունակե՞լ։
-DirNameTooLong=Թղթապանակի անունը կամ ուղին երկար են:
-InvalidDirName=Թղթապանակի նշված անունը անընդունելի է։
-BadDirName32=Անվան մեջ չպետք է լինեն հետևյալ գրանշանները՝ %n%n%1
-DirExistsTitle=Թղթապանակը գոյություն ունի
-DirExists=%n%n%1%n%n թղթապանակը արդեն գոյություն ունի։ Այնուհանդերձ, տեղադրե՞լ այստեղ։
-DirDoesntExistTitle=Թղթապանակ գոյություն չունի
-DirDoesntExist=%n%n%1%n%n թղթապանակը գոյություն չունի։ Ստեղծե՞լ այն։
-
-; *** "Select Components" wizard page
-WizardSelectComponents=Ընտրել բաղադրիչներ
-SelectComponentsDesc=Ո՞ր ֆայլերը պետք է տեղադրվեն։
-SelectComponentsLabel2=Ընտրեք այն ֆայլերը, որոնք պետք է տեղադրվեն, հանեք ընտրության նշանը այն ֆայլերից, որոնք չպետք է տեղադրվեն։ Սեղմեք «Հաջորդ»՝ շարունակելու համար։
-FullInstallation=Լրիվ տեղադրում
-; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
-CompactInstallation=Սեղմված տեղադրում
-CustomInstallation=Ընտրովի տեղադրում
-NoUninstallWarningTitle=Տեղակայվող ֆայլերը
-NoUninstallWarning=Տեղակայիչ ծրագիրը հայտնաբերել է, որ հետևյալ բաղադրիչները արդեն տեղադրված են Ձեր համակարգչում։ %n%n%1%n%nԱյս բաղադրիչների ընտրության վերակայումը չի ջնջի դրանք։%n%nՇարունակե՞լ։
-ComponentSize1=%1 ԿԲ
-ComponentSize2=%1 ՄԲ
-ComponentsDiskSpaceMBLabel=Տվյալ ընտրությունը պահանջում է ամենաքիչը [mb] ՄԲ տեղ սկավառակում:
-
-; *** "Select Additional Tasks" wizard page
-WizardSelectTasks=Լրացուցիչ առաջադրանքներ
-SelectTasksDesc=Ի՞նչ լրացուցիչ առաջադրանքներ պետք է կատարվեն։
-SelectTasksLabel2=Ընտրեք լրացուցիչ առաջադրանքներ, որոնք պետք է կատարվեն [name]-ի տեղակայման ընթացքում, ապա սեղմեք «Հաջորդ».
-
-; *** "Select Start Menu Folder" wizard page
-WizardSelectProgramGroup=Ընտրել «Start» ընտրացանկի թղթապանակը
-SelectStartMenuFolderDesc=Որտե՞ղ ստեղծել դյուրանցումներ.
-SelectStartMenuFolderLabel3=Ծրագիրը կստեղծի դյուրանցումներ «Start» ընտրացանկի հետևյալ թղթապանակում։
-SelectStartMenuFolderBrowseLabel=Սեղմեք «Հաջորդ»՝ շարունակելու համար։ Եթե ցանկանում եք ընտրեք այլ թղթապանակ՝ սեղմեք «Ընտրել»։
-MustEnterGroupName=Պետք է գրեք թղթապանակի անունը։
-GroupNameTooLong=Թղթապանակի անունը կամ ուղին շատ երկար են։
-InvalidGroupName=Նշված անունը անընդունելի է։
-BadGroupName=Անվան մեջ չպետք է լինեն հետևյալ գրանշանները՝ %n%n%1
-NoProgramGroupCheck2=&Չստեղծել թղթապանակ «Start» ընտրացանկում
-
-; *** "Ready to Install" wizard page
-WizardReady=Պատրաստ է տեղադրելուն
-ReadyLabel1=Տեղակայիչը պատրաստ է սկսել [name]-ի տեղադրումը։
-ReadyLabel2a=Սեղմեք «Տեղադրել»՝ շարունակելու համար կամ «Նախորդ»՝ եթե ցանկանում եք դիտել կամ փոփոխել տեղադրելու կարգավորումները։
-ReadyLabel2b=Սեղմեք «Տեղադրել»՝ շարունակելու համար։
-ReadyMemoUserInfo=Տեղեկություն օգվողի մասին.
-ReadyMemoDir=Տեղադրելու թղթապանակ.
-ReadyMemoType=Տեղադրման ձև.
-ReadyMemoComponents=Ընտրել բաղադրիչներ.
-ReadyMemoGroup=Թղթապանակ «Start» ընտրացանկում.
-ReadyMemoTasks=Լրացուցիչ առաջադրանքներ.
-
-; *** "Preparing to Install" wizard page
-WizardPreparing=Նախատրաստում է տեղադրումը
-PreparingDesc=Տեղակայիչը նախպատրաստվում է տեղադրել [name]-ը ձեր համակարգչում։
-PreviousInstallNotCompleted=Այլ ծրագրի տեղադրումը կամ ջնջումը չի ավարտվել։ Այն ավարտելու համար պետք է վերագործարկեք համակարգիչը։%n%nՎերագործարկելուց հետո կրկին բացեք տեղակայման փաթեթը՝ [name]-ի տեղադրումը ավարտելու համար։
-CannotContinue=Հնարավոր չէ շարունակել։ Սեղմեք «Չեղարկել»՝ ծրագիրը փակելու համար։
-ApplicationsFound=Հետևյալ ծրագրերը օգտագործում են ֆայլեր, որոնք պետք է թարմացվեն տեղակայիչի կողմից։ Թույլատրեք տեղակայիչին ինքնաբար փակելու այդ ծրագրերը։
-ApplicationsFound2=Հետևյալ ծրագրերը օգտագործում են ֆայլեր, որոնք պետք է թարմացվեն տեղակայիչի կողմից։ Թույլատրեք տեղակայիչին ինքնաբար փակելու այդ ծրագրերը։ Տեղադրումը ավարտելուց հետո տեղակայիչը կփորձի վերագործարկել այդ ծրագրերը։
-CloseApplications=&Ինքնավար փակել ծրագրերը
-DontCloseApplications=&Չփակել ծրագրերը
-
-; *** "Installing" wizard page
-WizardInstalling=Տեղադրում
-InstallingLabel=Խնդրում ենք սպասել մինչ [name]-ը կտեղադրվի Ձեր համակարգչում։
-
-; *** "Setup Completed" wizard page
-FinishedHeadingLabel=[name]-ի տեղադրման ավարտ
-FinishedLabelNoIcons=[name] ծրագիրը տեղադրվել է Ձեր համակարգչում։
-FinishedLabel=[name] ծրագիրը տեղադրվել է Ձեր համակարգչում։
-ClickFinish=Սեղմեք «Ավարտել»՝ տեղակայիչը փակելու համար։
-FinishedRestartLabel=[name]-ի տեղադրումը ավարտելու համար պետք է վերագործարկել համակարգիչը։ Վերագործարկե՞լ հիմա։
-FinishedRestartMessage=[name]-ի տեղադրումը ավարտելու համար պետք է վերագործարկել համակարգիչը։ %n%nՎերագործարկե՞լ հիմա։
-ShowReadmeCheck=Նայել README ֆայլը։
-YesRadio=&Այո, վերագործարկել
-NoRadio=&Ոչ, ես հետո վերագործարկեմ
-; used for example as 'Run MyProg.exe'
-RunEntryExec=Աշխատեցնել %1-ը
-; used for example as 'View Readme.txt'
-RunEntryShellExec=Նայել %1-ը
-
-; *** "Setup Needs the Next Disk" stuff
-ChangeDiskTitle=Տեղակայիչը պահանջում է հաջորդ սկավառակը
-SelectDiskLabel2=Զետեղեք %1 սկավառակը և սեղմեք «ԼԱՎ»։ %n%nԵթե ֆայլերի թղթապանակը գտնվում է այլ տեղ, ապա ընտրեք ճիշտ ուղին կամ սեղմեք «Ընտրել»։
-PathLabel=&Ուղին.
-FileNotInDir2="%1" ֆայլը չի գտնվել "%2"-ում։ Զետեղեք ճիշտ սկավառակ կամ ընտրեք այլ թղթապանակ։
-SelectDirectoryLabel=Խնդրում ենք նշել հաջորդ սկավառակի տեղադրույթունը։
-
-; *** Installation phase messages
-SetupAborted=Տեղակայումը չի ավարտվել։ %n%nՈւղղեք խնդիրը և կրկին փորձեք։
-EntryAbortRetryIgnore=Սեղմեք «Կրկնել»՝ կրկին փորձելու համար, «Անտեսել»՝ ֆայլը բաց թողնելու համար, կամ «Ընդհատել»՝ տեղակայումը չեղարկելու համար։
-
-; *** Installation status messages
-StatusClosingApplications=Փակում է ծրագրերը...
-StatusCreateDirs=Թղթապանակների ստեղծում...
-StatusExtractFiles=Ֆայլերի դուրս բերում...
-StatusCreateIcons=Դյուրանցումների ստեղծում...
-StatusCreateIniEntries=INI ֆայլերի ստեղծում...
-StatusCreateRegistryEntries=Գրանցատեղի գրանցումների ստեղծում...
-StatusRegisterFiles=Ֆայլերի գրանցում...
-StatusSavingUninstall=Ջնջելու տեղեկության պահում...
-StatusRunProgram=Տեղադրման ավարտ...
-StatusRestartingApplications=Ծրագրերի վերագործարկում...
-StatusRollback=Փոփոխությունների ետ բերում...
-
-; *** Misc. errors
-ErrorInternal2=Ներքին սխալ %1
-ErrorFunctionFailedNoCode=%1. վթար
-ErrorFunctionFailed=%1. վթար, կոդը՝ %2
-ErrorFunctionFailedWithMessage=%1. վթար, կոդը՝ %2.%n%3
-ErrorExecutingProgram=Հնարավոր չէ կատարել %n%1 ֆայլը
-
-; *** Registry errors
-ErrorRegOpenKey=Գրանցատեղի բանալին բացելու սխալ՝ %n%1\%2
-ErrorRegCreateKey=Գրանցատեղի բանալին ստեղծելու սխալ՝ %n%1\%2
-ErrorRegWriteKey=Գրանցատեղի բանալում գրանցում անելու սխալ՝ %n%1\%2
-
-; *** INI errors
-ErrorIniEntry=Սխալ՝ "%1" INI ֆայլում գրառում կատարելիս։
-
-; *** File copying errors
-FileAbortRetryIgnore=Սեղմեք «Կրկնել»՝ կրկնելու համար, «Անտեսել»՝ ֆայլը բաց թողնելու համար (խորհուրդ չի տրվում) կամ «Ընդհատել»՝ փակելու համար։
-FileAbortRetryIgnore2=Սեղմեք «Կրկնել»՝ կրկնելու համար, «Անտեսել»՝ շաունակելու համար (խորհուրդ չի տրվում) կամ «Ընդհատել»՝ փակելու համար։
-SourceIsCorrupted=Նախնական ֆայլը վնասված է։
-SourceDoesntExist=Նախնական "%1" ֆայլը գոյություն չունի
-ExistingFileReadOnly=Գոյություն ունեցող ֆայլը նշված է միայն կարդալու համար է:%n%nՍեղմեք «Կրկնել»՝ ջնջելու համար միայն կարդալու համար հատկանիշը, «Անտեսել»՝ ֆայլը բաց թողնելու համար «Ընդհատել»՝ փակելու համար։
-ErrorReadingExistingDest=Սխալ՝ ֆայլը կարդալիս.
-FileExists=Ֆայլը գոյություն չունի։%n%nՎերագրե՞լ։
-ExistingFileNewer=Առկա ֆայլը ավելի նոր է, քան տեղադրվողը։ Խորհուրդ ենք տալիս պահել առկա ֆայլը։ %n%nՊահե՞լ առկա ֆայլը։
-ErrorChangingAttr=Սխալ՝ ընթացիկ ֆայլի հատկանիշները փոխելիս.
-ErrorCreatingTemp=Սխալ՝ նշված թղթապանակում ֆայլ ստեղծելիս.
-ErrorReadingSource=Սխալ՝ ֆայլը կարդալիս.
-ErrorCopying=Սխալ՝ ֆայլը պատճենելիս.
-ErrorReplacingExistingFile=Սխալ՝ գոյություն ունեցող ֆայլը փոխարինելիս.
-ErrorRestartReplace=RestartReplace ձախողում.
-ErrorRenamingTemp=Սխալ՝ նպատակակետ թղթապանակում՝ ֆայլը վերանվանելիս.
-ErrorRegisterServer=Հնարավոր չէ գրանցել DLL/OCX-ը. %1
-ErrorRegSvr32Failed=RegSvr32-ի ձախողում, կոդ՝ %1
-ErrorRegisterTypeLib=Հնարավոր չէ գրանցել շտեմարանները՝ %1
-
-; *** Post-installation errors
-ErrorOpeningReadme=Սխալ՝ README ֆայլը բացելիս։
-ErrorRestartingComputer=Հնարավոր չեղավ վերագործարկել համակարգիչը։ Ինքներդ փորձեք։
-
-; *** Uninstaller messages
-UninstallNotFound="%1" ֆայլը գոյություն չունի։ Հնարավոր չէ ջնջել։
-UninstallOpenError="%1" ֆայլը հնարավոր չէ բացել: Հնարավոր չէ ջնջել
-UninstallUnsupportedVer="%1"-ը ջնջելու մատյանի ֆայլը անճանաչելի է ջնջող ծրագրի այս տարբերակի համար։ Հնարավոր չէ ջնջել
-UninstallUnknownEntry=Անհայտ գրառում է (%1)՝ հայնաբերվել ջնջելու մատյանում
-ConfirmUninstall=Ջնջե՞լ %1-ը և նրա բոլոր բաղադրիչները։
-UninstallOnlyOnWin64=Հնարավոր է ջնջել միայն 64 բիթանոց Windows-ում։
-OnlyAdminCanUninstall=Հնարավոր է ջնջվել միայն Ադմինի իրավունքներով։
-UninstallStatusLabel=Խնդրում ենք սպասել, մինչև %1-ը ջնջվում է Ձեր համակարգչից։
-UninstalledAll=%1 ծրագիրը ջնջվել է համակարգչից։
-UninstalledMost=%1-ը ջնջվեց Ձեր համակարգչից։%n%nՈրոշ ֆայլեր հնարավոր չեղավ ջնջել։ Ինքներդ ջնջեք դրանք։
-UninstalledAndNeedsRestart=%1-ի ջնջումը ավարտելու համար պետք է վերագործարկել համակարգիչը։%n%nՎերագործարկե՞լ։
-UninstallDataCorrupted="%1" ֆայլը վնասված է։ Հնարավոր չէ ջնջել
-
-; *** Uninstallation phase messages
-ConfirmDeleteSharedFileTitle=Ջնջե՞լ համատեղ օգտագործվող ֆայլը։
-ConfirmDeleteSharedFile2=Համակարգը նշում է, որ հետևյալ համատեղ օգտագործվող ֆայլը այլևս չի օգտագործվում այլ ծրագրի կողմից։ Ջնջե՞լ այն։ %n%nԵթե համոզված չեք սեղմեք «Ոչ»։
-SharedFileNameLabel=Ֆայլի անուն.
-SharedFileLocationLabel=Տեղադրություն.
-WizardUninstalling=Ջնջելու վիճակ
-StatusUninstalling=%1-ի ջնջում...
-
-; *** Shutdown block reasons
-ShutdownBlockReasonInstallingApp=%1-ի տեղադրում։
-ShutdownBlockReasonUninstallingApp=%1-ի ջնջում։
-
-; The custom messages below aren't used by Setup itself, but if you make
-; use of them in your scripts, you'll want to translate them.
-
-[CustomMessages]
-
-NameAndVersion=%1 տարբերակ՝ %2
-AdditionalIcons=Լրացուցիչ դյուրանցումներ
-CreateDesktopIcon=Ստեղծել դյուրանցումը &Աշխատասեղանին
-CreateQuickLaunchIcon=Ստեղծել դյուրանցումը &Արագ թողարկման գոտում
-ProgramOnTheWeb=%1-ի վեբ կայքը
-UninstallProgram=Ջնջել %1-ը
-LaunchProgram=Բացել %1-ը
-AssocFileExtension=Ասո&ցիացնել %1-ը %2 ֆայլերի հետ։
-AssocingFileExtension=%1-ը ասոցիացվում է ֆայլերի %2 ընդլայնումների հետ...
-AutoStartProgramGroupDescription=Ինքնամեկնարկ.
-AutoStartProgram=Ինքնաբար մեկնարկել %1-ը
-AddonHostProgramNotFound=%1 չի կարող տեղադրվել Ձեր ընտրած թղթապանակում։%n%nՇարունակե՞լ։
-
diff --git a/distrib/Languages/Belarusian.isl b/distrib/Languages/Belarusian.isl
index 584417331..25f616df8 100644
--- a/distrib/Languages/Belarusian.isl
+++ b/distrib/Languages/Belarusian.isl
@@ -1,337 +1,319 @@
-;Paval Shalamitski
-; *** Inno Setup version 5.5.0+ Belarusian (classical orthography) messages ***
-; Translated from English in 2012 by Paval 'Klyok' Shalamitski (i.kliok@gmail.com)
+; *** Inno Setup version 5.5.3+ Belarusian messages ***
;
-; To download user-contributed translations of this file, go to:
-; http://www.jrsoftware.org/files/istrans/
-;
-; Note: When translating this text, do not add periods (.) to the end of
-; messages that didn't have them already, because on those messages Inno
-; Setup adds the periods automatically (appending a period would result in
-; two periods being displayed).
+; Translated by Aleg Azarousky, http://belazar.info/belsoft/
+; E-mail: olegtut@tut.by
[LangOptions]
-; The following three entries are very important. Be sure to read and
-; understand the '[LangOptions] section' topic in the help file.
LanguageName=<0411><0435><043B><0430><0440><0443><0441><043A><0430><044F>
LanguageID=$0423
LanguageCodePage=1251
-; If the language you are translating to requires special font faces or
-; sizes, uncomment any of the following entries and change them accordingly.
-;DialogFontName=
-;DialogFontSize=8
-;WelcomeFontName=Verdana
-;WelcomeFontSize=12
-;TitleFontName=Arial
-;TitleFontSize=29
-;CopyrightFontName=Arial
-;CopyrightFontSize=8
[Messages]
; *** Application titles
-SetupAppTitle=
-SetupWindowTitle= %1
-UninstallAppTitle=
-UninstallAppFullTitle= %1
+SetupAppTitle=
+SetupWindowTitle= %1
+UninstallAppTitle=
+UninstallAppFullTitle= %1
; *** Misc. common
-InformationTitle=
-ConfirmTitle=
-ErrorTitle=
+InformationTitle=
+ConfirmTitle=
+ErrorTitle=
; *** SetupLdr messages
-SetupLdrStartupMessage=븢 %1. ֳ ?
-LdrCannotCreateTemp= . 븢
-LdrCannotExecTemp= 븴. 븢
+SetupLdrStartupMessage= %1. ?
+LdrCannotCreateTemp= .
+LdrCannotExecTemp= . 븢
; *** Startup error messages
-LastErrorMessage=%1.%n%n %2: %3
-SetupFileMissing= 븴, 븢 , %1. .
-SetupFileCorrupt=, 븢 , . .
-SetupFileCorruptOrWrongVer=, 븢 , . .
-InvalidParameter= :%n%n%1
-SetupAlreadyRunning= .
-WindowsVersionNotSupported= Windows.
-WindowsServicePackRequired= %1 %2 .
-NotOnThisPlatform= %1.
-OnlyOnThisPlatform= %1.
-OnlyOnTheseArchitectures= Windows :%n%n%1
-MissingWOW64APIs= Windows, , 븢 64- . , (Service Pack) %1.
-WinVersionTooLowError= %1 %2 .
-WinVersionTooHighError= %1 %2 .
-AdminPrivilegesRequired= , ().
-PowerUserPrivilegesRequired= , () 곻.
-SetupAppRunningError= , %1.%n%n %1 , . , .
-UninstallAppRunningError= , %1.%n%n %1 , . , .
+LastErrorMessage=%1.%n%n %2: %3
+SetupFileMissing= %1 . , , .
+SetupFileCorrupt= 븢 . , .
+SetupFileCorruptOrWrongVer= 븢 븢. , , .
+InvalidParameter= :%n%n%1
+SetupAlreadyRunning= .
+WindowsVersionNotSupported= Windows .
+WindowsServicePackRequired= %1 Service Pack %2 .
+NotOnThisPlatform= %1.
+OnlyOnThisPlatform= %1.
+OnlyOnTheseArchitectures= Windows :%n%n%1
+MissingWOW64APIs= Windows 64- . , (Service Pack) %1.
+WinVersionTooLowError= %1 %2 .
+WinVersionTooHighError= %1 %2 .
+AdminPrivilegesRequired= , .
+PowerUserPrivilegesRequired= , .
+SetupAppRunningError=, %1!%n%n , , - .
+UninstallAppRunningError=, %1!%n%n , , , - .
; *** Misc. errors
-ErrorCreatingDir= 븴 %1
-ErrorTooManyFilesInDir= 븴 %1: 븴
+ErrorCreatingDir= %1
+ErrorTooManyFilesInDir= %1,
; *** Setup common messages
-ExitSetupTitle=
-ExitSetupMessage= 븢. , .%n%n .%n%nֳ ?
-AboutSetupMenuItem=&
-AboutSetupTitle=
-AboutSetupMessage=%1 %2%n%3%n%n %1%n%4
+ExitSetupTitle=
+ExitSetupMessage= . , .%n%n 븢 , .%n%n 븢?
+AboutSetupMenuItem= ...
+AboutSetupTitle=
+AboutSetupMessage=%1, %2%n%3%n%n %1:%n%4
AboutSetupNote=
-TranslatorNote=
+TranslatorNote=Belarusian translation by Aleg Azarousky, http://belazar.info/belsoft/
; *** Buttons
-ButtonBack=< &
-ButtonNext=& >
+ButtonBack=< &
+ButtonNext=& >
ButtonInstall=&
ButtonOK=
-ButtonCancel=
+ButtonCancel=
ButtonYes=&
-ButtonYesToAll= &
+ButtonYesToAll= &
ButtonNo=&
-ButtonNoToAll= &
-ButtonFinish=&
-ButtonBrowse=&dz
-ButtonWizardBrowse=&
-ButtonNewFolder=& 븴
+ButtonNoToAll=&
+ButtonFinish=
+ButtonBrowse=&...
+ButtonWizardBrowse=&...
+ButtonNewFolder=&
; *** "Select Language" dialog messages
-SelectLanguageTitle=
-SelectLanguageLabel= , :
+SelectLanguageTitle= 븢
+SelectLanguageLabel= :
; *** Common wizard text
-ClickNext= , . , .
-BeveledLabel=
-BrowseDialogTitle=dz 븴
-BrowseDialogLabel= 븴 , .
-NewFolderName= 븴
+ClickNext= , - .
+BeveledLabel=InnoSetup
+BrowseDialogTitle=
+BrowseDialogLabel= .
+NewFolderName=
; *** "Welcome" wizard page
-WelcomeLabel1=³ 븢 [name]
-WelcomeLabel2= [name/ver].%n%n , 븢, .
+WelcomeLabel1= [name]
+WelcomeLabel2= [name/ver] .%n%n , .
; *** "Password" wizard page
WizardPassword=
-PasswordLabel1= , .
-PasswordLabel3= , . ( ).
+PasswordLabel1=븢 .
+PasswordLabel3= , . .
PasswordEditLabel=&:
-IncorrectPassword= . .
+IncorrectPassword=ճ . .
; *** "License Agreement" wizard page
-WizardLicense=˳
-LicenseLabel= , , .
-LicenseLabel3= . , .
-LicenseAccepted= &
-LicenseNotAccepted= &
+WizardLicense=˳
+LicenseLabel= , , .
+LicenseLabel3= , . .
+LicenseAccepted= &
+LicenseNotAccepted= &
; *** "Information" wizard pages
-WizardInfoBefore=
-InfoBeforeLabel= , , .
-InfoBeforeClickLabel= , , 븢.
-WizardInfoAfter=
-InfoAfterLabel= , , .
-InfoAfterClickLabel= , , 븢.
+WizardInfoBefore=
+InfoBeforeLabel= .
+InfoBeforeClickLabel= , .
+WizardInfoAfter=
+InfoAfterLabel= .
+InfoAfterClickLabel= , .
; *** "User Information" wizard page
-WizardUserInfo=
-UserInfoDesc= .
-UserInfoName=& :
-UserInfoOrg=&:
-UserInfoSerial=& :
-UserInfoNameRequired= .
+WizardUserInfo=
+UserInfoDesc= , .
+UserInfoName= :
+UserInfoOrg=&:
+UserInfoSerial=& :
+UserInfoNameRequired= .
; *** "Select Destination Location" wizard page
-WizardSelectDir=
-SelectDirDesc= [name]?
-SelectDirLabel3=[name] 븴.
-SelectDirBrowseLabel= , . 븴, dz.
-DiskSpaceMBLabel= [mb] .
-CannotInstallToNetworkDrive= 븢 .
-CannotInstallToUNCPath= 븢 븴 UNC.
-InvalidPath= , :%n%nC:\%n%n UNC :%n%n\\\
-InvalidDrive= 븴 UNC , . .
-DiskSpaceWarningTitle= .
-DiskSpaceWarning= 븢, %1 , %2 .%n%nֳ ?
-DirNameTooLong= 븴 .
-InvalidDirName=ճ 븴.
-BadDirName32= 븴 :%n%n%1
-DirExistsTitle=븴
-DirExists=븴:%n%n%1%n%n . ֳ ?
-DirDoesntExistTitle=븴 .
-DirDoesntExist=븴:%n%n%1%n%n . ֳ ?
+WizardSelectDir=
+SelectDirDesc= [name]?
+SelectDirLabel3= [name] :
+SelectDirBrowseLabel= . , .
+DiskSpaceMBLabel= [mb] .
+CannotInstallToNetworkDrive= .
+CannotInstallToUNCPath= UNC-.
+InvalidPath= , :%n%nC:\APP%n%n UNC:%n%n\\\
+InvalidDrive= . , .
+DiskSpaceWarningTitle=
+DiskSpaceWarning=븢 %1 , %2 .%n%n ?
+DirNameTooLong= .
+InvalidDirName= .
+BadDirName32= :%n%n%1
+DirExistsTitle=
+DirExists=:%n%n%1%n%n . ?
+DirDoesntExistTitle=
+DirDoesntExist=:%n%n%1%n%n . ?
; *** "Select Components" wizard page
-WizardSelectComponents=
+WizardSelectComponents=
SelectComponentsDesc= ?
-SelectComponentsLabel2= , ; , 븢. , .
+SelectComponentsLabel2= , 븢; . , .
FullInstallation=
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
-CompactInstallation=
-CustomInstallation=, 븢
-NoUninstallWarningTitle=
-NoUninstallWarning=, :%n%n%1%n%n , .%n%nֳ ?
-ComponentSize1=%1
-ComponentSize2=%1
-ComponentsDiskSpaceMBLabel= [mb] .
+CompactInstallation=
+CustomInstallation=
+NoUninstallWarningTitle=
+NoUninstallWarning=, :%n%n%1%n%n , .%n%n ?
+ComponentSize1=%1
+ComponentSize2=%1
+ComponentsDiskSpaceMBLabel= [mb] .
; *** "Select Additional Tasks" wizard page
-WizardSelectTasks=
-SelectTasksDesc= ?
-SelectTasksLabel2= , , 븢 [name], .
+WizardSelectTasks=
+SelectTasksDesc= ?
+SelectTasksLabel2= , [name], .
; *** "Select Start Menu Folder" wizard page
-WizardSelectProgramGroup= 븴
-SelectStartMenuFolderDesc= ?
-SelectStartMenuFolderLabel3= 븴 .
-SelectStartMenuFolderBrowseLabel= , . 븴, dz.
-MustEnterGroupName= 븴.
-GroupNameTooLong= 븴 .
-InvalidGroupName=ճ 븴.
-BadGroupName= 븴 :%n%n%1
-NoProgramGroupCheck2=& 븴
+WizardSelectProgramGroup=
+SelectStartMenuFolderDesc= , .
+SelectStartMenuFolderLabel3= .
+SelectStartMenuFolderBrowseLabel= - . - .
+MustEnterGroupName= .
+GroupNameTooLong= .
+InvalidGroupName= .
+BadGroupName= :%n%n%1
+NoProgramGroupCheck2=&
; *** "Ready to Install" wizard page
-WizardReady= 븢
-ReadyLabel1= 븢 [name] .
-ReadyLabel2a= , . , .
-ReadyLabel2b= 븢, .
-ReadyMemoUserInfo= :
-ReadyMemoDir= :
-ReadyMemoType= 븢:
+WizardReady=
+ReadyLabel1= [name] .
+ReadyLabel2a= , - .
+ReadyLabel2b= .
+ReadyMemoUserInfo= :
+ReadyMemoDir= :
+ReadyMemoType= 븢:
ReadyMemoComponents= :
-ReadyMemoGroup= :
-ReadyMemoTasks= :
+ReadyMemoGroup= :
+ReadyMemoTasks= :
; *** "Preparing to Install" wizard page
-WizardPreparing= 븢
-PreparingDesc=[name] .
-PreviousInstallNotCompleted= 븢 븢 . 븢, .%n%n , [name].
-CannotContinue= 븢. , .
-ApplicationsFound= , . .
-ApplicationsFound2= , . . , 븢.
-CloseApplications=&
-DontCloseApplications=&
+WizardPreparing=
+PreparingDesc= [name] .
+PreviousInstallNotCompleted= . , .%n%n 븢 , [name].
+CannotContinue= . .
+ApplicationsFound= , 븢 . 븢 .
+ApplicationsFound2= , 븢 . 븢 . , 븢 .
+CloseApplications=&
+DontCloseApplications=&
+ErrorCloseApplications=븢 . , , .
; *** "Installing" wizard page
-WizardInstalling=븢
-InstallingLabel= , , [name] 븢 .
+WizardInstalling=
+InstallingLabel=, [name] 븢 .
; *** "Setup Completed" wizard page
-FinishedHeadingLabel= 븢 [name]
-FinishedLabelNoIcons= 븢 [name] .
-FinishedLabel= 븢 [name] . ().
-ClickFinish= , .
-FinishedRestartLabel= 븢 [name], . ֳ ?
-FinishedRestartMessage= 븢 [name], .%n%nֳ ?
-ShowReadmeCheck=,
-YesRadio=&,
-NoRadio=&,
+FinishedHeadingLabel= [name].
+FinishedLabelNoIcons= [name] .
+FinishedLabel= [name] . .
+ClickFinish= , 븢.
+FinishedRestartLabel= [name] . ?
+FinishedRestartMessage= [name] .%n%n ?
+ShowReadmeCheck=
+YesRadio=&,
+NoRadio=&,
; used for example as 'Run MyProg.exe'
-RunEntryExec= %1
+RunEntryExec= %1
; used for example as 'View Readme.txt'
RunEntryShellExec= %1
; *** "Setup Needs the Next Disk" stuff
-ChangeDiskTitle= 븢,
-SelectDiskLabel2= %1 .%n%n 븴, , dz.
+ChangeDiskTitle=
+SelectDiskLabel2= %1 .%n%n , , , .
PathLabel=&:
-FileNotInDir2= %2 %1. 븴.
-SelectDirectoryLabel= .
+FileNotInDir2= %1 %2. .
+SelectDirectoryLabel= .
; *** Installation phase messages
-SetupAborted= 븢 .%n%n 븢 .
-EntryAbortRetryIgnore= , . , ( ). 븢, .
+SetupAborted= .%n%n , 븢
+EntryAbortRetryIgnore= , , - , - .
; *** Installation status messages
-StatusClosingApplications=
-StatusCreateDirs= 븴
-StatusExtractFiles=
-StatusCreateIcons= 곅
-StatusCreateIniEntries= INI
-StatusCreateRegistryEntries=
-StatusRegisterFiles= ࢅ
-StatusSavingUninstall= 븢
-StatusRunProgram= 븢
-StatusRestartingApplications=
-StatusRollback=
+StatusClosingApplications= ...
+StatusCreateDirs= ...
+StatusExtractFiles= ...
+StatusCreateIcons= ...
+StatusCreateIniEntries= INI-...
+StatusCreateRegistryEntries= ...
+StatusRegisterFiles= ...
+StatusSavingUninstall= ...
+StatusRunProgram= ...
+StatusRestartingApplications= ...
+StatusRollback= ...
; *** Misc. errors
-ErrorInternal2= : %1
-ErrorFunctionFailedNoCode= %1
-ErrorFunctionFailed= %1; %2
-ErrorFunctionFailedWithMessage= %1; %2.%n%3
-ErrorExecutingProgram= :%n%1
+ErrorInternal2= %1
+ErrorFunctionFailedNoCode=%1:
+ErrorFunctionFailed=%1: ; %2
+ErrorFunctionFailedWithMessage=%1: ; %2.%n%3
+ErrorExecutingProgram= :%n%1
; *** Registry errors
-ErrorRegOpenKey= :%n%1\%2
-ErrorRegCreateKey= :%n%1\%2
-ErrorRegWriteKey= :%n%1\%2
+ErrorRegOpenKey= :%n%1\%2
+ErrorRegCreateKey= :%n%1\%2
+ErrorRegWriteKey= :%n%1\%2
; *** INI errors
-ErrorIniEntry= INI %1.
+ErrorIniEntry= INI- %1.
; *** File copying errors
-FileAbortRetryIgnore= , . , ( ). 븢, .
-FileAbortRetryIgnore2= , . , . 븢, .
-SourceIsCorrupted=
-SourceDoesntExist= %1
-ExistingFileReadOnly= .%n%n , . , . 븢 , .
-ErrorReadingExistingDest= :
-FileExists= .%n%nֳ ?
-ExistingFileNewer= , . .%n%nֳ ?
-ErrorChangingAttr= :
-ErrorCreatingTemp= 븴:
-ErrorReadingSource= :
-ErrorCopying= :
-ErrorReplacingExistingFile= :
-ErrorRestartReplace= :
-ErrorRenamingTemp= 븴:
-ErrorRegisterServer= DLL OCX: %1
-ErrorRegSvr32Failed=RegSvr32 %1
-ErrorRegisterTypeLib= : %1
+FileAbortRetryIgnore= , , - ( ), - .
+FileAbortRetryIgnore2= , , - ( ), - .
+SourceIsCorrupted= .
+SourceDoesntExist= %1 .
+ExistingFileReadOnly= .%n%n , , - , - .
+ErrorReadingExistingDest= :
+FileExists= .%n%n ?
+ExistingFileNewer= , 븢. .%n%n ?
+ErrorChangingAttr= :
+ErrorCreatingTemp= :
+ErrorReadingSource= :
+ErrorCopying= :
+ErrorReplacingExistingFile= :
+ErrorRestartReplace= :
+ErrorRenamingTemp= :
+ErrorRegisterServer= DLL/OCX: %1
+ErrorRegSvr32Failed= RegSvr32, %1
+ErrorRegisterTypeLib= : %1
; *** Post-installation errors
-ErrorOpeningReadme= .
-ErrorRestartingComputer= . .
+ErrorOpeningReadme= README:
+ErrorRestartingComputer=븢 . .
; *** Uninstaller messages
-UninstallNotFound= %1 . .
-UninstallOpenError= %1 .
-UninstallUnsupportedVer= %1.
-UninstallUnknownEntry= ﳢ (%1)
-ConfirmUninstall=ֳ , %1 ?
-UninstallOnlyOnWin64= 64- Windows.
-OnlyAdminCanUninstall= .
-UninstallStatusLabel=, %1 .
-UninstalledAll=%1 .
-UninstalledMost=%1 .%n%n . .
-UninstalledAndNeedsRestart= 븢 %1, .%n%nֳ ?
-UninstallDataCorrupted= %1 .
+UninstallNotFound= %1 , .
+UninstallOpenError= %1, .
+UninstallUnsupportedVer= %1 븢. .
+UninstallUnknownEntry= (%1)
+ConfirmUninstall= %1 ?
+UninstallOnlyOnWin64= 64- Windows.
+OnlyAdminCanUninstall= .
+UninstallStatusLabel=, %1 .
+UninstalledAll= %1 .
+UninstalledMost= %1 .%n%n . .
+UninstalledAndNeedsRestart= %1, .%n%nֳ ?
+UninstallDataCorrupted= %1 . .
; *** Uninstallation phase messages
-ConfirmDeleteSharedFileTitle=ֳ ?
-ConfirmDeleteSharedFile2= , . ֳ ?%n%n , , . , . , .
+ConfirmDeleteSharedFileTitle= ?
+ConfirmDeleteSharedFile2=ѳ , . ?%n%n , , . - . .
SharedFileNameLabel= :
-SharedFileLocationLabel=:
-WizardUninstalling=
-StatusUninstalling=븢 %1
+SharedFileLocationLabel=:
+WizardUninstalling=
+StatusUninstalling= %1...
; *** Shutdown block reasons
-ShutdownBlockReasonInstallingApp=븢 %1
-ShutdownBlockReasonUninstallingApp=븢 %1.
+ShutdownBlockReasonInstallingApp= %1.
+ShutdownBlockReasonUninstallingApp= %1.
; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.
[CustomMessages]
-NameAndVersion=%1 %2
-AdditionalIcons= :
-CreateDesktopIcon= &
-CreateQuickLaunchIcon= &
-ProgramOnTheWeb=%1
-UninstallProgram= %1
-LaunchProgram= %1
-AssocFileExtension=& %1 %2
-AssocingFileExtension=%1 %2
-AutoStartProgramGroupDescription=:
-AutoStartProgram= %1
-AddonHostProgramNotFound= 븴 %1.%n%nֳ ?
+NameAndVersion=%1, %2
+AdditionalIcons= :
+CreateDesktopIcon= &
+CreateQuickLaunchIcon= &
+ProgramOnTheWeb= %1
+UninstallProgram= %1
+LaunchProgram= %1
+AssocFileExtension=& %1 %2
+AssocingFileExtension= %1 %2...
+AutoStartProgramGroupDescription=:
+AutoStartProgram= %1
+AddonHostProgramNotFound=%1 .%n%n ?
diff --git a/distrib/Languages/Bosnian.isl b/distrib/Languages/Bosnian.isl
new file mode 100644
index 000000000..d25d690fc
--- /dev/null
+++ b/distrib/Languages/Bosnian.isl
@@ -0,0 +1,329 @@
+; *** Inno Setup version 5.5.3+ Bosnian messages ***
+;
+; Bosnian translation by Kenan Dervisevic (kenan3008@gmail.com)
+;
+
+[LangOptions]
+LanguageName=Bosanski
+LanguageID=$141a
+LanguageCodePage=1250
+; If the language you are translating to requires special font faces or
+; sizes, uncomment any of the following entries and change them accordingly.
+;DialogFontName=
+;DialogFontSize=8
+;WelcomeFontName=Verdana
+;WelcomeFontSize=12
+;TitleFontName=Arial
+;TitleFontSize=29
+;CopyrightFontName=Arial
+;CopyrightFontSize=8
+
+[Messages]
+
+; *** Application titles
+SetupAppTitle=Instalacija
+SetupWindowTitle=Instalacija - %1
+UninstallAppTitle=Deinstalacija
+UninstallAppFullTitle=%1 Deinstalacija
+
+; *** Misc. common
+InformationTitle=Informacija
+ConfirmTitle=Potvrda
+ErrorTitle=Greka
+
+; *** SetupLdr messages
+SetupLdrStartupMessage=Zapoeli ste instalaciju programa %1. elite li nastaviti?
+LdrCannotCreateTemp=Ne mogu kreirati privremenu datoteku. Instalacija prekinuta
+LdrCannotExecTemp=Ne mogu izvriti datoteku u privremenom folderu. Instalacija prekinuta
+
+; *** Startup error messages
+LastErrorMessage=%1.%n%nGreka %2: %3
+SetupFileMissing=Datoteka %1 se ne nalazi u instalacijskom folderu. Molimo vas da rijeite problem ili nabavite novu kopiju programa.
+SetupFileCorrupt=Instalacijske datoteke sadre greku. Molimo vas da nabavite novu kopiju programa.
+SetupFileCorruptOrWrongVer=Instalacijske datoteke sadre greku, ili nisu kompatibilne sa ovom verzijom instalacije. Molimo vas rijeite problem ili nabavite novu kopiju programa.
+InvalidParameter=Neispravan parametar je proslijeen komandnoj liniji:%n%n%1
+SetupAlreadyRunning=Instalacija je ve pokrenuta.
+WindowsVersionNotSupported=Ovaj program ne podrava verziju Windowsa koja je instalirana na ovom raunaru.
+WindowsServicePackRequired=Ovaj program zahtjeva %1 Service Pack %2 ili noviji.
+NotOnThisPlatform=Ovaj program ne radi na %1.
+OnlyOnThisPlatform=Ovaj program se mora pokrenuti na %1.
+OnlyOnTheseArchitectures=Ovaj program se moe instalirati samo na verzijama Windowsa napravljenim za sljedee arhitekture procesora:%n%n%1
+MissingWOW64APIs=Verzija Windowsa koju koristite ne sadri funkcionalnosti potrebne da bi instalacijski program mogao instalirati 64-bitnu verziju. Da bi ispravili taj problem, molimo instalirajte Service Pack %1.
+WinVersionTooLowError=Ovaj program zahtjeva %1 verzije %2 ili noviju.
+WinVersionTooHighError=Ovaj program se ne moe instalirati na %1 verziji %2 ili novijoj.
+AdminPrivilegesRequired=Morate imati administratorska prava pri instaliranju ovog programa.
+PowerUserPrivilegesRequired=Morate imati administratorska prava ili biti lan grupe Power Users prilikom instaliranja ovog programa.
+SetupAppRunningError=Instalacija je detektovala da je %1 pokrenut.%n%nMolimo zatvorite program i sve njegove kopije i potom kliknite Dalje za nastavak ili Odustani za prekid.
+UninstallAppRunningError=Deinstalacija je detektovala da je %1 trenutno pokrenut.%n%nMolimo zatvorite program i sve njegove kopije i potom kliknite Dalje za nastavak ili Odustani za prekid.
+
+; *** Misc. errors
+ErrorCreatingDir=Instalacija nije mogla kreirati folder "%1"
+ErrorTooManyFilesInDir=Instalacija nije mogla kreirati datoteku u folderu "%1" zato to on sadri previe datoteka
+
+; *** Setup common messages
+ExitSetupTitle=Prekid instalacije
+ExitSetupMessage=Instalacija nije zavrena. Ako sada izaete, program nee biti instaliran.%n%nInstalaciju moete pokrenuti kasnije u sluaju da je elite zavriti.%n%nPrekid instalacije?
+AboutSetupMenuItem=&O instalaciji...
+AboutSetupTitle=O instalaciji
+AboutSetupMessage=%1 verzija %2%n%3%n%n%1 poetna stranica:%n%4
+AboutSetupNote=
+TranslatorNote=
+
+; *** Buttons
+ButtonBack=< Na&zad
+ButtonNext=Da&lje >
+ButtonInstall=&Instaliraj
+ButtonOK=U redu
+ButtonCancel=Otkai
+ButtonYes=&Da
+ButtonYesToAll=Da za &sve
+ButtonNo=&Ne
+ButtonNoToAll=N&e za sve
+ButtonFinish=&Zavri
+ButtonBrowse=&Izaberi...
+ButtonWizardBrowse=Iza&beri...
+ButtonNewFolder=&Napravi novi folder
+
+; *** "Select Language" dialog messages
+SelectLanguageTitle=Izaberite jezik instalacije
+SelectLanguageLabel=Izaberite jezik koji elite koristiti pri instalaciji:
+
+; *** Common wizard text
+ClickNext=Kliknite na Dalje za nastavak ili Otkai za prekid instalacije.
+BeveledLabel=
+BrowseDialogTitle=Izaberite folder
+BrowseDialogLabel=Izaberite folder iz liste ispod, pa onda kliknite na U redu.
+NewFolderName=Novi folder
+
+; *** "Welcome" wizard page
+WelcomeLabel1=Dobro doli u instalaciju programa [name]
+WelcomeLabel2=Ovaj program e instalirati [name/ver] na va raunar.%n%nPreporuujemo da zatvorite sve druge programe prije nastavka i da privremeno onemoguite va antivirus i firewall.
+
+; *** "Password" wizard page
+WizardPassword=ifra
+PasswordLabel1=Instalacija je zatiena ifrom.
+PasswordLabel3=Upiite ifru i kliknite Dalje za nastavak. ifre su osjetljive na mala i velika slova.
+PasswordEditLabel=&ifra:
+IncorrectPassword=Upisali ste pogrenu ifru. Pokuajte ponovo.
+
+; *** "License Agreement" wizard page
+WizardLicense=Ugovor o koritenju
+LicenseLabel=Molimo vas da, prije nastavka, paljivo proitajte sljedee informacije.
+LicenseLabel3=Molimo vas da paljivo proitate Ugovor o koritenju. Morate prihvatiti uslove ugovora kako biste mogli nastaviti s instalacijom.
+LicenseAccepted=&Prihvatam ugovor
+LicenseNotAccepted=&Ne prihvatam ugovor
+
+; *** "Information" wizard pages
+WizardInfoBefore=Informacija
+InfoBeforeLabel=Molimo vas da, prije nastavka, proitate sljedee informacije.
+InfoBeforeClickLabel=Kada budete spremni nastaviti instalaciju, kliknite na Dalje.
+WizardInfoAfter=Informacija
+InfoAfterLabel=Molimo vas da, prije nastavka, proitate sljedee informacije.
+InfoAfterClickLabel=Kada budete spremni nastaviti instalaciju, kliknite na Dalje.
+
+; *** "User Information" wizard page
+WizardUserInfo=Informacije o korisniku
+UserInfoDesc=Upiite vae line informacije.
+UserInfoName=&Ime korisnika:
+UserInfoOrg=&Organizacija:
+UserInfoSerial=&Serijski broj:
+UserInfoNameRequired=Morate upisati ime.
+
+; *** "Select Destination Location" wizard page
+WizardSelectDir=Odaberite odredini folder
+SelectDirDesc=Gdje elite da instalirate [name]?
+SelectDirLabel3=Instalacija e instalirati [name] u sljedei folder.
+SelectDirBrowseLabel=Za nastavak, kliknite Dalje. Ako elite izabrati drugi folder, kliknite Izaberi.
+DiskSpaceMBLabel=Ovaj program zahtjeva najmanje [mb] MB slobodnog prostora na disku.
+CannotInstallToNetworkDrive=Instalacija nije mogua na mrenom disku.
+CannotInstallToUNCPath=Instalacija nije mogua za UNC putanju.
+InvalidPath=Morate unijeti punu putanju zajedno sa slovom diska; npr:%n%nC:\APP%n%nili UNC putanju u obliku:%n%n\\server\share
+InvalidDrive=Disk ili UNC share koji ste odabrali ne postoji ili je nedostupan. Odaberite neki drugi.
+DiskSpaceWarningTitle=Nedovoljno prostora na disku
+DiskSpaceWarning=Instalacija zahtjeva bar %1 KB slobodnog prostora, a odabrani disk ima samo %2 KB na raspolaganju.%n%nDa li elite nastaviti?
+DirNameTooLong=Naziv ili putanja do foldera su predugi.
+InvalidDirName=Naziv foldera nije ispravan.
+BadDirName32=Naziv foldera ne smije sadravati niti jedan od sljedeih znakova:%n%n%1
+DirExistsTitle=Folder postoji
+DirExists=Folder:%n%n%1%n%nve postoji. elite li i dalje izvriti instalaciju u njega?
+DirDoesntExistTitle=Folder ne postoji
+DirDoesntExist=Folder:%n%n%1%n%nne postoji. elite li ga napraviti?
+
+; *** "Select Components" wizard page
+WizardSelectComponents=Odaberite komponente
+SelectComponentsDesc=Koje komponente elite instalirati?
+SelectComponentsLabel2=Odaberite komponente koje elite instalirati ili uklonite kvaicu pored komponenti koje ne elite. Kliknite Dalje kad budete spremni da nastavite.
+FullInstallation=Puna instalacija
+; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
+CompactInstallation=Kompaktna instalacija
+CustomInstallation=Instalacija prema elji
+NoUninstallWarningTitle=Komponente postoje
+NoUninstallWarning=Instalacija je detektovala da na vaem raunaru ve postoje sljedee komponente:%n%n%1%n%nAko ove komponente ne odaberete, nee doi do njihove deinstalacije.%n%nelite li ipak nastaviti?
+ComponentSize1=%1 KB
+ComponentSize2=%1 MB
+ComponentsDiskSpaceMBLabel=Trenutni izbor zahtjeva bar [mb] MB prostora na disku.
+
+; *** "Select Additional Tasks" wizard page
+WizardSelectTasks=Izaberite dodatne radnje
+SelectTasksDesc=Koje dodatne radnje elite da se izvre?
+SelectTasksLabel2=Izaberite radnje koje e se izvriti tokom instalacije programa [name], onda kliknite Dalje.
+
+; *** "Select Start Menu Folder" wizard page
+WizardSelectProgramGroup=Izaberite programsku grupu
+SelectStartMenuFolderDesc=Gdje instalacija treba da napravi preice?
+SelectStartMenuFolderLabel3=Izaberite folder iz Start menija u koji elite da instalacija kreira preicu, a zatim kliknite na Dalje.
+SelectStartMenuFolderBrowseLabel=Za nastavak, kliknite Dalje. Ako elite da izaberete drugi folder, kliknite Izaberi.
+MustEnterGroupName=Morate unijeti ime programske grupe.
+GroupNameTooLong=Naziv foldera ili putanje je predug.
+InvalidGroupName=Naziv foldera nije ispravan.
+BadGroupName=Naziv foldera ne smije sadravati niti jedan od sljedeih znakova:%n%n%1
+NoProgramGroupCheck2=&Ne kreiraj programsku grupu
+
+; *** "Ready to Install" wizard page
+WizardReady=Spreman za instalaciju
+ReadyLabel1=Sada smo spremni za instalaciju [name] na va raunar.
+ReadyLabel2a=Kliknite na Instaliraj ako elite instalirati program ili na Nazad ako elite pregledati ili promjeniti postavke.
+ReadyLabel2b=Kliknite na Instaliraj ako elite nastaviti sa instalacijom programa.
+ReadyMemoUserInfo=Informacije o korisniku:
+ReadyMemoDir=Odredini folder:
+ReadyMemoType=Tip instalacije:
+ReadyMemoComponents=Odabrane komponente:
+ReadyMemoGroup=Programska grupa:
+ReadyMemoTasks=Dodatne radnje:
+
+; *** "Preparing to Install" wizard page
+WizardPreparing=Pripremam instalaciju
+PreparingDesc=Pripreme za instalaciju [name] na va raunar.
+PreviousInstallNotCompleted=Instalacija/deinstalacija prethodnog programa nije zavrena. Morate restartovati va raunar kako bi zavrili tu instalaciju.%n%nNakon toga, ponovno pokrenite ovaj program kako bi dovrili instalaciju za [name].
+CannotContinue=Instalacija ne moe nastaviti. Molimo vas da kliknete na Odustani za izlaz.
+ApplicationsFound=Sljedee aplikacije koriste datoteke koje ova instalacija treba da nadogradi. Preporuujemo vam da omoguite instalaciji da automatski zatvori ove aplikacije.
+ApplicationsFound2=Sljedee aplikacije koriste datoteke koje ova instalacija treba da nadogradi. Preporuujemo vam da omoguite instalaciji da automatski zatvori ove aplikacije. Nakon to se sve zavri, bit e izvren pokuaj ponovnog pokretanja ovih aplikacija.
+CloseApplications=&Automatski zatvori aplikacije
+DontCloseApplications=&Ne zatvaraj aplikacije
+ErrorCloseApplications=Instalacija nije mogla automatski zatvoriti sve aplikacije. Prije nego nastavite, preporuujemo vam da zatvorite sve aplikacije koje koriste datoteke koje e ova instalacija trebati da aurira.
+
+; *** "Installing" wizard page
+WizardInstalling=Instaliram
+InstallingLabel=Priekajte dok se ne zavri instalacija programa [name] na va raunar.
+
+; *** "Setup Completed" wizard page
+FinishedHeadingLabel=Zavravam instalaciju [name]
+FinishedLabelNoIcons=Instalacija programa [name] je zavrena.
+FinishedLabel=Instalacija programa [name] je zavrena. Program moete pokrenuti koristei instalirane ikone.
+ClickFinish=Kliknite na Zavri da biste izali iz instalacije.
+FinishedRestartLabel=Da biste instalaciju programa [name] zavrili, potrebno je restartovati raunar. elite li to sada uiniti?
+FinishedRestartMessage=Zavretak instalacije programa [name] zahtjeva restart vaeg raunara.%n%nelite li to sada uiniti?
+ShowReadmeCheck=Da, elim proitati README datoteku.
+YesRadio=&Da, restartuj raunar sada
+NoRadio=&Ne, restartovat u raunar kasnije
+; used for example as 'Run MyProg.exe'
+RunEntryExec=Pokreni %1
+; used for example as 'View Readme.txt'
+RunEntryShellExec=Proitaj %1
+
+; *** "Setup Needs the Next Disk" stuff
+ChangeDiskTitle=Instalacija treba sljedei disk
+SelectDiskLabel2=Molimo ubacite Disk %1 i kliknite U redu.%n%nAko se datoteke na ovom disku nalaze u drugom folderu a ne u onom prikazanom ispod, unesite ispravnu putanju ili kliknite na Izaberi.
+PathLabel=&Putanja:
+FileNotInDir2=Datoteka "%1" ne postoji u "%2". Molimo vas ubacite odgovorajui disk ili odaberete drugi folder.
+SelectDirectoryLabel=Molimo odaberite lokaciju sljedeeg diska.
+
+; *** Installation phase messages
+SetupAborted=Instalacija nije zavrena.%n%nMolimo vas da rijeite problem i opet pokrenete instalaciju.
+EntryAbortRetryIgnore=Kliknite na Retry da pokuate opet, Ignore da nastavite, ili Abort da prekinete instalaciju.
+
+; *** Installation status messages
+StatusClosingApplications=Zatvaram aplikacije...
+StatusCreateDirs=Kreiram foldere...
+StatusExtractFiles=Raspakujem datoteke...
+StatusCreateIcons=Kreiram preice...
+StatusCreateIniEntries=Kreiram INI datoteke...
+StatusCreateRegistryEntries=Kreiram podatke za registracijsku bazu...
+StatusRegisterFiles=Registrujem datoteke...
+StatusSavingUninstall=Snimam deinstalacijske informacije...
+StatusRunProgram=Zavravam instalaciju...
+StatusRestartingApplications=Restartujem aplikaciju...
+StatusRollback=Ponitavam promjene...
+
+; *** Misc. errors
+ErrorInternal2=Interna greka: %1
+ErrorFunctionFailedNoCode=%1 nije uspjelo
+ErrorFunctionFailed=%1 nije uspjelo; kod %2
+ErrorFunctionFailedWithMessage=%1 nije uspjelo; kod %2.%n%3
+ErrorExecutingProgram=Ne mogu pokrenuti datoteku:%n%1
+
+; *** Registry errors
+ErrorRegOpenKey=Greka pri otvaranju registracijskog kljua:%n%1\%2
+ErrorRegCreateKey=Greka pri kreiranju registracijskog kljua:%n%1\%2
+ErrorRegWriteKey=Greka pri zapisivanju registracijskog kljua:%n%1\%2
+
+; *** INI errors
+ErrorIniEntry=Greka pri kreiranju INI podataka u datoteci "%1".
+
+; *** File copying errors
+FileAbortRetryIgnore=Kliknite Retry da pokuate ponovo, Ignore da preskoite ovu datoteku (nije preporueno), ili Abort da prekinete instalaciju.
+FileAbortRetryIgnore2=Kliknite Retry da pokuate ponovo, Ignore da preskoite ovu datoteku (nije preporueno), ili Abort da prekinete instalaciju.
+SourceIsCorrupted=Izvorna datoteka je oteena
+SourceDoesntExist=Izvorna datoteka "%1" ne postoji
+ExistingFileReadOnly=Postojea datoteka je oznaena kao samo za itanje.%n%nKliknite Retry da uklonite ovu oznaku i pokuate ponovo, Ignore da preskoite ovu datoteku, ili Abort da prekinete instalaciju.
+ErrorReadingExistingDest=Dolo je do greke prilikom pokuaja itanja postojee datoteke:
+FileExists=Datoteka ve postoji.%n%nelite li pisati preko nje?
+ExistingFileNewer=Postojea datoteka je novija od one koju pokuavate instalirati. Preporuujemo vam da zadrite postojeu datoteku.%n%nelite li zadrati postojeu datoteku?
+ErrorChangingAttr=Pojavila se greka prilikom pokuaja promjene atributa postojee datoteke:
+ErrorCreatingTemp=Pojavila se greka prilikom pokuaja kreiranja datoteke u odredinom folderu:
+ErrorReadingSource=Pojavila se greka prilikom pokuaja itanja izvorne datoteke:
+ErrorCopying=Pojavila se greka prilikom pokuaja kopiranja datoteke:
+ErrorReplacingExistingFile=Pojavila se greka prilikom pokuaja zamjene datoteke:
+ErrorRestartReplace=Ponovno pokretanje i zamjena nije uspjela:
+ErrorRenamingTemp=Pojavila se greka prilikom pokuaja preimenovanja datoteke u odredinom folderu:
+ErrorRegisterServer=Ne mogu registrovati DLL/OCX: %1
+ErrorRegSvr32Failed=RegSvr32 nije ispravno izvren, kod na kraju izvravanja %1
+ErrorRegisterTypeLib=Ne mogu registrovati tip biblioteke: %1
+
+; *** Post-installation errors
+ErrorOpeningReadme=Pojavila se greka prilikom pokuaja otvaranja README datoteke.
+ErrorRestartingComputer=Instalacija ne moe restartovati va raunar. Molimo vas da to uinite runo.
+
+; *** Uninstaller messages
+UninstallNotFound=Datoteka "%1" ne postoji. Deinstalacija prekinuta.
+UninstallOpenError=Datoteka "%1" se ne moe otvoriti. Deinstalacija nije mogua
+UninstallUnsupportedVer=Deinstalacijska log datoteka "%1" je u formatu koji nije prepoznat od ove verzije deinstalera. Nije mogua deinstalacija
+UninstallUnknownEntry=Nepoznat zapis (%1) je pronadjen u deinstalacijskoj log datoteci
+ConfirmUninstall=Da li ste sigurni da elite ukloniti %1 i sve njegove komponente?
+UninstallOnlyOnWin64=Ovaj program se moe deinstalirati samo na 64-bitnom Windowsu.
+OnlyAdminCanUninstall=Ova instalacija moe biti uklonjena samo od korisnika sa administratorskim privilegijama.
+UninstallStatusLabel=Molimo priekajte dok %1 ne bude uklonjen s vaeg raunara.
+UninstalledAll=Program %1 je uspjeno uklonjen sa vaeg raunara.
+UninstalledMost=Deinstalacija programa %1 je zavrena.%n%nNeke elemente nije bilo mogue ukloniti. Molimo vas da to uinite runo.
+UninstalledAndNeedsRestart=Da bi zavrili deinstalaciju %1, Va raunar morate restartati%n%nelite li to uiniti sada?
+UninstallDataCorrupted="%1" datoteka je oteena. Deinstalacija nije mogua.
+
+; *** Uninstallation phase messages
+ConfirmDeleteSharedFileTitle=Ukloni dijeljenu datoteku
+ConfirmDeleteSharedFile2=Sistem smatra da sljedee dijeljene datoteke ne koristi nijedan drugi program. elite li ukloniti te dijeljene datoteke?%n%nAko neki programi i dalje koriste ove datoteke, a one se obriu, ti programi nee raditi ispravno. Ako niste sigurni, odaberite Ne. Ostavljanje datoteka nee uzrokovati tetu vaem sistemu.
+SharedFileNameLabel=Datoteka:
+SharedFileLocationLabel=Putanja:
+WizardUninstalling=Status deinstalacije
+StatusUninstalling=Deinstaliram %1...
+
+; *** Shutdown block reasons
+ShutdownBlockReasonInstallingApp=Instaliram %1.
+ShutdownBlockReasonUninstallingApp=Deinstaliram %1.
+
+; The custom messages below aren't used by Setup itself, but if you make
+; use of them in your scripts, you'll want to translate them.
+
+[CustomMessages]
+
+NameAndVersion=%1 verzija %2
+AdditionalIcons=Dodatne ikone:
+CreateDesktopIcon=Kreiraj &desktop ikonu
+CreateQuickLaunchIcon=Kreiraj ikonu za &brzo pokretanje
+ProgramOnTheWeb=%1 na webu
+UninstallProgram=Deinstaliraj %1
+LaunchProgram=Pokreni %1
+AssocFileExtension=&Asociraj %1 sa %2 ekstenzijom
+AssocingFileExtension=Asociram %1 sa %2 ekstenzijom...
+AutoStartProgramGroupDescription=Pokretanje:
+AutoStartProgram=Automatski pokrei %1
+AddonHostProgramNotFound=%1 nije mogao biti pronaen u folderu koji ste odabrali.%n%nDa li i dalje elite nastaviti s ovom akcijom?
diff --git a/distrib/Languages/Indonesian.isl b/distrib/Languages/Indonesian.isl
index f16997ad1..c0a811926 100644
--- a/distrib/Languages/Indonesian.isl
+++ b/distrib/Languages/Indonesian.isl
@@ -1,287 +1,340 @@
-; *** Inno Setup version 5.5.3+ Indonesian messages ***
+; *** Inno Setup versi 5.5.3+ Bahasa Indonesia ***
;
-; Untuk mendownload terjemahan kontribusi-pengguna dari file ini, buka:
+; Untuk mengunduh terjemahan kontribusi-pemakai dari berkas ini, buka:
; http://www.jrsoftware.org/files/istrans/
;
-; Alih bahasa oleh: Muchammad Ulil Wafa (wmuchammadulil@yahoo.co.id)
+; Alih bahasa oleh: Muchammad Ulil Wafa (mozaik.tm@gmail.com)
; http://muchammadulilwafa.blogspot.com/
; http://mozaik-tkj.blogspot.com/
+; http://smadaver.com/profile/?u=84302
;
-; Catatan: Ketika menerjemahkan teks ini, jangan masukkan titik (.) di akhir
-; pesan tersebut, karena di Inno Setup akan otomatis memasukkan titik.
-; (menambahkan titik bisa menampilkan dua titik.)
+; Catatan: Ketika menterjemahkan teks ini, jangan masukkan titik (.) di akhir
+; pesan yang memang tidak memiliki titik, karena Inno Setup memasukkan titik
+; secara otomatis (menambahkan titik dapat menyebabkan tampilnya dua titik)
[LangOptions]
-LanguageName=Bahasa Indonesia
+; Tiga baris di bawah ini sangat penting. Pastikan membaca dan mengerti
+; topik bagian '[LangOptions]' pada berkas bantuan.
+LanguageName=Indonesian
LanguageID=$0421
LanguageCodePage=0
+; Jika bahasa yang anda terjemahkan membutuhkan huruf atau ukuran khusus,
+; hapus tanda titik koma pada entri di bawah dan ubah sesuai kebutuhan.
+;DialogFontName=
+;DialogFontSize=8
+;WelcomeFontName=Verdana
+;WelcomeFontSize=12
+;TitleFontName=Arial
+;TitleFontSize=29
+;CopyrightFontName=Arial
+;CopyrightFontSize=8
[Messages]
-SetupAppTitle=Install
+
+; *** Judul aplikasi
+SetupAppTitle=Instalasi
SetupWindowTitle=Instalasi - %1
-UninstallAppTitle=Hapus
-UninstallAppFullTitle=Hapus %1
+UninstallAppTitle=Penghapusan
+UninstallAppFullTitle=Penghapusan %1
+; *** Jenis jenis umum
InformationTitle=Informasi
ConfirmTitle=Konfirmasi
ErrorTitle=Kesalahan
-SetupLdrStartupMessage=Program akan memasang %1. Apakah anda ingin melanjutkan?
-LdrCannotCreateTemp=Tidak bisa membuat berkas sementara. Instalasi dibatalkan
-LdrCannotExecTemp=Tidak bisa mengeksekusi file dalam folder sementara. Instalasi dibatalkan
-
-LastErrorMessage=%1.%n%nKesalahan %2: %3
-SetupFileMissing=Berkas %1 rusak dalam folder instalasi. Harap cek masalah atau salin berkas terbaru dari program ini
-SetupFileCorrupt=Berkas instalasi rusak. Harap salin berkas program terbaru
-SetupFileCorruptOrWrongVer=Berkas instalasi rusak, atau tidak cocok dengan versi instalasi ini. Harap cek masalah atau salin berkas terbaru dari program ini
-InvalidParameter=Parameter tidak sah di baris perintah:%n%n%1
-SetupAlreadyRunning=Program instalasi sedang berjalan.
-WindowsVersionNotSupported=Program ini tidak mendukung versi Windows yang ada di konputer anda
-WindowsServicePackRequired=Program ini membutuhkan %1 Service Pack %2 atau yang terbaru
-NotOnThisPlatform=Program ini tidak dapat berjalan di %1
-OnlyOnThisPlatform=Program ini harus dijalankan di %1
-OnlyOnTheseArchitectures=Program ini hanya bisa di pasang di versi Windows yang di desain untuk arsitektur prosesor:%n%n%1
-MissingWOW64APIs=Versi Windows yang anda gunakan secara fungsional tidak memiliki permintaan oleh Program Instalasi untuk jalan di instalasi 64-bit. Untuk mengkoreksi masalah ini, harap pasang Service Pack %1
-WinVersionTooLowError=Program ini membutuhkan %1 versi %2 atau yang terbaru
-WinVersionTooHighError=Program ini tidak dapat di pasang di %1 versi %2 atau yang terbaru
-AdminPrivilegesRequired=Anda harus masuk sebagai Administrator ketika memasang program ini
-PowerUserPrivilegesRequired=Anda harus masuk sebagai Administrator atau sebagai anggota dari grup Power Users ketika memasang program ini
-SetupAppRunningError=Program mendeteksi %1 sedang berjalan.%n%nHarap tutup semuanya sekarang, lalu klik OK untuk melanjutkan, atau Cancel untuk keluar
-UninstallAppRunningError=Penghapus program mendeteksi %1 sedang berjalan.%n%nHarap tutup semuanya sekarang, lalu klik OK untuk melanjutkan, atau Cancel untuk keluar
-
-ErrorCreatingDir=Tidak dapat membuat direktori "%1"
+; *** Pesan SetupLdr
+SetupLdrStartupMessage=Program ini akan memasang %1. Lanjutkan?
+LdrCannotCreateTemp=Tidak dapat membuat berkas sementara. Instalasi dibatalkan
+LdrCannotExecTemp=Tidak dapat mengeksekusi berkas di direktori sementara. Instalasi dibatalkan
+;
+; *** Pesan eror saat Startup
+LastErrorMessage=%1.%n%nError %2: %3
+SetupFileMissing=Berkas %1 hilang dari direktori instalasi. Harap selesaikan masalah ini atau dapatkan salinan instalasi yang baru.
+SetupFileCorrupt=Berkas instalasi telah rusak. Harap dapatkan salinan instalasi yang baru.
+SetupFileCorruptOrWrongVer=Berkas instalasi telah rusak, atau tidak cocok dengan versi instalasi ini. Harap selesaikan masalah atau dapatkan salinan instalasi yang baru.
+InvalidParameter=Parameter tidak sah ditemukan di perintah:%n%n%1
+SetupAlreadyRunning=Instalasi sudah berjalan.
+WindowsVersionNotSupported=Versi program ini tidak mendukung versi Windows yang anda gunakan.
+WindowsServicePackRequired=Program ini memebutuhkan %1 Service Pack %2 atau yang terbaru.
+NotOnThisPlatform=Program ini tidak berjalan di %1.
+OnlyOnThisPlatform=Program ini harus dijalankan di %1.
+OnlyOnTheseArchitectures=Program ini hanya bisa dipasang di Windows yang mendukung arsitektur prosesor:%n%n1
+MissingWOW64APIs=Versi Windows yang anda gunakan tidak memiliki fungsi yang yang diperlukan untuk instalasi 64-bit. Untuk memperbaiki masalah ini, harap pasang Service Pack %1.
+WinVersionTooLowError=Program ini membutuhkan %1 versi %2 atau yang terbaru.
+WinVersionTooHighError=Program ini tidak dapat dipasang pada %1 versi %2 atau yang terbaru.
+AdminPrivilegesRequired=Anda harus masuk sebagai Administrator ketika memasang program ini.
+PowerUserPrivilegesRequired=Anda harus masuk sebagai Administrator atau sebagai salah satu anggota grup Super Users ketika memasang program ini.
+SetupAppRunningError=Instalasi mendeteksi bahwa %1 sedang berjalan.%n%nHarap tutup semua aplikasi ini sekarang, kemudian klik OK untuk melanjutkan, atau Cancel untuk keluar.
+UninstallAppRunningError=Instalasi mendeteksi bahwa %1 sedang berjalan.%n%nHarap tutup semua aplikasi ini sekarang, kemudian klik OK untuk melanjutkan, atau Cancel untuk keluar.
+
+; *** Beberapa pesan kesalahan
+ErrorCreatingDir=Instalasi tidak dapat membuat direktori "%1"
ErrorTooManyFilesInDir=Tidak dapat membuat berkas di direktori "%1" karena berisi terlalu banyak berkas
-ExitSetupTitle=Tutup instalasi
-ExitSetupMessage=Pemasangan tidak lengkap. Jika anda keluar sekarang, program tidak akan terpasang.%n%nAnda dapat menjalankan instalasi kembali di lain waktu untuk melengkapi instalasi.%n%nKeluar dari instalasi?
-AboutSetupMenuItem=&Tentang instalasi...
-AboutSetupTitle=Tentang instalasi
-AboutSetupMessage=%1 versi %2%n%3%n%n%1 halaman awal:%n%4
+; *** Pesan instalasi biasa
+ExitSetupTitle=Keluar Instalasi
+ExitSetupMessage=Instalasi tidak lengkap. Jika anda keluar sekarang, program ini tidak akan terpasang.%n%nAnda dapat memasang kembali di lain waktu untuk melengkapi instalasi.%n%nKeluar dari Instalasi?
+AboutSetupMenuItem=&Tentang Instalasi...
+AboutSetupTitle=Tentang Instalasi
+AboutSetupMessage=%1 versi %2%n%3%n%nHalaman web %1:%n%4
AboutSetupNote=
TranslatorNote=
+; *** Tombol
ButtonBack=< &Kembali
ButtonNext=&Lanjut >
ButtonInstall=&Pasang
ButtonOK=OK
-ButtonCancel=&Batal
+ButtonCancel=Batal
ButtonYes=&Ya
-ButtonYesToAll=Ya &semua
+ButtonYesToAll=Ya semua
ButtonNo=&Tidak
-ButtonNoToAll=T&idak semua
+ButtonNoToAll=&Tidak semua
ButtonFinish=&Selesai
ButtonBrowse=&Jelajahi...
ButtonWizardBrowse=J&elajahi...
-ButtonNewFolder=&Buat folder baru
+ButtonNewFolder=&Buat Folder Baru
+; *** Pesan dialog "Pilih Bahasa"
SelectLanguageTitle=Pilih Bahasa Instalasi
-SelectLanguageLabel=Pilih bahasa untuk di gunakan pada proses instalasi:
+SelectLanguageLabel=Pilih bahasa yang digunakan selama instalasi:
-ClickNext=Klik Lanjut untuk melanjutkan, atau Batal untuk keluar dari instalasi
+; *** Teks wizard biasa
+ClickNext=Klik Lanjut untuk melanjutkan, atau klik Batal untuk keluar dari Instalasi.
BeveledLabel=
-BrowseDialogTitle=Cari Folder
-BrowseDialogLabel=Pilih folder pada daftar di bawah, lalu klik OK
+BrowseDialogTitle=Jelajahi Folder
+BrowseDialogLabel=Pilih sebuah folder di bawah, lalu klik OK.
NewFolderName=Folder Baru
-WelcomeLabel1=Selamat datang di instalasi [name]
-WelcomeLabel2=Program ini akan memasang [name/ver] di komputer anda.%n%nDisarankan untuk menutup semua aplikasi yang sedang berjalan sebelum melanjutkan
-
-WizardPassword=Sandi
-PasswordLabel1=Instalasi ini di lindungi kata sandi
-PasswordLabel3=Harap masukkan kata sandi, lalu klik Lanjut untuk melanjutkan. Kata sandi bersifat case-sensitive
-PasswordEditLabel=&Sandi:
-IncorrectPassword=Sandi yang anda masukkan tidak cocok. Silahkan coba lagi
-
-WizardLicense=Perjanjian persetujuan
-LicenseLabel=Harap baca informasi penting ini sebelum melanjutkan
-LicenseLabel3=Harap baca perjanjian persetujuan ini. Anda harus menyetujui peraturan dari perjanjian ini sebelum melanjutkan
-LicenseAccepted=Saya &setuju
-LicenseNotAccepted=Saya &tidak setuju
-
+; *** Halaman "Selamat Datang"
+WelcomeLabel1=Selamat datang di Instalasi [name]
+WelcomeLabel2=Program ini akan memasang [name/ver] di komputer anda.%n%nDisarankan untuk menutup semua aplikasi yang berjalan sebelum melanjutkan.
+
+; *** Halaman "Kata Sandi"
+WizardPassword=Kata Sandi
+PasswordLabel1=Instalasi ini dilindungi kata sandi.
+PasswordLabel3=Harap masukkan kata sandi, klik Lanjut untuk melanjutkan. Kata sandi bersifat sensitif.
+PasswordEditLabel=&Kata Sandi:
+IncorrectPassword=Kata sandi yang anda masukkan salah. Silahkan coba lagi.
+
+; *** "License Agreement" wizard page
+WizardLicense=Persetujuan Lisensi
+LicenseLabel=Harap baca informasi penting berikut sebelum melanjutkan.
+LicenseLabel3=Harap baca Persetujuan Lisensi berikut. Anda harus setuju dengan persetujuan lisensi ini sebelum melanjutkan instalasi.
+LicenseAccepted=&Ya, saya setuju
+LicenseNotAccepted=&Tidak, saya tidak setuju
+
+; *** Halaman "Informasi"
WizardInfoBefore=Informasi
-InfoBeforeLabel=Harap baca informasi penting ini sebelum melanjutkan
-InfoBeforeClickLabel=Jika anda siap untuk melanjutkan pemasangan, klik Lanjut
+InfoBeforeLabel=Harap baca informasi penting berikut sebelum melanjutkan.
+InfoBeforeClickLabel=Jika anda siap melanjutkan, klik Lanjut.
WizardInfoAfter=Informasi
-InfoAfterLabel=Harap baca informasi penting ini sebelum melanjutkan
-InfoAfterClickLabel=Jika anda siap untuk melanjutkan pemasangan, klik Lanjut
+InfoAfterLabel=Harap baca informasi penting berikut sebelum melanjutkan.
+InfoAfterClickLabel=Jika anda siap melanjutkan, klik Lanjut.
-WizardUserInfo=Informasi pengguna
-UserInfoDesc=Harap masukkan informasi anda
-UserInfoName=&Nama pengguna:
+; *** Halaman "Informasi Pengguna"
+WizardUserInfo=Infornasi pengguna
+UserInfoDesc=Masukkan informasi anda.
+UserInfoName=&Nama Pengguna:
UserInfoOrg=&Organisasi:
-UserInfoSerial=&Nomor Serial:
-UserInfoNameRequired=Anda harus menuliskan nama
-
-WizardSelectDir=Pilih lokasi tujuan
-SelectDirDesc=Dimanakah [name] akan di pasang?
-SelectDirLabel3=Instalasi akan memasang [name] kedalam folder yang diberikan
-SelectDirBrowseLabel=Untuk melanjutkan, klik Lanjut. Jika anda ingin memilih folder yang lain, klik Jelajahi
-DiskSpaceMBLabel=Di butuhkan ruang bebas sebesar [mb] MB
-CannotInstallToNetworkDrive=Program tidak dapat memasang di drive jaringan
-CannotInstallToUNCPath=Program tidak dapat memasang ke lokasi UNC
-InvalidPath=Anda harus memasukkan lokasi lengkap dengan drive; contoh:%n%nC:\APP%n%natau lokasi UNC di form:%n%n\\server\share
-InvalidDrive=Drive atau UNC yang anda pilih tidak ada atau tidak dapat di akses. Harap pilih yang lain
-DiskSpaceWarningTitle=Ruang bebas tidak cukup
-DiskSpaceWarning=Program membutuhkan ruang bebas sebesar %1 KB untuk memasang, tapi drive yang dipilih hanya tersedia sebesar %2 KB.%n%nApakah anda ingin melanjutkan?
-DirNameTooLong=Nama folder terlalu panjang
-InvalidDirName=Nama folder tidak sah
-BadDirName32=Nama folder tidak dapat di isi dengan karakter:%n%n%1
-DirExistsTitle=Folder sudah ada
-DirExists=Folder:%n%n%1%n%nsudah ada. Apakah anda ingin memasang di folder tersebut?
-DirDoesntExistTitle=Folder tidak ada
-DirDoesntExist=Folder:%n%n%1%n%ntidak ada. Apakah anda ingin membuat folder tersebut?
-
+UserInfoSerial=&Nomor Seri:
+UserInfoNameRequired=Anda harus memasukkan nama.
+
+; *** Halaman "Pilih Lokasi Instalasi"
+WizardSelectDir=Pilih Lokasi Instalasi
+SelectDirDesc=Dimana [name] akan dipasang?
+SelectDirLabel3=Program akan memasang [name] di folder yang dipilih.
+SelectDirBrowseLabel=Untuk melanjutkan, klik Lanjut. Jika anda ingin memilik folder lain, klik Jelajahi.
+DiskSpaceMBLabel=Dibutuhkan setidaknya [mb] MB ruang bebas.
+CannotInstallToNetworkDrive=Tidak dapat memasang di drive jaringan.
+CannotInstallToUNCPath=Tidak dapat memasang di UNC path.
+InvalidPath=Anda harus memasukkan alamat beserta lokasi drive; contoh:%n%nC:\APP%n%maupun sebuah lokasi UNC:%n%n\\server\share
+InvalidDrive=Drive atau UNC yang anda pilih tidak ada atau tidak dapat diakses. Harap pilih yang lain.
+DiskSpaceWarningTitle=Ruang Bebas Tidak Cukup
+DiskSpaceWarning=Program membutuhkan setidaknya %1 KB untuk instalasi, tetapi drive yang anda pilih hanya memiliki %2 yang tersedia.%n%nApakah anda tetap ingin melanjutkan?
+DirNameTooLong=Nama folder atau lokasi terlalu panjang.
+InvalidDirName=Nama folder tidak sah.
+BadDirName32=Nama folder tidak boleh berisi karakter berikut:%n%n%1
+DirExistsTitle=Folder Sudah Ada
+DirExists=Folder:%n%n%1%n%nsudah ada. Apakah anda tetap ingin melanjutkan?
+DirDoesntExistTitle=Folder Tidak Ada
+DirDoesntExist=Folder:%n%n%1%n%ntidak ada. Apakah anda ingin membuatnya?
+
+; *** Halaman "Pilih Komponen"
WizardSelectComponents=Pilih Komponen
-SelectComponentsDesc=Komponen manakah yang akan di pasang?
-SelectComponentsLabel2=Pilih komponen yang ingin anda pasang; hapus komponen yang tidak ingin anda pasang. Klik Lanjut jika anda siap untuk melanjutkan
-FullInstallation=Instalasi penuh
-
-CompactInstallation=Instalasi padat
-CustomInstallation=Instalasi lain
-NoUninstallWarningTitle=Komponen sudah ada
-NoUninstallWarning=Program mendeteksi komponen ini sudah terpasang di komputer anda:%n%n%1%n%nTidak memilih komponen tersebut tidak akan menghapus mereka.%n%nApakah anda ingin memasangnya juga?
+SelectComponentsDesc=Komponen mana saja yang akan dipasang?
+SelectComponentsLabel2=Pilih komponen yang ingin anda pasang; bersihkan komponen yang tidak ingin anda pasang. Klik Lanjut jika anda sudah siap melanjutkan.
+FullInstallation=Instalasi Penuh
+; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
+CompactInstallation=Instalasi Padat
+CustomInstallation=Instalasi Kustom
+NoUninstallWarningTitle=Komponen Sudah Ada
+NoUninstallWarning=Instalasi mendeteksi komponen berikut telah terpasang di komputer anda:%n%n%1%n%nMembatalkan pilihan komponen ini tidak akan menghapusnya.%n%nTetap lanjutkan?
ComponentSize1=%1 KB
ComponentSize2=%1 MB
-ComponentsDiskSpaceMBLabel=Pilihan tersebut membutuhkan ruang bebas sebesar [mb] MB
-
-WizardSelectTasks=Pilih perintah tambahan
-SelectTasksDesc=Perintah tambahan manakah yang akan dilakukan?
-SelectTasksLabel2=Pilih perintah tambahan yang ingin anda lakukan ketika memasang [name], lalu klik Lanjut
-
-WizardSelectProgramGroup=Pilih folder Start Menu
-SelectStartMenuFolderDesc=Dimanakah lokasi jalan pintas program akan dibuat?
-SelectStartMenuFolderLabel3=Program instalasi akan membuat jalan pintas program di folder Start Menu
-SelectStartMenuFolderBrowseLabel=Untuk melanjutkan, klik Lanjut. Jika anda ingin memilih folder yang lain, klik Jelajahi
-MustEnterGroupName=Anda harus memasukkan nama folder
-GroupNameTooLong=Nama folder atau lokasi terlalu panjang
-InvalidGroupName=Nama folder tidak sah
-BadGroupName=Nama folder tidak dapat di isi dengan karakter:%n%n%1
+ComponentsDiskSpaceMBLabel=Pilihan ini membutuhkan setidaknya [mb] MB ruang bebas.
+
+; *** Halaman "Pilih Perintah Tambahan"
+WizardSelectTasks=Pilih Perintah Tambahan
+SelectTasksDesc=Perintah tambahan mana saja yang harus dilakukan?
+SelectTasksLabel2=Pilih perintah tambahan yang anda ingin lakukan saat memasang [name], lalu klik Lanjut.
+
+; *** Halaman "Pilih Folder Start Menu"
+WizardSelectProgramGroup=Pilih Folder Start Menu
+SelectStartMenuFolderDesc=Dimana Instalasi harus meletakkan jalan pintas program?
+SelectStartMenuFolderLabel3=Instalasi akan membuat jalan pintas program di folder Start Menu berikut.
+SelectStartMenuFolderBrowseLabel=Untuk melanjutkan, klik Lanjut. Jika anda ingin memilih folder lain, klik Jelajahi.
+MustEnterGroupName=Anda harus memasukkan nama folder.
+GroupNameTooLong=nama folder atau lokasi terlalu panjang.
+InvalidGroupName=Nama folder tidak sah.
+BadGroupName=Nama folder tidak boleh berisi karakter berikut:%n%n%1
NoProgramGroupCheck2=&Jangan buat folder Start Menu
-WizardReady=Siap untuk memasang
-ReadyLabel1=Instalasi sekarang siap untuk memulai pemasangan [name] di komputer anda
-ReadyLabel2a=Klik Pasang untuk melanjutkan pemasangan, atau klik Kembali jika anda ingin melihat ulang atau mengubah pengaturan
-ReadyLabel2b=Klik Pasang untuk melanjutkan pemasangan
-ReadyMemoUserInfo=Informasi pemakai:
-ReadyMemoDir=Folder Tujuan:
-ReadyMemoType=Tipe pemasangan:
+; *** Halaman "Siap Memasang"
+WizardReady=Siap Memasang
+ReadyLabel1=Sekarang Instalasi siap memasang [name] di komputer anda.
+ReadyLabel2a=Klik Pasang untuk melanjutkan instalasi, atau klik Kembali jika anda ingin melihat atau mengubah pilihan.
+ReadyLabel2b=Klik Pasang untuk melanjutkan instalasi.
+ReadyMemoUserInfo=Informasi Pengguna:
+ReadyMemoDir=Lokasi instalasi:
+ReadyMemoType=Tipe instalasi:
ReadyMemoComponents=Komponen terpilih:
ReadyMemoGroup=Folder Start Menu:
ReadyMemoTasks=Perintah tambahan:
-WizardPreparing=Bersiap untuk memasang
-PreparingDesc=Bersiap untuk memasang [name] di komputer anda
-PreviousInstallNotCompleted=Pemasangan/penghapusan sebelumnya tidak lengkap. Anda mungkin harus memulai ulang komputer anda untuk melengkapi pemasangan tersebut.%n%nSetelah memulai ulang komputer anda, jalankan kembali instalasi untuk melengkapi pemasangan [name]
-CannotContinue=Tidak dapat melanjutkan. Harap klik Tutup untuk menutup aplikasi
-ApplicationsFound=Aplikasi lain sedang menggunakan berkas yang akan di perbarui oleh program. Di sarankan anda mengijinkan program untuk menutup aplikasi tersebut secara otomatis
-ApplicationsFound2=Aplikasi lain sedang menggunakan berkas yang akan di perbarui oleh program. Di sarankan anda mengijinkan program untuk menutup aplikasi tersebut secara otomatis. Setelah instalasi lengkap, program akan berusaha memulai ulang aplikasi tersebut
-CloseApplications=&Otomatis tutup aplikasi
-DontCloseApplications=&Jangan tutup aplikasi
-ErrorCloseApplications=Tidak dapat menutup semua aplikasi. Disarankan untuk menutup semua aplikasi yang menggunakan berkas dari program yang akan dipasang
-
+; *** Halaman "Bersiap Memasang"
+WizardPreparing=Bersiap Memasang
+PreparingDesc=Sedang bersiap untuk memasang [name] di komputer anda.
+PreviousInstallNotCompleted=Instalasi/penghapusan sebelumnya tidak lengkap. Anda mungkin harus memulai ulang komputer anda untuk melengkapi instalasi.%n%nSetelah memulai ulang komputer anda, jalankan Instalasi kembali untuk melengkapi instalasi [name]
+CannotContinue=Tidak dapat melanjutkan. Klik Batal untuk keluar.
+ApplicationsFound=Aplikasi berikut sedang menggunakan berkas yang harus diperbarui. Direkomendasikan untuk membiarkan Instalasi untuk menutup aplikasi ini secara otomatis.
+ApplicationsFound2=Aplikasi berikut sedang menggunakan berkas yang harus diperbarui. Direkomendasikan untuk membiarkan Instalasi untuk menutup aplikasi ini secara otomatis. Setelah pemasangan selesai, Instalasi akan berusaha menjalankan kembali aplikasi tersebut.
+CloseApplications=&Otomatis tutup semua aplikasi
+DontCloseApplications=&Jangan tutup aplikasi tersebut
+ErrorCloseApplications=Instalasi tidak dapat menutup aplikasi secara otomatis. Anda disarankan untuk menutup aplikasi yang sedang menggunakan berkas yang perlu diperbarui oleh Instalasi sebelum melanjutkan.
+
+; *** Halaman "Memasang"
WizardInstalling=Memasang
-InstallingLabel=Silahkan tunggu sementara Instalasi memsang [name] di komputer anda
-
-FinishedHeadingLabel=Mengakhiri pemasangan [name]
-FinishedLabelNoIcons=Berhasil memasang [name] di komputer anda
-FinishedLabel=Berhasil memasang [name] di komputer anda. Aplikasi tersebut dapat di jalankan dengan memilih ikon yang terpasang
-ClickFinish=Klik Selesai untuk mengakhiri pemasangan
-FinishedRestartLabel=Untuk melengkapi pemasangan [name], instalasi harus memulai ulang komputer anda. Apakah anda setuju untuk memulai ulang sekarang?
-FinishedRestartMessage=Untuk melengkapi pemasangan [name], instalasi harus memulai ulang komputer anda.%n%nApakah anda setuju untuk memulai ulang sekarang?
-ShowReadmeCheck=Ya, Saya setuju untuk melihat berkas README
-YesRadio=&Ya, mulai ulang sekarang
-NoRadio=&Tidak, Saya akan memulai ulang komputer di lain waktu
+InstallingLabel=Harap tunggu sementara Instalasi memasang [name] di komputer anda.
+
+; *** Halaman "Instalasi Lengkap"
+FinishedHeadingLabel=Melengkapi instalasi [name]
+FinishedLabelNoIcons=Berhasil memasang [name] di komputer anda.
+FinishedLabel=Instalasi berhasil memasang [name] di komputer anda. Aplikasi tersebut dapat dijalankan dengan memilih jalan pintas yang terpasang.
+ClickFinish=Klik Selesai untuk keluar.
+FinishedRestartLabel=Untuk melengkapi pemasangan [name], Instalasi harus memulai ulang komputer anda. Lakukan sekarang?
+FinishedRestartMessage=Untuk melengkapi pemasangan [name], Instalasi harus memulai ulang komputer anda.%n%nLakukan sekarang?
+ShowReadmeCheck=Ya, baca berkas README sekarang
+YesRadio=&Ya, mulai ulang komputer sekarang
+NoRadio=&Tidak, saya akan memulai ulang nanti
+; Contoh penggunaan: 'Run MyProg.exe'
RunEntryExec=Jalankan %1
+; Contoh penggunaan: 'View Readme.txt'
RunEntryShellExec=Lihat %1
-ChangeDiskTitle=Instalasi membutuhkan disk lanjutan
-SelectDiskLabel2=Harap masukan disk lanjutan %1 lalu klik OK.%n%nJika berkas dalam disk dapat ditemukan di folder lain dapat di tampilkan di bawah, tulis lokasi yang benar atau klik Jelajahi
-PathLabel=&Path:
-FileNotInDir2=Berkas "%1" tidak dapat ditemukan di "%2". Harap masukkan disk yang benar atau pilih folder lain
-SelectDirectoryLabel=Harap tulis lokasi lebih spesifik
+; *** Isian "Instalasi Membutuhkan Diska Lanjutan"
+ChangeDiskTitle=Instalasi Membuthkan Diska Lanjutan
+SelectDiskLabel2=Harap masukan Diska %1 dan klik OK.%n%nJika berkas dalam diska ini dapat ditemukan di folder lain yang ditampilkan di bawah, masukkan lokasi yang benar atau klik Jelajahi.
+PathLabel=&Lokasi:
+FileNotInDir2=Berkas "%1" tidak dapat ditemukan di "%2". Harap masukkan diska yang benar atau pilih folder lain.
+SelectDirectoryLabel=Harap masukkan lokasi dari diska lanjutan.
-SetupAborted=Instalasi tidak lengkap.%n%nHarap cari kesalahan dan jalankan Instalasi kembali
-EntryAbortRetryIgnore=Klik Retry untuk mencoba lagi, Ignore untuk memproses di lain waktu, atau Abort untuk membatalkan instalasi
+; *** Pesan proses instalasi
+SetupAborted=Instalasi tidak lengkap.%n%nHarap perbaiki masalah dan jalankan Instalasi kembali.
+EntryAbortRetryIgnore=Klik Retry untuk mencoba lagi, Ignore untuk mengabaikan, atau Abort untuk membatalkan instalasi.
+; *** Pesan status instalasi
StatusClosingApplications=Menutup aplikasi...
StatusCreateDirs=Membuat direktori...
StatusExtractFiles=Mengekstrak berkas...
StatusCreateIcons=Membuat jalan pintas...
-StatusCreateIniEntries=Membuat INI entri...
+StatusCreateIniEntries=Membuat entri INI...
StatusCreateRegistryEntries=Membuat entri registry...
StatusRegisterFiles=Meregistrasi berkas...
-StatusSavingUninstall=Menyimpan informasi pelepasan...
-StatusRunProgram=Mengakhiri pemasangan...
-StatusRestartingApplications=Memulai ulang aplikasi...
-StatusRollback=Memutar kembali perubahan...
-
-ErrorInternal2=Kesalahan dari dalam: %1
-ErrorFunctionFailedNoCode=%1 gagal
+StatusSavingUninstall=Menyimpan informasi penghapusan...
+StatusRunProgram=Mengakhiri instalasi...
+StatusRestartingApplications=Menjalankan ulang aplikasi...
+StatusRollback=Membatalkan perubahan...
+
+; *** Macam macam kesalahan
+ErrorInternal2=Kesalahan internal: %1
+ErrorFunctionFailedNoCode=%1 failedgagal
ErrorFunctionFailed=%1 gagal; kode %2
ErrorFunctionFailedWithMessage=%1 gagal; kode %2.%n%3
ErrorExecutingProgram=Tidak dapat mengeksekusi berkas:%n%1
-ErrorRegOpenKey=Gagal membuka registry key:%n%1\%2
-ErrorRegCreateKey=Gagal membuat registry key:%n%1\%2
-ErrorRegWriteKey=Gagal menulis registry key:%n%1\%2
-
-ErrorIniEntry=Tidak dapat membuat daftar INI pada berkas "%1"
-
-FileAbortRetryIgnore=Klik Retry untuk mencoba lagi, Ignore untuk abaikan berkas (tidak di sarankan), atau Abort untuk membatalkan pemasangan
-FileAbortRetryIgnore2=Klik Retry untuk mencoba lagi, Ignore untuk memproses di lain waktu (tidak di sarankan), atau Abort untuk membatalkan pemasangan
-SourceIsCorrupted=Berkas sumber rusak
-SourceDoesntExist=Berkas sumber "%1" tidak ada
-ExistingFileReadOnly=Berkas yang ada di setel menjadi read-only.%n%Klik Retry untuk menghapus atribusi read-only dan coba lagi, Ignore untuk abaikan berkas, atau Abort untuk membatalkan pemasangan
-ErrorReadingExistingDest=Terjadi kesalahan ketika mencoba membaca berkas:
-FileExists=Berkas sudah ada.%n%nApakah anda ingin menimpa berkas tersebut?
-ExistingFileNewer=Berkas yang lebih baru dari pemasangan yang lain mencoba memasang. Direkomendasikan untuk tetap mempertahankan berkas tersebut.%n%nApakah anda ingin mempertahankan berkas tersebut?
-ErrorChangingAttr=Terjadi kesalahan ketika mencoba mengubah atribusi berkas:
-ErrorCreatingTemp=Terjadi kesalahan ketika mencoba membuat berkas di lokasi:
-ErrorReadingSource=Terjadi kesalahan ketika mencoba membaca berkas sumber:
-ErrorCopying=Terjadi kesalahan ketika mencoba menyalin berkas:
-ErrorReplacingExistingFile=Terjadi kesalahan ketika mencoba menimpa berkas:
+; *** Kesalahan Registry
+ErrorRegOpenKey=Gagal menbuka kunci registry:%n%1\%2
+ErrorRegCreateKey=Gagal membuat kunci registry:%n%1\%2
+ErrorRegWriteKey=Gagal menulis isi registry:%n%1\%2
+
+; *** Kesalahan INI
+ErrorIniEntry=Gagal membuat entri INI pada berkas "%1".
+
+; *** Kesalahan salin berkas
+FileAbortRetryIgnore=Klik Retry untuk mencoba lagi, Ignore untuk mengabaikan berkas (tidak disarankan), atau Abort untuk membatalkan instalasi.
+FileAbortRetryIgnore2=Klik Retry untuk mencoba lagi, Ignore untuk mengabaikan berkas (tidak disarankan), atau Abort untuk membatalkan instalasi.
+SourceIsCorrupted=Berkas asal telah rusak
+SourceDoesntExist=Berkas asal "%1" tidak ada
+ExistingFileReadOnly=Berkas yang sudah ada diatur menjadi hanya-baca.%n%nClick Retry untuk menghapus atribut hanya-baca dan mencoba lagi, Ignore untuk mengabaikan berkas, atau Abort untuk membatalkan instalasi.
+ErrorReadingExistingDest=Kesalahan terjadi saat mencoba membaca berkas:
+FileExists=Berkas sudah ada.%n%nApakah anda ingin Instalasi menimpanya?
+ExistingFileNewer=Berkas yang sudah ada lebih baru dari yang Instalasi coba pasang. Disarankan untuk membiarkan berkas tersebut.%n%nApa anda ingin membiar berkas tersebut?
+ErrorChangingAttr=Kesalahan terjadi saat mencoba mengubah atribut berkas:
+ErrorCreatingTemp=Kesalahan terjadi saat mencoba membuat berkas di lokasi instalasi:
+ErrorReadingSource=Kesalahan terjadi saat mencoba membaca berkas sumber:
+ErrorCopying=Kesalahan terjadi saat mencoba menyalin berkas:
+ErrorReplacingExistingFile=Kesalahan terjadi saat mencoba menimpa berkas:
ErrorRestartReplace=RestartReplace gagal:
-ErrorRenamingTemp=Kesalahan terjadi ketika mencoba untuk merubah nama berkas di lokasi tujuan:
-ErrorRegisterServer=Tidak dapat meregistrasi berkas DLL/OCX: %1
+ErrorRenamingTemp=Kesalahan terjadi saat mencoba mengubah nama berkas di lokasi instalasi:
+ErrorRegisterServer=Tidak dapat meregistrasi DLL/OCX: %1
ErrorRegSvr32Failed=RegSvr32 gagal dengan kode %1
-ErrorRegisterTypeLib=Tidak dapat meregistrasi type library: %1
-
-ErrorOpeningReadme=Kesalahan ketika membuka berkas README
-ErrorRestartingComputer=Program Instalasi tidak dapat memulai ulang komputer. Harap lakukan secara manual
-
-UninstallNotFound=Berkas "%1" tidak ada. Tidak dapat melepas
-UninstallOpenError=Berkas "%1" tidak dapat di jalankan. Tidak dapat melepas
-UninstallUnsupportedVer=Berkas log "%1" dalam format yang tidak cocok dengan versi pelepasan ini. Tidak dapat melepas
-UninstallUnknownEntry=Entri tidak di ketahui (%1) di temukan di catatan pelepasan
-ConfirmUninstall=Apakah anda yakin ingin menghapus %1 beserta semua komponennya?
-UninstallOnlyOnWin64=Pemasangan ini hanya dapat di lepas pada Windows versi 64-bit
-OnlyAdminCanUninstall=Pemasangan ini hanya bisa di lepas oleh pengguna dengan hak Administrator
-UninstallStatusLabel=Silahkan tunggu sementara %1 di hapus dari komputer anda
-UninstalledAll=%1 berhasil di hapus dari komputer anda
-UninstalledMost=Pelepasan %1 lengkap.%n%nBeberapa berkas tidak dapat di hapus. Berkas tersebut dapat dihapus secara manual
-UninstalledAndNeedsRestart=Untuk melengkapi proses pelepasan %1, komputer anda harus di mulai ulang. %n%nApakah anda setuju untuk mulai ulang sekarang?
-UninstallDataCorrupted=Berkas "%1" rusak. Tidak dapat di hapus
-
+ErrorRegisterTypeLib=Tidak dapat meregistrasi berkas: %1
+
+; *** Kesalahan setelah instalasi
+ErrorOpeningReadme=Kesalahan terjadi saat mencoba membuka berkas README.
+ErrorRestartingComputer=Program instalasi tidak dapat memulai ulang komputer. Harap lakukan secara manual.
+
+; *** Pesan Penghapusan
+UninstallNotFound=Berkas "%1" tidak ada. Tidak dapat menghapus.
+UninstallOpenError=Berkas "%1" tidak dapat dibuka. Tidak dapat menghapus.
+UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognized by this version of the uninstaller. Cannot uninstall
+UninstallUnknownEntry=Entri tidak dikenal (%1) ditemukan di catatan penghapusan
+ConfirmUninstall=Apakah anda yakin ingin menghapus seluruh %1 dan semua komponennya?
+UninstallOnlyOnWin64=Instalasi ini hanya bisa dihapus di Windows 64-bit.
+OnlyAdminCanUninstall=Instalasi ini hanya bisa dihapus oleh pengguna dengan ijin administrator.
+UninstallStatusLabel=Mohon tunggu sementara %1 dihapus dari komputer anda.
+UninstalledAll=%1 berhasil dihapus dari komputer anda.
+UninstalledMost=Penghapusan %1 telah selesai.%n%nBeberapa berkas tidak dapat dihapus. Anda dapat menghapusnya secara manual.
+UninstalledAndNeedsRestart=Untuk melengkapi penghapusan %1, komputer anda harus dimulai ulang.%n%nMulai ulang sekarang?
+UninstallDataCorrupted=Berkas "%1" telah rusak. Tidak dapat memasang
+
+; *** Pesan proses penghapusan
ConfirmDeleteSharedFileTitle=Hapus berbagi berkas?
-ConfirmDeleteSharedFile2=Sistem menunjukan file berbagi berkas sedang di pakai oleh program lain. Apakah anda yakin untuk melepas file berbagi berkas?%n%nJika program lain sedang memakai berkas ini dan berkas ini di hapus, program tersebut dapat tidak berfungsi. Jika anda tidak yakin, pilih No
-SharedFileNameLabel=Nama Berkas:
+ConfirmDeleteSharedFile2=Sistem mendeteksi bahwa berkas yang dibagikan tidak digunakan oleh program manapun. Apakah anda ingin Penghapus untuk menghapus berkas yang dibagikan ini?%n%nJika ada aplikasi yang masih memerlukan berkas ini dan berkas ini dihapus, aplikasi tersebut mungkin tidak bisa bekerja dengan semestinya. Jika anda tidak yakin, pilih No. Meninggalkan berkas ini di komputer anda tidak membahayakan sistem anda.
+SharedFileNameLabel=Nama berkas:
SharedFileLocationLabel=Lokasi:
-WizardUninstalling=Status pelepasan
-StatusUninstalling=Melepas %1...
+WizardUninstalling=Status penghapusan
+StatusUninstalling=Menghapus %1...
-ShutdownBlockReasonInstallingApp=Memasang %1
-ShutdownBlockReasonUninstallingApp=Melepas %1
+; *** Shutdown block reasons
+ShutdownBlockReasonInstallingApp=Memasang %1.
+ShutdownBlockReasonUninstallingApp=Menghapus %1.
+
+; Pesan kustom di bawah ini tidak digunakan oleh Instalasi itu sendiri,
+; tetapi jika anda membuatnya diperlukan di skrip anda, anda perlu menterjemahkannya
[CustomMessages]
+
NameAndVersion=%1 versi %2
-AdditionalIcons=Ikon tambahan:
-CreateDesktopIcon=Buat sebuah ikon di &Desktop
-CreateQuickLaunchIcon=Buat sebuah ikon di &Quick Launch
+AdditionalIcons=Jalan pintas tambahan:
+CreateDesktopIcon=Buat jalan pintas di &Desktop
+CreateQuickLaunchIcon=Buat jalan pintah di &Quick Launch
ProgramOnTheWeb=%1 di Web
-UninstallProgram=Lepas %1
-LaunchProgram=&Jalankan %1
-AssocFileExtension=%1 &asosiasikan dengan berkas berekstensi %2
-AssocingFileExtension=%1 asosiasikan dengan berkas berekstensi %2
+UninstallProgram=Hapus %1
+LaunchProgram=Jalankan %1
+AssocFileExtension=&Hubungkan %1 dengan berkas berekstensi %2
+AssocingFileExtension=Menghubungkan %1 dengan ekstensi berkas %2...
AutoStartProgramGroupDescription=Startup:
-AutoStartProgram=Otomatis menjalankan %1
-AddonHostProgramNotFound=%1 tidak ada di lokasi yang anda pilih.%n%nApakah anda ingin melanjutkan?
+AutoStartProgram=Jalankan %1 secara otomatis
+AddonHostProgramNotFound=%1 tidak dapat diletakkan di folder yang anda pilih.%n%nApakah anda tetap ingin melanjutkan?
diff --git a/distrib/Languages/Thai.isl b/distrib/Languages/Thai.isl
index 71de6e07f..a5d4abead 100644
--- a/distrib/Languages/Thai.isl
+++ b/distrib/Languages/Thai.isl
@@ -1,9 +1,9 @@
; Translation made with Stonevoice Translator 2.2 (http://www.stonevoice.com/auto/translator)
; $Translator:NL=%n:TB=%t
-; Suwat Yangfuang
-; suwat.yang@gmail.com
+; Suwat Yangfuang, Ekachai Omkaew
+; suwat.yang@gmail.com, ekaomk@gmail.com
;
-; *** Inno Setup version 5.1.11+ English messages ***
+; *** Inno Setup version 5.5.3+ Thai messages ***
;
; To download user-contributed translations of this file, go to:
; http://www.jrsoftware.org/files/istrans/
@@ -53,6 +53,10 @@ LastErrorMessage=%1.%n%nԴҴͧ %2: %3
SetupFileMissing= %1 Դó سõԴ駷ó
SetupFileCorrupt=õԴ سõԴ駷ó
SetupFileCorruptOrWrongVer=õԴ١ͧ سõԴ駷ó
+InvalidParameter=ԴҴش:%n%n%1
+SetupAlreadyRunning=õԴ駡ѧԹ
+WindowsVersionNotSupported=ͧѺѹͧԹǹسҹ
+WindowsServicePackRequired=ͧ %1 Service Pack %2 .
NotOnThisPlatform=ӧҹ к %1.
OnlyOnThisPlatform= ͧӧҹк %1.
OnlyOnTheseArchitectures=öԴ Windows 蹷͡ẺѺʶһѵ¡ͧ˹»żŴѧ仹:%n%n%1
@@ -143,7 +147,8 @@ SelectDirDesc=Դ [name] ?
SelectDirLabel3=õԴ駨еԴ [name] ŧ仹
SelectDirBrowseLabel=Թõԡ ӵ > Ҥسͧ͡ԡ ͡...
DiskSpaceMBLabel=õԴ駵ͧͷҧ¡ [mb] MB
-ToUNCPathname=õԴö UNC pathname Ҥسͧ map network drive ͵Դ
+CannotInstallToNetworkDrive=õԴöԴѧ͢
+CannotInstallToUNCPath=öԴŧѧ˹ UNC
InvalidPath=سͧ full path with drive letter; ҧ:%nC:\APP
InvalidDrive=س͡ س͡
DiskSpaceWarningTitle=ͷҧ㹴ʡ§
@@ -203,6 +208,11 @@ WizardPreparing= еԴ
PreparingDesc= ѧ ͵Դ [name] ͧͧس
PreviousInstallNotCompleted=õԴ Ͷʹ͹ ó سͧ restart ͧ õԴ ١ͧó%n%nѧҡ restart ͧ ¡ Setup ա õԴ [name] ١ͧó
CannotContinue=Դöӧҹ سҤԡ ¡ԡ ͡ҡ
+ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications.
+ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications.
+CloseApplications=&Automatically close the applications
+DontCloseApplications=&Do not close the applications
+ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing.
; *** "Installing" wizard page
WizardInstalling=õԴ
@@ -235,6 +245,7 @@ SetupAborted=õԴó%n%nس¡ õԴ ա˹
EntryAbortRetryIgnore=ԡ Retry ͧӧҹա, ԡ Ignore ͢÷ӧҹԴҴ, ԡ Abort ¡ԡõԴ
; *** Installation status messages
+StatusClosingApplications=ѧԴͻपѹ...
StatusCreateDirs=ҧ ..
StatusExtractFiles=â ҧ...
StatusCreateIcons=ҧ Program icons...
@@ -243,6 +254,7 @@ StatusCreateRegistryEntries=ҧ registry entries...
StatusRegisterFiles= Registering ҧ...
StatusSavingUninstall=úѹ֡ ¡ԡõԴ...
StatusRunProgram= õԴ...
+StatusRestartingApplications=ѧʵͻपѹ...
StatusRollback=¡׹ 䢷...
; *** Misc. errors
@@ -304,19 +316,23 @@ ConfirmDeleteSharedFile2=ź Ҩ ҹ%nسͧ
SharedFileNameLabel= :
SharedFileLocationLabel=˹:
WizardUninstalling=ʶҹ ¡ԡ
-StatusUninstalling=¡ԡ %1...
+StatusUninstalling=ѧ¡ԡ %1...
+
+; *** Shutdown block reasons
+ShutdownBlockReasonInstallingApp=ѧԴ %1.
+ShutdownBlockReasonUninstallingApp=ѧ¡ԡ %1.
; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.
[CustomMessages]
-NameAndVersion=%1 version %2
+NameAndVersion=%1 ѹ %2
AdditionalIcons=Additional icons:
-CreateDesktopIcon=Create a &desktop icon
-CreateQuickLaunchIcon=Create a &Quick Launch icon
-ProgramOnTheWeb=%1 on the Web
-UninstallProgram=Uninstall %1
-LaunchProgram=Launch %1
+CreateDesktopIcon=ҧ &ͤ͹ʷͻ
+CreateQuickLaunchIcon=ҧ &ͤ͹ᶺǹ
+ProgramOnTheWeb=%1
+UninstallProgram=¡ԡ %1
+LaunchProgram=Դ %1
AssocFileExtension=&Associate %1 with the %2 file extension
AssocingFileExtension=Associating %1 with the %2 file extension...
diff --git a/distrib/Languages/Vietnamese.isl b/distrib/Languages/Vietnamese.isl
index 1451c47db..67ae9c9fe 100644
--- a/distrib/Languages/Vietnamese.isl
+++ b/distrib/Languages/Vietnamese.isl
@@ -1,8 +1,6 @@
-; Language: Vietnamese
-; Full name: Phung Tien Duong
-; Email: phungtienduong@yahoo.com
-
-; *** Inno Setup version 5.1.11+ English messages ***
+; *** Inno Setup version 5.5.3+ Vietnamese messages ***
+;Transtator: Duy Quang Le (Hanoi, Vietnam)
+;Email: leduyquang753@gmail.com
;
; To download user-contributed translations of this file, go to:
; http://www.jrsoftware.org/files/istrans/
@@ -15,14 +13,14 @@
[LangOptions]
; The following three entries are very important. Be sure to read and
; understand the '[LangOptions] section' topic in the help file.
-LanguageName=Vietnam
+LanguageName=Vietnamese (Tieng Viet)
LanguageID=$042A
-LanguageCodePage=1258
+LanguageCodePage=0
; If the language you are translating to requires special font faces or
; sizes, uncomment any of the following entries and change them accordingly.
-DialogFontName=Arial
-DialogFontSize=8
-WelcomeFontName=Arial
+;DialogFontName=
+;DialogFontSize=8
+;WelcomeFontName=Verdana
;WelcomeFontSize=12
;TitleFontName=Arial
;TitleFontSize=29
@@ -32,290 +30,305 @@ WelcomeFontName=Arial
[Messages]
; *** Application titles
-SetupAppTitle=Cai t
-SetupWindowTitle=Cai t - %1
-UninstallAppTitle=G bo
-UninstallAppFullTitle=%1 G bo
+SetupAppTitle=Cai dat
+SetupWindowTitle=Cai dat - %1
+UninstallAppTitle=Go cai dat
+UninstallAppFullTitle=Go cai dat %1
; *** Misc. common
-InformationTitle=Thng tin
-ConfirmTitle=Xac nhn
-ErrorTitle=Li
+InformationTitle=Thong tin
+ConfirmTitle=Chung nhan
+ErrorTitle=Loi
; *** SetupLdr messages
-SetupLdrStartupMessage=%1 se c cai t. Ban co mun tip tuc ?
-LdrCannotCreateTemp=Khng th tao tp tin tam. Cai t bi huy
-LdrCannotExecTemp=Khng th thc thi tp tin trong th muc tam. Cai t bi huy
-
+SetupLdrStartupMessage=Chuong trinh nay se cai dat %1. Ban co muon tiep tuc?
+LdrCannotCreateTemp=Khong the tao tep tam thoi. Cai dat bi huy bo
+LdrCannotExecTemp=Khong the chay tep trong thu muc tam thoi. Cai dat bi huy bo
; *** Startup error messages
-LastErrorMessage=%1.%n%nLi %2: %3
-SetupFileMissing=Tp tin %1 khng co trong th muc cai t. Hay xem lai vn nay hoc dung b cai t khac
-SetupFileCorrupt=Cac tp tin cai t bi h. nghi tim b cai t khac.
-SetupFileCorruptOrWrongVer=Cac tp tin cai t bi h, hoc khng tng thich vi phin ban nay. Hay xem lai vn nay hoc dung b cai t khac.
-NotOnThisPlatform=Chng trinh nay se khng chay trn %1.
-OnlyOnThisPlatform=Chng trinh nay phai c chay trn %1.
-OnlyOnTheseArchitectures=Chng trinh nay chi co th c cai t trn phin ban cua Windows c thit k cho cac CPU sau:%n%n%1
-MissingWOW64APIs=Phin ban Windows ang chay khng co chc nng cn thit cho b cai t cai t ng dung 64 bit. khc phuc, nghi cai t ban va %1.
-WinVersionTooLowError=Chng trinh nay yu cu %1 phin ban %2 hoc mi hn.
-WinVersionTooHighError=Chng trinh nay khng th c cai t trn %1 phin ban %2 hoc mi hn.
-AdminPrivilegesRequired=Ban phai ng nhp vi quyn quan tri khi cai t chng trinh nay.
-PowerUserPrivilegesRequired=Ban phai ng nhp vi quyn quan tri hoc la thanh vin cua nhom Power Users khi cai t chng trinh nay.
-SetupAppRunningError=Trinh cai t phat hin %1 ang chay.%n%n nghi ong tt ca lai, ri nhn ng y tip tuc, hoc Huy ngng cai t.
-UninstallAppRunningError=Trinh g bo phat hin %1 ang chay.%n%n nghi ong tt ca lai, ri nhn ng y tip tuc, hoc Huy ngng cai t.
-
+LastErrorMessage=%1.%n%nLoi %2: %3
+SetupFileMissing=Tep %1 khong duoc tim thay trong thu muc cai dat. Hay sua loi hoac tim ban khac cua chuong trinh.
+SetupFileCorrupt=Tep cai dat co hong hoc. Hay tim ban khac cua chuong trinh.
+SetupFileCorruptOrWrongVer=Tep cai dat co hong hoc, hoac khong tuong thich voi phien ban cai dat nay. Hay sua loi hoac tim ban khac cua chuong trinh.
+InvalidParameter=Mot con tro khong hop le da di qua tren dong lenh:%n%n%1
+SetupAlreadyRunning=Cai dat hien dang chay.
+WindowsVersionNotSupported=Chuong trinh nay khong ho tro cho phien ban Windows ma ban dang chay.
+WindowsServicePackRequired=Chuong trinh nay yeu cau %1 Goi An ninh %2 hoac moi hon.
+NotOnThisPlatform=Chuong trinh nay se khong chay tren %1.
+OnlyOnThisPlatform=Chuong trinh nay phai chay tren %1.
+OnlyOnTheseArchitectures=Chuong trinh nay chi co the cai dat tren nhung phien ban cua Windows duoc thiet ke cho nhung bo vi xu ly sau:%n%n%1
+MissingWOW64APIs=Phien ban Windows ban dang chay khong bao gom cac kha nangduoc yeu cau boi cai dat de thuc hien mot su cai dat chuong trinh 64-bit. De sua loi nay, please install Service Hay cai dat Goi An ninh%1.
+WinVersionTooLowError=Chuong trinh nay yeu cau %1 phien ban %2 hoac moi hon.
+WinVersionTooHighError=Chuong trinh nay khong the duoc cai dat tren %1 phien ban %2 hoac moi hon.
+AdminPrivilegesRequired=Ban phai la Adminstrator de cai dat chuong trinh nay.
+PowerUserPrivilegesRequired=Ban phai la Adminstrator hoac mot thanh vien cua nhom nguoi dung quyen luc de cai dat chuong trinh nay.
+SetupAppRunningError=Viec cai dat bi gian doan vi %1 dang chay.%n%nHay dong chung lai, roi click OK de tiep tuc, hoac Huy de thoat.
+UninstallAppRunningError=Viec go cai dat bi gian doan vi %1 dang chay.%n%nHay dong chung lai, roi click OK de tiep tuc, hoac Huy de thoat.
; *** Misc. errors
-ErrorCreatingDir=Trinh cai t khng th tao th muc "%1"
-ErrorTooManyFilesInDir=Khng th tao tp tin trong th muc "%1" vi no cha qua nhiu tp tin
-
+ErrorCreatingDir=Cai dat khong the tao thu muc "%1"
+ErrorTooManyFilesInDir=Khong the tao tep trong thu muc "%1" vi no chua qua nhieu tep
; *** Setup common messages
-ExitSetupTitle=Ngng cai t
-ExitSetupMessage=Trinh cai t cha hoan tt. Nu ban ngng lai, chng trinh se khng c cai t.%n%nBan co th chay trinh cai t vao luc khac hoan tt vic cai t.%n%nBan tht s mun ngng cai t ?
-AboutSetupMenuItem=&Gii thiu trinh cai t...
-AboutSetupTitle=Gii thiu trinh cai t
-AboutSetupMessage=%1 phin ban %2%n%3%n%n%1 trang chu:%n%4
-AboutSetupNote=
-TranslatorNote=
+ExitSetupTitle=Thoat cai dat
+ExitSetupMessage=Viec cai dat chua hoan thanh. Neu ban thoat bay gio, chuong trinh se khong duoc cai dat.%n%nBan co the phai chay Cai dat mot lan khac de hoan thanh cai dat.%n%nThoat cai dat?
+AboutSetupMenuItem=&Ve cai dat...
+AboutSetupTitle=Ve cai dat
+AboutSetupMessage=%1 phien ban %2%n%3%n%n%1 trang chu:%n%4
+AboutSetupNote=Phien ban ngon ngu goc: Tieng Anh
+TranslatorNote=Nguoi dich: Le Duy Quang
; *** Buttons
-ButtonBack=< &Lui lai
-ButtonNext=i &tip >
-ButtonInstall=&Cai t
-ButtonOK=ng y
-ButtonCancel=Huy
-ButtonYes=&ng y
-ButtonYesToAll=ng y &tt
-ButtonNo=&Khng
-ButtonNoToAll=Khn&g tt
-ButtonFinish=&Hoan tt
-ButtonBrowse=&Duyt...
-ButtonWizardBrowse=&Duyt...
-ButtonNewFolder=&Tao th muc mi
+ButtonBack=< &Truoc
+ButtonNext=T&iep >
+ButtonInstall=&Cai dat
+ButtonOK=OK
+ButtonCancel=Huy
+ButtonYes=C&o
+ButtonYesToAll=Co c&ho tat ca
+ButtonNo=&Khong
+ButtonNoToAll=Kho&ng cho tat ca
+ButtonFinish=Ho&an thanh
+ButtonBrowse=Ti&m...
+ButtonWizardBrowse=Tim&...
+ButtonNewFolder=Tao th&u muc moi
; *** "Select Language" dialog messages
-SelectLanguageTitle=Chon ngn ng cai t
-SelectLanguageLabel=Chon ngn ng dung trong khi cai t:
+SelectLanguageTitle=Lua chon ngon ngu cai dat
+SelectLanguageLabel=Lua chon ngon ngu de hien thi khi cai dat:
; *** Common wizard text
-ClickNext=Nhn i tip tip tuc, hoc Huy ngng cai t.
+ClickNext=Click Tiep de tiep tuc, hoac Huy de thoat cai dat.
BeveledLabel=
-BrowseDialogTitle=Duyt th muc
-BrowseDialogLabel=Chon th muc trong danh sach di y, ri nhn ng y.
-NewFolderName=Th muc mi
+BrowseDialogTitle=Tim thu muc
+BrowseDialogLabel=Chon mot thu muc trong danh sach duoi day, roi click OK.
+NewFolderName=Thu muc moi
; *** "Welcome" wizard page
-WelcomeLabel1=Chao mng n vi trinh cai t [name]
-WelcomeLabel2=[name/ver] se c cai t trn may tinh cua ban.%n%nBan nn ong cac ng dung ang chay trc khi tip tuc.
+WelcomeLabel1=Chao mung toi trinh cai dat [name]
+WelcomeLabel2=No se cai dat [name/ver] tren may tinh cua ban.%n%nBan can phai dong tat ca chuong trinh co lien quan truoc khi tiep tuc.
; *** "Password" wizard page
-WizardPassword=Mt ma
-PasswordLabel1=B cai t nay c bao v bi mt ma.
-PasswordLabel3= nghi cung cp mt ma, ri nhn i tip tip tuc. Mt ma co phn bit ch hoa.
-PasswordEditLabel=&Mt ma:
-IncorrectPassword=Mt ma ban nhp vao khng ung. nghi th lai.
+WizardPassword=Mat khau
+PasswordLabel1=Viec cai dat duoc bao ve bang mat khau.
+PasswordLabel3=Hay nhap mat khau, roi click Tiep de tiep tuc. Can nhap chinh xac 100% (phan biet chu hoa va chu thuong).
+PasswordEditLabel=&Mat khau:
+IncorrectPassword=Mat khau ban vua nhap vao khong dung. Hay thu lai.
; *** "License Agreement" wizard page
-WizardLicense=Thoa thun giy phep
-LicenseLabel= nghi oc ky thng tin quan trong sau y trc khi cai t.
-LicenseLabel3= nghi oc ky thoa thun giy phep. Ban phai chp nhn cac iu khoan trong thoa thun nay trc khi tip tuc cai t.
-LicenseAccepted=Ti &chp nhn thoa thun nay
-LicenseNotAccepted=Ti &khng chp nhn thoa thun nay
+WizardLicense=Hop dong Chuyen giao
+LicenseLabel=Hay doc nhung thong tin quan trong sau truoc khi tiep tuc.
+LicenseLabel3=Hay doc hop dong Chuyen giao sau day. Ban PHAI chap nhan cac dieu khoan truoc khi tiep tuc.
+LicenseAccepted=Toi &chap nhan cac dieu khoan
+LicenseNotAccepted=Toi k&hong chap nhan cac dieu khoan
; *** "Information" wizard pages
-WizardInfoBefore=Thng tin
-InfoBeforeLabel= nghi oc ky thng tin quan trong sau y trc khi cai t.
-InfoBeforeClickLabel=Khi a sn sang tip tuc cai t, nhn i tip.
-WizardInfoAfter=Thng tin
-InfoAfterLabel= nghi oc ky thng tin quan trong sau y trc khi cai t.
-InfoAfterClickLabel=Khi a sn sang tip tuc cai t, nhn i tip.
+WizardInfoBefore=Thong tin
+InfoBeforeLabel=Hay doc nhung thong tin quan trong sau truoc khi tiep tuc.
+InfoBeforeClickLabel=Khi ban da san sang tiep tuc voi Cai dat, click Tiep.
+WizardInfoAfter=Thong tin
+InfoAfterLabel=Hay doc nhung thong tin quan trong sau truoc khi tiep tuc.
+InfoAfterClickLabel=Khi ban da san sang tiep tuc voi Cai dat, click Tiep.
; *** "User Information" wizard page
-WizardUserInfo=Thng tin ngi dung
-UserInfoDesc= nghi nhp thng tin cua ban.
-UserInfoName=&Ho tn:
-UserInfoOrg=&T chc:
-UserInfoSerial=&S serial:
-UserInfoNameRequired=Ban phai nhp tn.
+WizardUserInfo=Thong tin nguoi dung
+UserInfoDesc=Hay nhap thong tin cua ban.
+UserInfoName=T&en nguoi dung:
+UserInfoOrg=T&o chuc:
+UserInfoSerial=&Serial:
+UserInfoNameRequired=Ban phai dien vao mot ten.
; *** "Select Destination Location" wizard page
-WizardSelectDir=Chon vi tri cai t
-SelectDirDesc=[name] se c cai t u ?
-SelectDirLabel3=Trinh cai t se cai t [name] vao th muc sau.
-SelectDirBrowseLabel= tip tuc, nhn i tip. Nu ban mun chon th muc khac, nhn Duyt.
-DiskSpaceMBLabel=Cn ti thiu [mb] MB trng trn ia cng.
-ToUNCPathname=Trinh cai t khng th cai t ln ng dn UNC. Nu mun cai t ln mang, ban phai tao ia mang.
-InvalidPath=Ban phai nhp tn ng dn y u kem theo tn ia; thi du:%n%nC:\APP%n%nhoc ng dn UNC di dang:%n%n\\server\share
-InvalidDrive= ia hoc ng dn UNC ban chon khng tn tai hoc khng th truy xut. nghi chon cai khac.
-DiskSpaceWarningTitle=Khng u ia trng
-DiskSpaceWarning=Trinh cai t cn it nht %1 KB ia trng cai t, nhng ia c chon chi co %2 KB trng.%n%nBan vn mun tip tuc ?
-DirNameTooLong=Tn th muc hoc ng dn qua dai.
-InvalidDirName=Tn th muc khng hp l.
-BadDirName32=Tn th muc khng c cha cac ky t sau:%n%n%1
-DirExistsTitle=Th muc a co
-DirExists=Th muc:%n%n%1%n%na co. Ban vn mun cai t ln th muc o ?
-DirDoesntExistTitle=Th muc cha co
-DirDoesntExist=Th muc:%n%n%1%n%nkhng co. Ban mun tao th muc mi ?
+WizardSelectDir=Lua chon thu muc dich
+SelectDirDesc=[name] nen duoc cai dat o dau?
+SelectDirLabel3=Cai dat se cai [name] vao thu muc sau.
+SelectDirBrowseLabel=De tiep tuc, click Tiep. Neu ban muon chon thu muc khac, click Tim.
+DiskSpaceMBLabel=It nhat [mb] MB o dia trong duoc yeu cau.
+CannotInstallToNetworkDrive=Cai dat khong the cai vao mang luoi.
+CannotInstallToUNCPath=Cai dat khong the cai vao dia chi UNC.
+InvalidPath=Ban phai nhap duong dan day du voi chu cai cua o dia; vi du:%n%nC:\APP%n%nhoac mot duong dan UNC theo mau:%n%n\\server\share
+InvalidDrive=O dia hoac UNC share ban da chon khong ton tai hoac khong the truy cap. Hay chon khac.
+DiskSpaceWarningTitle=Khong du dung luong dia trong
+DiskSpaceWarning=Cai dat can it nhat %1 KB o dia trong de cai dat, nhung o dia da chon chi co %2 KB.%n%nBan co muon tiep tuc?
+DirNameTooLong=Ten thu muc hoac duong dan qua dai.
+InvalidDirName=Ten thu muc khong hop le.
+BadDirName32=Ten thu muc khong duoc co cac ki tu sau:%n%n%1
+DirExistsTitle=Thu muc da ton tai
+DirExists=Thu muc:%n%n%1%n%nda ton tai. Ban co muon cai thu muc nay?
+DirDoesntExistTitle=Thu muc khong ton tai
+DirDoesntExist=Thu muc:%n%n%1%n%nkhong ton tai. Ban co muon tao thu muc nay?
; *** "Select Components" wizard page
-WizardSelectComponents=Chon thanh phn
-SelectComponentsDesc=Ban mun cai t thanh phn nao ?
-SelectComponentsLabel2=Chon thanh phn ban mun cai t; khng chon thanh phn ban khng mun cai t. Nhn i tip tip tuc.
-FullInstallation=Cai t y u
+WizardSelectComponents=Lua chon phan phu tro
+SelectComponentsDesc=Nhung phan phu tro nao nen duoc cai dat?
+SelectComponentsLabel2=Lua chon nhung phan phu tro ban muon cai dat; xoa nhung cai ban khong muon. Click Tiep khi ban da san sang tiep tuc.
+FullInstallation=Cai dat day du
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
-CompactInstallation=Cai t ti thiu
-CustomInstallation=Cai t tuy chon
-NoUninstallWarningTitle=Thanh phn a co
-NoUninstallWarning=Trinh cai t phat hin thanh phn sau y a c cai t trn may tinh cua ban:%n%n%1%n%nKhng la chon cac thanh phn nay se khng g bo chung.%n%nBan vn mun tip tuc ?
+CompactInstallation=Cai dat co ban
+CustomInstallation=Cai dat theo y thich
+NoUninstallWarningTitle=Phan phu tro da ton tai
+NoUninstallWarning=Cai dat bi gian doan vi nhung thanh phan phu tro sau da duoc cai dat vao may tinh cua ban:%n%n%1%n%nBo chon nhung cai nay se khong cai dat chung.%n%nBan co muon tiep tuc?
ComponentSize1=%1 KB
ComponentSize2=%1 MB
-ComponentsDiskSpaceMBLabel=La chon hin tai cn ti thiu [mb] MB ia trng.
+ComponentsDiskSpaceMBLabel=Lua chon nay can it nhat [mb] MB o dia trong.
; *** "Select Additional Tasks" wizard page
-WizardSelectTasks=Chon cac tac vu b sung
-SelectTasksDesc=Tac vu b sung nao cn thc hin ?
-SelectTasksLabel2=Chon cac tac vu b sung ban mun trinh cai t thc hin trong khi cai t [name], ri nhn i tip.
+WizardSelectTasks=Lua chon hanh dong bo sung
+SelectTasksDesc=Nhung hanh dong nao can duoc bo sung?
+SelectTasksLabel2=Lua chon nhung hanh dong ma ban muon Cai dat bo sung khi cai dat [name], sau do click Tiep.
; *** "Select Start Menu Folder" wizard page
-WizardSelectProgramGroup=Chon th muc Start Menu
-SelectStartMenuFolderDesc=Trinh cai t tao shortcut cua chng trinh u ?
-SelectStartMenuFolderLabel3=Trinh cai t se tao shortcut cua chng trinh trong th muc sau cua Start Menu.
-SelectStartMenuFolderBrowseLabel= tip tuc, nhn i tip. Nu ban mun chon th muc khac, nhn Duyt.
-MustEnterGroupName=Ban phai nhp tn th muc.
-GroupNameTooLong=Tn th muc hoc ng dn qua dai.
-InvalidGroupName=Tn th muc khng hp l.
-BadGroupName=Tn th muc khng c cha cac ky t sau:%n%n%1
-NoProgramGroupCheck2=&Khng tao c th muc Start Menu
+WizardSelectProgramGroup=ua chon thu muc trong menu Start
+SelectStartMenuFolderDesc=Loi tat cua chuong trinh nen duoc dat o dau trong menu Start?
+SelectStartMenuFolderLabel3=Cai dat se tao loi tat cua chuong trinh trong thu muc sau cua menu Start.
+SelectStartMenuFolderBrowseLabel=De tiep tuc, click Tiep. Neu ban muon chon thu muc khac, click Tim.
+MustEnterGroupName=Ban phai nhap ten mot thu muc.
+GroupNameTooLong=Ten thu muc hoac duong dan qua dai.
+InvalidGroupName=Ten thu muc khong hop le.
+BadGroupName=Ten thu muc khong duoc chua cac ki tu sau:%n%n%1
+NoProgramGroupCheck2=&Khong tao mot thu muc trong menu Start
; *** "Ready to Install" wizard page
-WizardReady=Sn sang cai t
-ReadyLabel1=Trinh cai t a sn sang cai t [name] ln may tinh cua ban.
-ReadyLabel2a=Nhn Cai t tip tuc cai t, hoc nhn Lui lai nu ban mun xem lai hoc thay i bt c thit lp nao.
-ReadyLabel2b=Nhn Cai t tip tuc cai t.
-ReadyMemoUser=Thng tin ngi dung:
-ReadyMemoDir=Vi tri cai t:
-ReadyMemoType=Kiu cai t:
-ReadyMemoComponents=Cac thanh phn c chon:
-ReadyMemoGroup=Th muc Start Menu:
-ReadyMemoTasks=Cac tac vu b sung:
+WizardReady=San sang cai dat
+ReadyLabel1=Cai dat da san sang cai [name] tren may tinh cua ban.
+ReadyLabel2a=Click Cai dat de tiep tuc cai dat, hoac click Truoc neu ban muon xem lai hoac thay doi mot so cai dat.
+ReadyLabel2b=Click Cai dat de tiep tuc cai dat.
+ReadyMemoUserInfo=Thong tin nguoi dung:
+ReadyMemoDir=Thu muc dich:
+ReadyMemoType=Kieu cai dat:
+ReadyMemoComponents=Nhung thanh phan phu tro da chon:
+ReadyMemoGroup=Thu muc trong menu Start:
+ReadyMemoTasks=Nhung hanh dong bo sung:
; *** "Preparing to Install" wizard page
-WizardPreparing=ang chun bi cai t
-PreparingDesc=Trinh cai t ang chun bi cai t [name] ln may tinh cua ban.
-PreviousInstallNotCompleted=Vic cai t/g bo cua chng trinh trc cha hoan tt. Ban cn khi ng lai may tinh hoan tt qua trinh cai t.%n%nSau khi khi ng lai may tinh, chay trinh cai t ln na hoan tt qua trinh cai t [name].
-CannotContinue=Trinh cai t khng th tip tuc. nghi nhn Huy ngng cai t.
+WizardPreparing=Chuan bi cai dat
+PreparingDesc=Cai dat dang chuan bi cai [name] tren may tinh cua ban.
+PreviousInstallNotCompleted=Viec (go) cai dat chuong trinh cu khong hoan thanh. Ban se can phai khoi dong lai may tinh de hoan thanh cai dat.%n%nSau khi khoi dong lai, hay chay Cai dat mot lan nua de hoan thanh cai dat [name].
+CannotContinue=Cai dat khong the tiep tuc. Click Huy de thoat.
+ApplicationsFound=Nhung chuong trinh sau su dung cac tep can duoc cap nhat boi Cai dat. Dieu can thiet la ban phai chap nhan Cai dat dong cac chuong trinh nay.
+ApplicationsFound2=Nhung chuong trinh sau su dung cac tep can duoc cap nhat boi Cai dat. Dieu can thiet la ban phai chap nhan Cai dat dong cac chuong trinh nay. Sau khi cai dat hoan thanh, Cai dat se co mo lai chung.
+CloseApplications=T&u dong dong nhung chuong trinh nay
+DontCloseApplications=&Khong dong nhung chuong trinh nay
+ErrorCloseApplications=Cai dat khong the dong tat ca cac chuong trinh. Dieu can thiet la ban phai dong cac chuong trinh su dung tep can duoc cap nhat boi Cai dat truoc khi tiep tuc.
; *** "Installing" wizard page
-WizardInstalling=ang cai t
-InstallingLabel= nghi ch trong khi cai t [name] ln may tinh cua ban.
+WizardInstalling=Dang cai dat
+InstallingLabel=Hay doi khi Cai dat dang cai [name] tren may tinh cua ban.
; *** "Setup Completed" wizard page
-FinishedHeadingLabel=a hoan tt cai t [name]
-FinishedLabelNoIcons=Trinh cai t a hoan tt vic cai t [name] ln may tinh cua ban.
-FinishedLabel=Trinh cai t a hoan tt vic cai t [name] ln may tinh cua ban. ng dung se c thc thi khi chon biu tng a c cai t.
-ClickFinish=Nhn Hoan tt thoat khoi trinh cai t.
-FinishedRestartLabel= hoan tt vic cai t [name], trinh cai t cn phai khi ng lai may tinh. Ban mun khi ng lai by gi ?
-FinishedRestartMessage= hoan tt vic cai t [name], trinh cai t cn phai khi ng lai may tinh.%n%nBan mun khi ng lai by gi ?
-ShowReadmeCheck=Vng, ti mun xem tp tin README
-YesRadio=&Vng, khi ng lai may tinh by gi
-NoRadio=&Khng, ti se khi ng lai may tinh sau
+FinishedHeadingLabel=Hoan thanh cai dat [name]
+FinishedLabelNoIcons=Da cai dat thanh cong [name] tren may tinh cua ban.
+FinishedLabel=Da cai dat thanh cong [name] tren may tinh cua ban. No co the duoc chay bang cach click vao bieu tuong cua no.
+ClickFinish=Click Hoan thnah de thoat Cai dat.
+FinishedRestartLabel=De hoan thanh cai dat [name], may tinh cua ban phai duoc khoi dong lai. Ban co muon khoi dong lai khong?
+FinishedRestartMessage=De hoan thanh cai dat [name], may tinh cua ban phai duoc khoi dong lai.%n%nBan co muon khoi dong lai khong?
+ShowReadmeCheck=Co, to muon xem tep README
+YesRadio=&Co, khoi dong lai may tinh ngay bay gio
+NoRadio=&Khong, toi se khoi dong lai may tinh sau
; used for example as 'Run MyProg.exe'
-RunEntryExec=Chay %1
+RunEntryExec=Chay %1
; used for example as 'View Readme.txt'
-RunEntryShellExec=Xem %1
+RunEntryShellExec=Hien thi %1
; *** "Setup Needs the Next Disk" stuff
-ChangeDiskTitle=Trinh cai t cn ia tip theo
-SelectDiskLabel2= nghi a ia %1 va nhn ng y.%n%nNu cac tp tin trn ia nay co trong th muc khac vi th muc ang hin thi di y, nhp ng dn chinh xac hoc nhn Duyt.
-PathLabel=ng &dn:
-FileNotInDir2=Tp tin "%1" khng c tim thy trong "%2". nghi a ung ia hoc chon th muc khac.
-SelectDirectoryLabel= nghi chi vi tri cua ia tip theo.
+ChangeDiskTitle=Cai dat can dia tiep theo
+SelectDiskLabel2=Hay chen dia %1 va click OK.%n%nNeu nhung tep tren dia do co the tim o noi khac voi duoc hien thi duoi day, nhap duong dan dung hoac click Tim.
+PathLabel=&Path:
+FileNotInDir2=Tep "%1" khong duoc dat trong "%2". Hay chen dia dung hoac chon thu muc khac.
+SelectDirectoryLabel=Hay xac dinh vi tri cua dia tiep theo.
; *** Installation phase messages
-SetupAborted=Trinh cai t cha hoan tt.%n%n nghi xem lai va chay lai ln na.
-EntryAbortRetryIgnore=Nhn Retry th lai, Ignore bo qua, hoc Abort huy qua trinh cai t.
+SetupAborted=Cai dat khong duoc hoan thanh.%n%nHay sua loi va chay Cai dat lai.
+EntryAbortRetryIgnore=Click Thu lai de thu lai, Bo qua de tiep tuc (nhay qua loi), hoac Tu choi de huy cai dat.
; *** Installation status messages
-StatusCreateDirs=ang tao th muc...
-StatusExtractFiles=ang tach cac tp tin...
-StatusCreateIcons=ang tao shortcuts...
-StatusCreateIniEntries=ang tao cac dong INI...
-StatusCreateRegistryEntries=ang tao cac dong registry...
-StatusRegisterFiles=ang ng ky cac tp tin...
-StatusSavingUninstall=ang lu cac thng tin cho trinh g bo...
-StatusRunProgram=ang hoan tt qua trinh cai t...
-StatusRollback=ang hoan lai nhng thay i...
+StatusClosingApplications=Dang dong cac chuong trinh...
+StatusCreateDirs=Dang tao thu muc...
+StatusExtractFiles=Dang giai nen cac tep...
+StatusCreateIcons=Dang tao loi tat...
+StatusCreateIniEntries=Dang tao dau vao INI...
+StatusCreateRegistryEntries=Dang tao dau vao Registry...
+StatusRegisterFiles=Dang xac minh cac tep...
+StatusSavingUninstall=Dang luu thong tin go cai dat...
+StatusRunProgram=Dang hoan thanh cai dat...
+StatusRestartingApplications=Dang khoi dong lai cac chuong trinh...
+StatusRollback=Dang reset lai cac thay doi...
; *** Misc. errors
-ErrorInternal2=Li bn trong: %1
-ErrorFunctionFailedNoCode=%1 bi h
-ErrorFunctionFailed=%1 bi h; ma %2
-ErrorFunctionFailedWithMessage=%1 bi h; ma %2.%n%3
-ErrorExecutingProgram=Khng th thc thi tp tin:%n%1
+ErrorInternal2=Loi: %1
+ErrorFunctionFailedNoCode=%1 that bai
+ErrorFunctionFailed=%1 that bai; ma %2
+ErrorFunctionFailedWithMessage=%1 that bai; ma %2.%n%3
+ErrorExecutingProgram=hong the giai nen tep:%n%1
; *** Registry errors
-ErrorRegOpenKey=Li khi m khoa registry:%n%1\%2
-ErrorRegCreateKey=Li khi tao khoa registry:%n%1\%2
-ErrorRegWriteKey=Li khi ghi khoa v registry:%n%1\%2
+ErrorRegOpenKey=Loi mo chia khoa xac thuc:%n%1\%2
+ErrorRegCreateKey=Loi tao chia khoa xac thuc:%n%1\%2
+ErrorRegWriteKey=Loi viet chia khoa xac thuc:%n%1\%2
; *** INI errors
-ErrorIniEntry=Li khi tao dong INI trong tp tin "%1".
+ErrorIniEntry=Loi tao dau vao INI trong tep "%1".
; *** File copying errors
-FileAbortRetryIgnore=Nhn Retry th lai, Ignore bo qua tp tin nay (khng nn), hoc Abort huy qua trinh cai t.
-FileAbortRetryIgnore2=Nhn Retry th lai, Ignore tip tuc (khng nn), hoc Abort huy qua trinh cai t.
-SourceIsCorrupted=Tp tin ngun bi h
-SourceDoesntExist=Tp tin ngun "%1" khng tn tai
-ExistingFileReadOnly=Tp tin ang co bi anh du chi oc.%n%nNhn Retry bo thuc tinh chi oc va th lai, Ignore bo qua tp tin nay, hoc Abort huy qua trinh cai t.
-ErrorReadingExistingDest=Co li xut hin khi oc tp tin hin co:
-FileExists=Tp tin a co.%n%nBan co mun trinh cai t ghi e ln no ?
-ExistingFileNewer=Tp tin hin co mi hn tp tin ma trinh cai t sp cai vao. Ban nn gi lai tp tin hin co.%n%nBan co mun gi lai tp tin hin co ?
-ErrorChangingAttr=Co li xay ra khi thay i thuc tinh cua tp tin hin co:
-ErrorCreatingTemp=Co li xay ra khi tao mt tp tin trong th muc ich:
-ErrorReadingSource=Co li xay ra khi oc tp tin ngun:
-ErrorCopying=Co li xay ra khi sao chep tp tin:
-ErrorReplacingExistingFile=Co li xay ra khi thay th tp tin hin co:
-ErrorRestartReplace=Thay th bi h:
-ErrorRenamingTemp=Co li xay ra khi i tn tp tin trong th muc ich:
-ErrorRegisterServer=Khng th ng ky DLL/OCX: %1
-ErrorRegSvr32Failed=RegSvr32 tht bai vi ma li %1
-ErrorRegisterTypeLib=Khng th ng ky th vin kiu: %1
+FileAbortRetryIgnore=Click thu lai de thu lai, Bo qua de bo qua tep nay (khong khuyen nghi), hoac Tu choi de huy cai dat.
+FileAbortRetryIgnore2=Click thu lai de thu lai, Bo qua de bo qua loi (khong khuyen nghi), hoac Tu choi de huy cai dat.
+SourceIsCorrupted=Tep nguon bi hu hong
+SourceDoesntExist=Tep nguon "%1" khong ton tai
+ExistingFileReadOnly=Tep nay da duoc danh dau Chi doc.%n%nClick Thu lai de bo danh dau Chi doc va thu lai, Bo qua de bo qua tep nay, hoac Tu choi de huy cai dat.
+ErrorReadingExistingDest=Co loi khi doc tep:
+FileExists=Tep da ton tai.%n%nBan co muon thay the?
+ExistingFileNewer=Tep nay moi hon tep ma Cai dat muon cai vao. Dieu can thiet la ban giu lai tep nay.%n%nBan co muon giu lai?
+ErrorChangingAttr=Co van de khi thay doi thuoc tinh tep:
+ErrorCreatingTemp=Co van de khi tao tep trong thu muc dich:
+ErrorReadingSource=Co van de khi doc tep nguon:
+ErrorCopying=Co van de khi co copy tep:
+ErrorReplacingExistingFile=Co van de khi co thay the tep:
+ErrorRestartReplace=Thay the khoi dong lai that bai:
+ErrorRenamingTemp=Co van de khi co doi ten tep trong thu muc dich:
+ErrorRegisterServer=Khong the xac thuc DLL/OCX: %1
+ErrorRegSvr32Failed=RegSvr32 that bai voi ma thoat %1
+ErrorRegisterTypeLib=Khong the xac thuc thu vien kieu: %1
; *** Post-installation errors
-ErrorOpeningReadme=Co li xay ra khi m tp tin README.
-ErrorRestartingComputer=Trinh cai t khng th khi ng lai may tinh. nghi ban t khi ng lai.
+ErrorOpeningReadme=Co van de khi co mo tep README.
+ErrorRestartingComputer=Cai dat khong the khoi dong lai may tinh. Hay lam thu cong.
; *** Uninstaller messages
-UninstallNotFound=Tp tin "%1" khng co. Khng th g bo.
-UninstallOpenError=Tp tin "%1" khng th m c. Khng th g bo
-UninstallUnsupportedVer=Tp tin nht ky cua trinh g bo "%1" co inh dang ma phin ban cua trinh g bo nay khng hiu. Khng th g bo
-UninstallUnknownEntry=Co dong la (%1) c tim thy trong nht ky cua trinh g bo
-ConfirmUninstall=Ban co mun g bo hoan toan %1 va tt ca cac thanh phn cua no ?
-UninstallOnlyOnWin64=Cai t nay chi co th c g bo trn Windows 64 bit.
-OnlyAdminCanUninstall=Cai t nay chi co th c g bo bi ngi dung co quyn quan tri.
-UninstallStatusLabel= nghi ch trong khi %1 c g bo khoi may tinh cua ban.
-UninstalledAll=%1 a c g bo thanh cng trn may tinh cua ban.
-UninstalledMost=%1 a c g bo hoan toan.%n%nMt vai phn t co th cha c g bo va co th c lam bng tay.
-UninstalledAndNeedsRestart= hoan tt qua trinh g bo %1, may tinh cua ban phai c khi ng lai.%n%nBan co mun khi ng lai by gi ?
-UninstallDataCorrupted=Tp tin "%1" bi h. Khng th g bo
-
+UninstallNotFound=Tep "%1" hong ton tai. Khong the go cai dat
+UninstallOpenError=Khong the mo tep "%1". Khong the go cai dat
+UninstallUnsupportedVer=Tep dang nhap go cai dat "%1" thuoc kieu tep khong duoc ho tro. Khong the go cai dat
+UninstallUnknownEntry=Mot dau vao khong ro rang (%1) duoc ke den trong dang nhap go cai dat
+ConfirmUninstall=Ban co thuc su muon go %1 va toan bo thanh phan lien quan?
+UninstallOnlyOnWin64=Viec cai dat nay chi co the go tren phien ban Windows 64-bit.
+OnlyAdminCanUninstall=Viec cai dat nay chi co the go khi ban la Adminstrator.
+UninstallStatusLabel=Hay doi khi %1 duoc go khoi may tinh cua ban.
+UninstalledAll=%1 da duoc go thanh cong khoi may tinh cua ban.
+UninstalledMost=Go cai dat %1 hoan thanh.%n%nMot so thanh phan khong the go. Chung co the duoc go thu cong.
+UninstalledAndNeedsRestart=De hoan thanh go cai dat %1, phai khoi dong lai may tinh.%n%nBan co muon khoi dong lai?
+UninstallDataCorrupted=Tep "%1" bi hu hong. Khong the go cai dat
; *** Uninstallation phase messages
-ConfirmDeleteSharedFileTitle=G bo tp tin chia se?
-ConfirmDeleteSharedFile2=H thng cho bit tp tin chia se di y khng con c dung bi bt c chng trinh nao na. Ban co mun trinh g bo xoa tp tin nay khng ?%n%nNu co chng trinh nao con s dung tp tin nay ma no bi xoa i thi chng trinh o se khng hoat ng ung c. Nu ban khng chc, chon No. Vic lai tp tin nay cung khng gy anh hng n h thng cua ban.
-SharedFileNameLabel=Tn tp tin:
-SharedFileLocationLabel=Vi tri:
-WizardUninstalling=Trang thai g bo
-StatusUninstalling=ang g bo %1...
+ConfirmDeleteSharedFileTitle=Go tep da chia se?
+ConfirmDeleteSharedFile2=He thong da chi ra tep da chia se sau khong duoc dung boi bat cu chuong trinh nao khac. Ban co muon go chung?%n%nNeu mot so chuong trinh van con dung tep nay ma no da bi go, chung co the khong hoat dong tot. Neu ban khong hai long, chon Khong. Go bo chung tren he thong cua ban se khong gay ra bat cu thiet hai nao.
+SharedFileNameLabel=Ten tep:
+SharedFileLocationLabel=Vi tri:
+WizardUninstalling=Tinh trang go
+StatusUninstalling=Dang go cai dat %1...
+
+; *** Shutdown block reasons
+ShutdownBlockReasonInstallingApp=Dang cai dat %1.
+ShutdownBlockReasonUninstallingApp=Dang go cai dat %1.
; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.
[CustomMessages]
-NameAndVersion=%1 phin ban %2
-AdditionalIcons=Biu tng b sung:
-CreateDesktopIcon=Tao biu tng &desktop
-CreateQuickLaunchIcon=Tao biu tng &Quick Launch
-ProgramOnTheWeb=%1 trn Web
-UninstallProgram=G bo %1
-LaunchProgram=Thc thi %1
-AssocFileExtension=&Gn %1 vi phn m rng %2
-AssocingFileExtension=ang gn %1 vi phn m rng %2...
+NameAndVersion=%1 phien ban %2
+AdditionalIcons=Nhung loi tat bo sung:
+CreateDesktopIcon=Tao mot loi tat &Desktop
+CreateQuickLaunchIcon=Tao mot loi tat Khoi dong nh&anh
+ProgramOnTheWeb=%1 tren Web
+UninstallProgram=Go cai dat %1
+LaunchProgram=Khoi chay %1
+AssocFileExtension=&Gan ket %1 voi su mo rong tep cua %2
+AssocingFileExtension=Dang gan ket %1 voi su mo rong tep cua %2...
+AutoStartProgramGroupDescription=Khoi dong:
+AutoStartProgram=Tu dong khoi dong %1
+AddonHostProgramNotFound=%1 khong the duoc dat vao thu muc ban da chon.%n%nBan co muon tiep tuc?
diff --git a/distrib/custom_messages_translated.iss b/distrib/custom_messages_translated.iss
index 956e41e3c..b197001cd 100644
--- a/distrib/custom_messages_translated.iss
+++ b/distrib/custom_messages_translated.iss
@@ -30,16 +30,20 @@ ar.WelcomeLabel2=سوف يتم تثبيت [name] على جهازك.%n%nيستح
ar.WinVersionTooLowError=يتطلب [name] نظام تشغيل windows XP Service Pack 3 أو إصدار أحدث منه.
; Belarusian
-be.WelcomeLabel2=Зараз будзе ўстаноўлена [name].%n%nРэкамендуецца закрыць усе прыкладанні перад працягам.
-be.WinVersionTooLowError=[name] патрабуецца Windows XP Service Pack 3 або навей.
+be.WelcomeLabel2=Зараз на ваш камп'ютар будзе ўсталявана праграма [name].%n%nПерш чым працягнуць, рэкамендуецца закрыць усе астатнія праграмы.
+be.WinVersionTooLowError=Для запуску [name] патрабуецца Windows XP SP3 або навейшая.
; Bengali
bn.WelcomeLabel2=এর মাধ্যমে আপনার কম্পিউটারে [name] ইনস্টল করা হবে। %n%nপ্রক্রিয়াটি চালিয়ে যাওয়ার পূর্বে অন্যান্য সকল অ্যাপ্লিকেশন বন্ধ করার পরামর্শ দেয়া যাচ্ছে।
bn.WinVersionTooLowError=[NAME] চালানোর জন্য Windows XP Service Pack 3 অথবা ঊর্ধ্বতন সংস্করণ প্রয়োজন।
+; Bosnian
+bs_BA.WelcomeLabel2=Ovo će instalirati [name] na vaš računar.%n%nPreporučljivo je da, prije nastavka, zatvorite sve ostale programe.
+bs_BA.WinVersionTooLowError=[name] za pokretanje zahtijeva Windows XP Service Pack 3 ili noviji.
+
; Catalan
-ca.WelcomeLabel2=Aquest auxiliar instal·larà el [name] al vostre ordinador%n%nEs recomana tancar totes les aplicacions abans de continuar.
-ca.WinVersionTooLowError=[name] cal Windows XP Service Pack 3 o superior per que funcioni.
+ca.WelcomeLabel2=Aquest auxiliar instal·larà el [name] al vostre ordinador.%n%nSe recomana tancar totes les aplicacions abans de continuar.
+ca.WinVersionTooLowError=[name] requereix Windows XP Service Pack 3 o superior perquè funcioni.
; Czech
cs.WelcomeLabel2=Produkt [name] bude nainstalován na Váš počítač.%n%nDříve než budete pokračovat, doporučuje se ukončit veškeré spuštěné aplikace.
@@ -50,8 +54,8 @@ da.WelcomeLabel2=Dette vil installere [name] på din computer.%n%nDet anbefales,
da.WinVersionTooLowError=[name] kræver Windows XP Service Pack 3 eller nyere for at køre.
; German (Neutral)
-de.WelcomeLabel2=Dieses Programm installiert [name] auf Ihrem Computer.%n%nEs wird empfohlen, alle laufenden Programme zu beenden, bevor Sie mit der Installation fortfahren.
-de.WinVersionTooLowError=[name] benötigt Windows XP Service Pack 3 oder höher.
+de.WelcomeLabel2=Hiermit wird der [name] installiert. Bitte alle anderen Anwendungen schließen, bevor Sie mit der Installation fortfahren.
+de.WinVersionTooLowError=Mindestvoraussetzung ist Windows XP mit Service Pack 3.
; Greek (Greece)
el.WelcomeLabel2=Θα γίνει εγκατάσταση του [name] στον υπολογιστή σας.%n%nΣας συνιστούμε να κλείσετε κάθε άλλη εφαρμογή πριν συνεχίσετε.
@@ -62,16 +66,16 @@ en_GB.WelcomeLabel2=This will install [name] on your computer.%n%nIt is recommen
en_GB.WinVersionTooLowError=[name] requires Windows XP Service Pack 3 or newer to run.
; Spanish
-es.WelcomeLabel2=Este programa instalará [name] en el equipo.%n%nSe recomienda que cierre el resto de las aplicaciones antes de continuar.
-es.WinVersionTooLowError=[name] necesita Windows XP Service Pack 3 o posterior para funcionar.
+es.WelcomeLabel2=Esto instalará [name] en el equipo.%n%nSe recomienda que cierre el resto de las aplicaciones antes de continuar.
+es.WinVersionTooLowError=[name] requiere Windows XP Service Pack 3 o posterior para funcionar.
; Basque
eu.WelcomeLabel2=Honek [name] zure ordenagailuan ezarriko du.%n%nGomendatzen da beste aplikazio guztiak istea jarraitu aurretik.
eu.WinVersionTooLowError=[name] Windows XP Service Pack 3 edo berriagoa behar du lan egiteko.
; Finnish
-fi.WelcomeLabel2=Tämä asentaa [name] tietokoneellesi.%n%n On suositeltavaa, että suljet kaikki muut ohjelmat ennenkuin jatkat.
-fi.WinVersionTooLowError=[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudempaa
+fi.WelcomeLabel2=Tämä asentaa [name] tietokoneellesi.%n%nOn suositeltavaa, että suljet kaikki muut ohjelmat ennen kuin jatkat.
+fi.WinVersionTooLowError=[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudemman.
; French (France)
fr.WelcomeLabel2=Vous allez installer [name] sur votre ordinateur.%n%nIl est recommandé de fermer toutes les autres applications avant de continuer.
@@ -123,7 +127,7 @@ ms_MY.WinVersionTooLowError=[name] memerlukan Windows XP Service Pack 3 atau yg
; Dutch (Neutral)
nl.WelcomeLabel2=Dit programma zal [name] op uw computer installeren.%n%nHet is aanbevolen dat u alle andere toepassingen sluit voordat u verder gaat.
-nl.WinVersionTooLowError=[name] vereist Windows XP Service Pack 3 of hoger om uit te voeren.
+nl.WinVersionTooLowError=[name] vereist Windows XP Service Pack 3 of hoger om te voeren werken.
; Polish
pl.WelcomeLabel2=Zostanie zainstalowane [name] na Twoim komputerze.%n%nZaleca się zamknięcie wszystkich innych aplikacji przed kontynuowaniem.
@@ -138,8 +142,8 @@ ro.WelcomeLabel2=Se va instala [name] pe calculatorul dumneavoastră.%n%nEste re
ro.WinVersionTooLowError=[name] necesită Windows XP Service Pack 3 sau mai nou pentru a rula.
; Russian
-ru.WelcomeLabel2=Программа установит [name] на ваш компьютер.%n%nРекомендуется закрыть все прочие приложения перед тем, как продолжить.
-ru.WinVersionTooLowError=[name] Эта программа требует Windows XP Service Pack 3 или выше.
+ru.WelcomeLabel2=Эта программа установит [name] на ваш компьютер.%n%nПеред тем, как продолжить, рекомендуется закрыть все прочие приложения.
+ru.WinVersionTooLowError=[name] требует Windows XP Service Pack 3 или новее.
; Slovak
sk.WelcomeLabel2=Teraz sa nainštaluje [name] do Vášho počítača.%n%nPredtým než budete pokračovať, odporúčame ukončiť všetky ostatné programy.
@@ -150,8 +154,8 @@ sl.WelcomeLabel2=[name] bo nameščen na tem računalniku.%n%nPriporočamo, da z
sl.WinVersionTooLowError=[name] zahteva za delovanje Windows XP Service Pack 3 ali novejše
; Serbian (Cyrillic)
-sr.WelcomeLabel2=Овим ћете инсталирати [name] на ваш рачунар.%n%nПрепоручује се да затворите све друге програме пре него што наставите.
-sr.WinVersionTooLowError=[name] захтева Windows XP Service Pack 3 или новији за покретање.
+sr.WelcomeLabel2=Овај програм ће инсталирати [name] на ваш рачунар.%n%nПре него што наставите, препоручује се да затворите све друге програме.
+sr.WinVersionTooLowError=[name] захтева Windows XP Service Pack 3 или новији.
; Swedish
sv.WelcomeLabel2=Detta kommer att installera [name] på din dator.%n%nDet rekommenderas att du stänger alla andra program innan du fortsätter.
@@ -210,20 +214,20 @@ ar.ViewChangelog=عرض سجل التغيرات
be.langid=00001059
be.comp_mpciconlib=Бібліятэка значкоў
be.comp_mpcresources=Пераклады
-be.msg_DeleteSettings=Ці хочаце таксама выдаліць налады MPC-HC?%n%nКалі вы збіраецеся зноў усталяваць MPC-HC, тады іх можна пакінуць.
+be.msg_DeleteSettings=Ці выдаліць налады MPC-HC?%n%nКалі вы збіраецеся ўсталяваць MPC-HC зноў, выдаляць іх не трэба.
#if defined(sse_required)
-be.msg_simd_sse=Гэтая будова MPC-HC вымагае працэсар, здольны выконваць інструкцыі SSE.%n%nВаш працэсар гэтага не ўмее.
+be.msg_simd_sse=Гэта зборка MPC-HC патрабуе працэсар, з падтрымкай SSE-інструкцый.%n%nВаш працэсар не адпавядае патрабаванням.
#elif defined(sse2_required)
-be.msg_simd_sse2=Гэтая будова MPC-HC вымагае працэсар, здольны выконваць інструкцыі SSE2.%n%nВаш працэсар гэтага не ўмее.
+be.msg_simd_sse2=Гэта зборка MPC-HC патрабуе працэсар, з падтрымкай SSE2-інструкцый.%n%nВаш працэсар не адпавядае патрабаванням.
#endif
-be.run_DownloadToolbarImages=Visit our Wiki page to download toolbar images
+be.run_DownloadToolbarImages=Наведаць нашу Wiki-старонку каб спампаваць выявы для панэлі навігацыі
be.tsk_AllUsers=Для ўсіх карыстальнікаў
-be.tsk_CurrentUser=Толькі для дзейнага карыстальніка
+be.tsk_CurrentUser=Толькі для гэтага карыстальніка
be.tsk_Other=Іншыя заданні:
-be.tsk_ResetSettings=Вярнуць налады
-be.types_DefaultInstallation=Перадвызначанае ўсталяванне
-be.types_CustomInstallation=Адмысловае ўсталяванне
-be.ViewChangelog=Спіс зменаў
+be.tsk_ResetSettings=Скінуць налады
+be.types_DefaultInstallation=Усталяванне па змаўчанні
+be.types_CustomInstallation=Адвольнае ўсталяванне
+be.ViewChangelog=Праглядзець спіс зменаў
; Bengali
bn.langid=00001093
@@ -244,24 +248,43 @@ bn.types_DefaultInstallation=ডিফল্ট ইনস্টল প্রক
bn.types_CustomInstallation=ব্যক্তি-নির্ধারিত ইনস্টল প্রক্রিয়া
bn.ViewChangelog=পরিবর্তনতালিকা দেখুন
+; Bosnian
+bs_BA.langid=00005146
+bs_BA.comp_mpciconlib=Biblioteka Ikonica
+bs_BA.comp_mpcresources=Prijevodi
+bs_BA.msg_DeleteSettings=Da li želite izbrisati i MPC-HC podešenja?%n%nAko planirate ponovo instalirati MPC-HC onda ih ne trebate brisati.
+#if defined(sse_required)
+bs_BA.msg_simd_sse=Ova verzija MPC-HC zahtijeva CPU sa SSE podrškom.%n%nVaš CPU nema te mogućnosti.
+#elif defined(sse2_required)
+bs_BA.msg_simd_sse2=Ova verzija MPC-HC zahtijeva CPU sa SSE2 podrškom.%n%nVaš CPU nema te mogućnosti.
+#endif
+bs_BA.run_DownloadToolbarImages=Posjetite našu Wiki stranicu da preuzmete slike alatne trake
+bs_BA.tsk_AllUsers=Za sve korisnike
+bs_BA.tsk_CurrentUser=Samo za trenutnog korisnika
+bs_BA.tsk_Other=Drugi zadaci:
+bs_BA.tsk_ResetSettings=Resetuj podešavanja
+bs_BA.types_DefaultInstallation=Podrazumijevana instalacija
+bs_BA.types_CustomInstallation=Instalacija po želji
+bs_BA.ViewChangelog=Pogledaj listu izmjena
+
; Catalan
ca.langid=00001027
ca.comp_mpciconlib=Col·lecció d’icones
ca.comp_mpcresources=Traduccions
-ca.msg_DeleteSettings=Voleu suprimir les preferències del MPC-HC?%n%nSi planegeu instal·lar-ho un altre cop no cal eliminar-les.
+ca.msg_DeleteSettings=Voleu suprimir les preferències de l'MPC-HC?%n%nSi planegeu tornar-lo a instal·lar no cal que les elimineu.
#if defined(sse_required)
-ca.msg_simd_sse=Aquesta versió de MPC-HC necessita una CPU amb suport d'extensions SSE.%n%nLa teva CPU no cumpleix aquestes característiques.
+ca.msg_simd_sse=Aquesta versió de l'MPC-HC necessita una CPU amb suport d'extensions SSE.%n%nLa vostra CPU no compleix aquesta característica.
#elif defined(sse2_required)
-ca.msg_simd_sse2=Aquesta versió de MPC-HC requereix una CPU amb suport d'extensions SSE2.%n%nLa teva CPU no cumpleix aquestes característiques.
+ca.msg_simd_sse2=Aquesta versió de l'MPC-HC requereix una CPU amb suport d'extensions SSE2.%n%nLa vostra CPU no compleix aquesta característica.
#endif
-ca.run_DownloadToolbarImages=Visita la nostra pàgina del Wiki per descarregar imatges per a la barra d'eines
+ca.run_DownloadToolbarImages=Visita la nostra pàgina Wiki per descarregar imatges de la barra d'eines
ca.tsk_AllUsers=Per a tots els usuaris
ca.tsk_CurrentUser=Només per l'usuari actual
ca.tsk_Other=Altres tasques:
-ca.tsk_ResetSettings=Reiniciar les preferències
+ca.tsk_ResetSettings=Reinicia la configuració
ca.types_DefaultInstallation=Instal·lació per defecte
ca.types_CustomInstallation=Instal·lació personalitzada
-ca.ViewChangelog=Veure el Registre de canvis
+ca.ViewChangelog=Visualitza el Registre de canvis
; Czech
cs.langid=00001029
@@ -288,11 +311,11 @@ da.comp_mpciconlib=Ikon-bibliotek
da.comp_mpcresources=Oversættelser
da.msg_DeleteSettings=Vil du også slette MPC-HC indstillinger?%n%nHvis du har tænkt dig at installere MPC-HC igen, så behøves du ikke slette dem.
#if defined(sse_required)
-da.msg_simd_sse=Denne version af MPC-HC kræver en CPU der understøtter SSE-udvidelsen.%n%nDin CPU understøtter det ikke.
+da.msg_simd_sse=Denne version af MPC-HC kræver en CPU der understøtter SSE CPU-anvisninger.%n%nDin CPU understøtter det ikke.
#elif defined(sse2_required)
-da.msg_simd_sse2=Denne version af MPC-HC kræver en CPU der understøtter SSE2-udvidelsen.%n%nDin CPU understøtter det ikke.
+da.msg_simd_sse2=Denne version af MPC-HC kræver en CPU der understøtter SSE2 CPU-anvisninger.%n%nDin CPU understøtter det ikke.
#endif
-da.run_DownloadToolbarImages=Besøg vores wiki-side for at hente værktøjslinjebilleder
+da.run_DownloadToolbarImages=Besøg vores wiki-side for at downloade værktøjslinjebilleder
da.tsk_AllUsers=For alle brugere
da.tsk_CurrentUser=Kun for denne bruger
da.tsk_Other=Andre opgaver:
@@ -303,22 +326,22 @@ da.ViewChangelog=Vis ændringslog
; German (Neutral)
de.langid=00001031
-de.comp_mpciconlib=Dateisymbole für verknüpfte Mediendateien
-de.comp_mpcresources=Sprachdateien (darunter Deutsch)
-de.msg_DeleteSettings=Wollen Sie auch die Programmeinstellungen löschen?%n%nWenn Sie den MPC-HC wieder installieren möchten, dann müssen Sie diese nicht unbedingt löschen.
+de.comp_mpciconlib=Icon-Bibliothek
+de.comp_mpcresources=Übersetzungen (u.a. deutsch)
+de.msg_DeleteSettings=Bei Neuinstallation des MPC-HC können verbliebene Einstellungen problemlos übernommen werden.%n%nEinstellungen auch entfernen?
#if defined(sse_required)
-de.msg_simd_sse=Dieses MPC-HC-Build benötigt einen Prozessor mit SSE-Unterstützung.%n%nIhr Prozessor besitzt nicht diese Eigenschaft.
+de.msg_simd_sse=Die verwendete CPU muss SSE unterstützen.
#elif defined(sse2_required)
-de.msg_simd_sse2=Dieses MPC-HC-Build benötigt einen Prozessor mit SSE2-Unterstützung.%n%nIhr Prozessor besitzt nicht diese Eigenschaft.
+de.msg_simd_sse2=Die verwendete CPU muss SSE2 unterstützen.
#endif
-de.run_DownloadToolbarImages=Toolbar-Bilder von der Wiki-Seite herunterladen
+de.run_DownloadToolbarImages=Wiki für Toolbar-Bilder öffnen
de.tsk_AllUsers=Für alle Benutzer
-de.tsk_CurrentUser=Nur für den aktuellen Benutzer
-de.tsk_Other=Andere Aufgaben:
-de.tsk_ResetSettings=Programmeinstellungen zurücksetzen
-de.types_DefaultInstallation=Standard Installation
+de.tsk_CurrentUser=Für den aktuellen Benutzer
+de.tsk_Other=Weitere Aufgaben:
+de.tsk_ResetSettings=Einstellungen zurücksetzen
+de.types_DefaultInstallation=Standard-Installation
de.types_CustomInstallation=Benutzerdefinierte Installation
-de.ViewChangelog=Änderungsprotokoll zeigen
+de.ViewChangelog=Changelog anzeigen
; Greek (Greece)
el.langid=00001032
@@ -364,13 +387,13 @@ es.comp_mpciconlib=Colección de iconos
es.comp_mpcresources=Traducciones
es.msg_DeleteSettings=¿Quiere eliminar también las preferencias de MPC-HC?%n%nSi planea instalar de nuevo MPC-HC no necesita eliminarlas.
#if defined(sse_required)
-es.msg_simd_sse=Esta versión de MPC-HC requiere una CPU compatible con extensiones SSE.%n%nSu CPU carece de esta característica.
+es.msg_simd_sse=Esta versión de MPC-HC requiere una CPU que soporte instrucciones SSE.%n%nSu CPU carece de esta característica.
#elif defined(sse2_required)
-es.msg_simd_sse2=Esta versión de MPC-HC requiere una CPU compatible con extensiones SSE2.%n%nSu CPU carece de esta característica.
+es.msg_simd_sse2=Esta versión de MPC-HC requiere una CPU que soporte instrucciones SSE2.%n%nSu CPU carece de esta característica.
#endif
-es.run_DownloadToolbarImages=Visite nuestra página de wiki para descargar imágenes de la barra de herramientas
+es.run_DownloadToolbarImages=Visite nuestra página wiki para descargar imágenes de barra de herramientas
es.tsk_AllUsers=Para todos los usuarios
-es.tsk_CurrentUser=Solo para el usuario actual
+es.tsk_CurrentUser=Sólo para el usuario actual
es.tsk_Other=Otras tareas:
es.tsk_ResetSettings=Restablecer configuración
es.types_DefaultInstallation=Instalación predeterminada
@@ -406,13 +429,13 @@ fi.msg_simd_sse=MPC-HC:n tämä versio edellyttää CPU:lta SSE-laajennusten tuk
#elif defined(sse2_required)
fi.msg_simd_sse2=MPC-HC:n tämä versio edellyttää CPU:lta SSE2-laajennusten tukea.%n%nProsessorissasi ei ole niitä ominaisuuksia.
#endif
-fi.run_DownloadToolbarImages=Vieraile Wiki-sivustollamme imuroidaksesi työkalupalkin kuvat
+fi.run_DownloadToolbarImages=Vieraile Wiki-sivustollamme ladataksesi työkalupalkin kuvat
fi.tsk_AllUsers=Kaikille käyttäjille
fi.tsk_CurrentUser=Vain nykyiselle käyttäjälle
fi.tsk_Other=Muut tehtävät:
-fi.tsk_ResetSettings=Nollaa asetukset
+fi.tsk_ResetSettings=Palauta asetukset
fi.types_DefaultInstallation=Oletusasennus
-fi.types_CustomInstallation=Yksilöllinen asennus
+fi.types_CustomInstallation=Mukautettu asennus
fi.ViewChangelog=Näytä muutosloki
; French (France)
@@ -573,14 +596,14 @@ ja.comp_mpciconlib=アイコン ライブラリ
ja.comp_mpcresources=翻訳
ja.msg_DeleteSettings=MPC-HC の設定を削除してもよろしいですか?%n%nMPC-HC を再度インストールする場合、設定を削除する必要はありません。
#if defined(sse_required)
-ja.msg_simd_sse=このバージョンの MPC-HC には CPU の SSE 拡張サポートが必要です。%n%nご使用の CPU はこれらの機能を満たしていません。
+ja.msg_simd_sse=MPC-HC のこのビルドには SSE 拡張機能をサポートする CPU が必要です。%n%nご使用の CPU はこれらの機能を備えていません。
#elif defined(sse2_required)
-ja.msg_simd_sse2=このバージョンの MPC-HC には CPU の SSE2 拡張サポートが必要です。%n%nご使用の CPU はこれらの機能を満たしていません。
+ja.msg_simd_sse2=MPC-HC のこのビルドには SSE2 拡張機能をサポートする CPU が必要です。%n%nご使用の CPU はこれらの機能を備えていません。
#endif
ja.run_DownloadToolbarImages=Wiki ページに移動してツール バーの画像をダウンロードする
ja.tsk_AllUsers=すべてのユーザーにインストールする
ja.tsk_CurrentUser=現在実行しているユーザーにのみインストールする
-ja.tsk_Other=他のタスク:
+ja.tsk_Other=その他のタスク:
ja.tsk_ResetSettings=設定をリセットする
ja.types_DefaultInstallation=既定のインストール
ja.types_CustomInstallation=カスタム インストール
@@ -645,22 +668,22 @@ ms_MY.ViewChangelog=Lihat Log Perubahan
; Dutch (Neutral)
nl.langid=00001043
-nl.comp_mpciconlib=Iconen voor mediabestanden
-nl.comp_mpcresources=Taal
+nl.comp_mpciconlib=Iconen bibliotheek
+nl.comp_mpcresources=Talen
nl.msg_DeleteSettings=Wilt u ook de instellingen van MPC-HC verwijderen?%n%nAls u van plan bent MPC-HC opnieuw te gaan installeren is dit niet nodig.
#if defined(sse_required)
nl.msg_simd_sse=Deze versie van MPC-HC heeft een processor nodig die SSE ondersteunt.%n%nUw processor ondersteunt dit niet.
#elif defined(sse2_required)
nl.msg_simd_sse2=Deze versie van MPC-HC heeft een processor nodig die SSE2 ondersteunt.%n%nUw processor ondersteunt dit niet.
#endif
-nl.run_DownloadToolbarImages=Bezoek onze wiki om de werkbalkafbeeldingen te downloaden
+nl.run_DownloadToolbarImages=Bezoek onze wiki om de werkbalkafbeeldingen op te halen
nl.tsk_AllUsers=Voor alle gebruikers
nl.tsk_CurrentUser=Alleen voor de huidige gebruiker
nl.tsk_Other=Andere taken:
nl.tsk_ResetSettings=Instellingen resetten
-nl.types_DefaultInstallation=Standaardinstallatie
+nl.types_DefaultInstallation=Standaard installatie
nl.types_CustomInstallation=Aangepaste installatie
-nl.ViewChangelog=Wijzigingsoverzicht bekijken
+nl.ViewChangelog=Toon wijziging geschiedenis
; Polish
pl.langid=00001045
@@ -704,17 +727,17 @@ pt_BR.ViewChangelog=Ver registro de alterações
ro.langid=00001048
ro.comp_mpciconlib=Bibliotecă de pictograme
ro.comp_mpcresources=Traduceri
-ro.msg_DeleteSettings=Doriţi de asemenea să ştergeţi setările MPC-HC?%n%nDacă doriţi a reinstala MPC-HC, atunci nu este necesar să le ştergeţi.
+ro.msg_DeleteSettings=Doriţi de asemenea să ștergeți stabilirile MPC-HC?%n%nDacă doriţi să reinstalați MPC-HC, atunci nu este necesar să le ștergeți.
#if defined(sse_required)
-ro.msg_simd_sse=Această versiune de MPC-HC necesită un procesor cu suport pentru extensii SSE.%n%nProcesorul dumneavoastră nu are aceste capacităţi.
+ro.msg_simd_sse=Această versiune de MPC-HC necesită un procesor cu sprijin pentru extensii SSE.%n%nProcesorul dumneavoastră nu are aceste capacităţi.
#elif defined(sse2_required)
-ro.msg_simd_sse2=Această versiune de MPC-HC necesită un procesor cu suport pentru extensii SSE2.%n%nProcesorul dumneavoastră nu are aceste capacităţi.
+ro.msg_simd_sse2=Această versiune de MPC-HC necesită un procesor cu sprijin pentru extensii SSE2.%n%nProcesorul dumneavoastră nu are aceste capacităţi.
#endif
ro.run_DownloadToolbarImages=Vizitați pagina noastră Wiki pentru a descărca imagini pentru bara de instrumente
ro.tsk_AllUsers=Pentru toţi utilizatorii
-ro.tsk_CurrentUser=Doar pentru utilizatorul curent
+ro.tsk_CurrentUser=Doar pentru utilizatorul actual
ro.tsk_Other=Alte activităţi:
-ro.tsk_ResetSettings=Resetează setările
+ro.tsk_ResetSettings=Restabilește stabilirile
ro.types_DefaultInstallation=Instalare implicită
ro.types_CustomInstallation=Instalare personalizată
ro.ViewChangelog=Vezi istoricul modificărilor
@@ -723,20 +746,20 @@ ro.ViewChangelog=Vezi istoricul modificărilor
ru.langid=00001049
ru.comp_mpciconlib=Библиотека значков
ru.comp_mpcresources=Локализации
-ru.msg_DeleteSettings=Удалить также настроенные параметры MPC-HC?%n%nЕсли запланирована переустановка MPC-HC, эти параметры не нужно удалять.
+ru.msg_DeleteSettings=Желаете ли вы также удалить настройки MPC-HC?%n%nЕсли вы собираетесь установить MPC-HC повторно, их не нужно удалять.
#if defined(sse_required)
-ru.msg_simd_sse=Для этой сборки MPC-HC требуется процессор с поддержкой SSE-инструкций.%n%nВ данном процессоре они не поддерживаются.
+ru.msg_simd_sse=Для этой сборки MPC-HC необходим процессор с поддержкой SSE-инструкций.%n%nВаш процессор не соответствует данным требованиям.
#elif defined(sse2_required)
-ru.msg_simd_sse2=Для этой сборки MPC-HC требуется процессор с поддержкой SSE2-инструкций.%n%nВ данном процессоре они не поддерживаются.
+ru.msg_simd_sse2=Для этой сборки MPC-HC необходим процессор с поддержкой SSE2-инструкций.%n%nВаш процессор не соответствует данным требованиям.
#endif
-ru.run_DownloadToolbarImages=Посетите нашу Вики, чтобы скачать темы для панели управления
-ru.tsk_AllUsers=Для всех пользователей данного компьютера
+ru.run_DownloadToolbarImages=Посетить нашу вики для загрузии темы панели инструментов
+ru.tsk_AllUsers=Для всех пользователей
ru.tsk_CurrentUser=Только для текущего пользователя
ru.tsk_Other=Другие задачи:
-ru.tsk_ResetSettings=Восстановить параметры по умолчанию
+ru.tsk_ResetSettings=Восстановить настройки по умолчанию
ru.types_DefaultInstallation=Установка по умолчанию
ru.types_CustomInstallation=Выборочная установка
-ru.ViewChangelog=Просмотреть журнал изменений
+ru.ViewChangelog=Посмотреть список изменений
; Slovak
sk.langid=00001051
@@ -780,16 +803,16 @@ sl.ViewChangelog=Poglej dnevnik sprememb
sr.langid=00003098
sr.comp_mpciconlib=Библиотека са иконама
sr.comp_mpcresources=Преводи
-sr.msg_DeleteSettings=Желите ли да обришете и поставке MPC-HC-а?%n%nНе морате их брисати ако планирате поново да инсталирате MPC-HC.
+sr.msg_DeleteSettings=Желите ли да избришете и поставке MPC-HC-а?%n%nНе морате их брисати ако планирате поново да инсталирате MPC-HC.
#if defined(sse_required)
sr.msg_simd_sse=Ова верзија MPC-HC-а захтева процесор са подршком за SSE проширења.%n%nВаш процесор нема те могућности.
#elif defined(sse2_required)
-sr.msg_simd_sse2=Ова верзија MPC-HC-а захтева процесор са подршком за SSE2 проширења.%n%nВаш процесор нема те могућности.
+sr.msg_simd_sse2=За ову верзију MPC-HC-а је потребан процесор са подршком за SSE2 инструкције.%n%nВаш процесор не испуњава тај захтев.
#endif
-sr.run_DownloadToolbarImages=Посети вики страницу ради преузимања слика траке са алаткама
+sr.run_DownloadToolbarImages=Посети наш вики ради преузимања тема траке са алаткама
sr.tsk_AllUsers=За све кориснике
sr.tsk_CurrentUser=Само за тренутног корисника
-sr.tsk_Other=Остали задаци:
+sr.tsk_Other=Други задаци:
sr.tsk_ResetSettings=Врати подразумеване поставке
sr.types_DefaultInstallation=Уобичајена инсталација
sr.types_CustomInstallation=Прилагођена инсталација
diff --git a/distrib/mpc-hc_setup.iss b/distrib/mpc-hc_setup.iss
index a89cfef82..27a4501a8 100644
--- a/distrib/mpc-hc_setup.iss
+++ b/distrib/mpc-hc_setup.iss
@@ -1,4 +1,4 @@
-; (C) 2009-2015 see Authors.txt
+; (C) 2009-2016 see Authors.txt
;
; This file is part of MPC-HC.
;
@@ -20,8 +20,8 @@
; Inno Setup Unicode: http://www.jrsoftware.org/isdl.php
-#if VER < EncodeVer(5,5,5)
- #error Update your Inno Setup version (5.5.5 or newer)
+#if VER < EncodeVer(5,5,9)
+ #error Update your Inno Setup version (5.5.9 or newer)
#endif
#ifndef UNICODE
@@ -163,6 +163,7 @@ Name: en; MessagesFile: compiler:Default.isl
Name: ar; MessagesFile: Languages\Arabic.isl
Name: be; MessagesFile: Languages\Belarusian.isl
Name: bn; MessagesFile: Languages\Bengali.islu
+Name: bs_BA; MessagesFile: Languages\Bosnian.isl
Name: ca; MessagesFile: compiler:Languages\Catalan.isl
Name: cs; MessagesFile: compiler:Languages\Czech.isl
Name: da; MessagesFile: compiler:Languages\Danish.isl
@@ -177,7 +178,7 @@ Name: gl; MessagesFile: Languages\Galician.isl
Name: he; MessagesFile: compiler:Languages\Hebrew.isl
Name: hr; MessagesFile: Languages\Croatian.isl
Name: hu; MessagesFile: compiler:Languages\Hungarian.isl
-Name: hy; MessagesFile: Languages\Armenian.islu
+Name: hy; MessagesFile: compiler:Languages\Armenian.islu
Name: id; MessagesFile: Languages\Indonesian.isl
Name: it; MessagesFile: compiler:Languages\Italian.isl
Name: ja; MessagesFile: compiler:Languages\Japanese.isl
@@ -435,6 +436,7 @@ end;
procedure CleanUpSettingsAndFiles();
begin
DeleteFile(ExpandConstant('{app}\{#mpchc_ini}'));
+ DelTree(ExpandConstant('{userappdata}\MPC-HC\ShaderCache'), True, True, True);
DeleteFile(ExpandConstant('{userappdata}\MPC-HC\default.mpcpl'));
RemoveDir(ExpandConstant('{userappdata}\MPC-HC'));
RegDeleteKeyIncludingSubkeys(HKCU, 'Software\MPC-HC\Filters');
diff --git a/docs/Authors.txt b/docs/Authors.txt
index 3d267227c..b99378538 100644
--- a/docs/Authors.txt
+++ b/docs/Authors.txt
@@ -1,12 +1,8 @@
Active (sorted by name):
------------------------
-alexmarsev <alexmarsev@users.sourceforge.net> Code
-Armada <armada651@users.sourceforge.net> Code
Goran 'vBm' Džaferi <thevbm@users.sourceforge.net> New website, Trac moderator, IRC
JellyFrog - Server and Trac admin, Swedish
kasper93 <kasper93@users.sourceforge.net> Trac moderator, Polish, Code
-nevcairiel <nevcairiel@users.sourceforge.net> Code, LAVFilters maintainer
-Underground78 <underground78@users.sourceforge.net> Code, French, Project manager
XhmikosR <xhmikosr@users.sourceforge.net> Various stuff, Project manager
@@ -14,6 +10,8 @@ Inactive:
---------
_xxl <drevil_xxl@users.sourceforge.net> FFmpeg
Alexander Wild <alexwild@users.sourceforge.net> Code, German
+alexmarsev <alexmarsev@users.sourceforge.net> Code
+Armada <armada651@users.sourceforge.net> Code
Arto Jarvinen <ar-jar@users.sourceforge.net> Code
Attila T. Afra <attila.afra@gmail.com> Code
Beliyaal <beliyaal@users.sourceforge.net> Code
@@ -28,9 +26,11 @@ KindDragon <kinddragon@users.sourceforge.net> Code
Martin Panayotov <mvpsoft@users.sourceforge.net> Old website
MatMaul <matmaul@users.sourceforge.net> Code
namaiki <namaiki@users.sourceforge.net> Trac moderator
+nevcairiel <nevcairiel@users.sourceforge.net> Code, LAVFilters maintainer
spec-chum <spec-chum@users.sourceforge.net> Code
tetsuo55 <tetsuo55@users.sourceforge.net> Project manager
Tomas Sen <tomasen@users.sourceforge.net> Code
+Underground78 <underground78@users.sourceforge.net> Code, French, Project manager
v0lt <v0lt@users.sourceforge.net> Code, Russian
Vodyannikov Aleksandr <aleksoid@users.sourceforge.net> Code, Russian
xpc1000 <xpc1000@users.sourceforge.net> Code
@@ -39,7 +39,7 @@ xpc1000 <xpc1000@users.sourceforge.net> Code
Translators:
------------
Translations are now handled using Transifex, a web-based translation platform. An up-to-date list
-of translators involved for each language can be found on https://www.transifex.com/projects/p/mpc-hc/.
+of translators involved for each language can be found on https://www.transifex.com/mpc-hc/mpc-hc/.
Translators (pre-Transifex era):
------------
@@ -84,7 +84,7 @@ skaarj1, VSFilterMod Team, X-Dron
https://github.com/mpc-hc/mpc-hc/graphs/contributors
-http://www.openhub.net/p/mpc-hc/contributors?query=&sort=commits
+https://www.openhub.net/p/mpc-hc/contributors?query=&sort=commits
If you think you should be listed in this document and we don't do it already, please, contact us.
diff --git a/docs/Changelog.txt b/docs/Changelog.txt
index 281b74410..208c6a52a 100644
--- a/docs/Changelog.txt
+++ b/docs/Changelog.txt
@@ -8,50 +8,64 @@ Legend:
! Fixed
-1.7.10 - 14 November 2015
-=========================
-+ Add Indonesian, Lithuanian and Punjabi translations
-+ Ticket #5411, Add an option to disable the preview in the web interface. This option is
- disabled by default since it must be used only on a properly secured private network
-* Completely new Internal Audio Renderer:
- - Uses sanear project as backend
- - Requires Windows Vista or newer
- - Outputs sound through WASAPI (shared or exclusive)
- - Employs automatic channel downmixing
- - Provides stereo crossfeed processing option (for headphones)
- - Tries to preserve signal pitch when playing at custom rate (time stretching)
- - Supports bitstreaming
- - Fixes tickets #203, #1961, #2731, #3653, #4047, #5267
-* Ticket #3356, Initial support for per-monitor DPI scaling
-* Use internal audio decoder by default for Opus decoding
-* Ticket #5450/#5479, Improved crash reporting dialog for better stability and user experience
-* Ticket #5472, Make it easier to input value to the "Audio time shift" field in options
-* OGM stream switching hotkeys were unified with generic ones
-* Updated MediaInfoLib to v0.7.75
-* Updated Little CMS to v2.7 (git 07da965)
-* Updated LAV Filters to stable version 0.66.0:
- - LAV Splitter: New ASF/WMV demuxer
- - Ticket #5548, LAV Splitter: Fix some rare deadlocks at startup
- - LAV Video Decoder: Allow hardware decoding of UHD video with AMD cards
-* Updated Arabic, Armenian, Basque, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
- Croatian, Czech, Danish, Dutch, French, Galician, German, Greek, Hungarian, Japanese, Korean, Malay,
- Polish, Portuguese (Brazil), Romanian, Russian, Slovenian, Slovak, Spanish, Swedish, Thai, Turkish,
- Ukrainian and Vietnamese translations
-! Fix a rare crash when exiting DVB mode
-! QuickTime: Fix a crash when using system default renderer
-! Fix "snap to desktop edge" and "autofit zoom" on Windows 10
-! Fix reliability and stability of the D3D Fullscreen mode
-! Ticket #4086, Logitech LCD: Correctly initialize the volume at start-up
-! Ticket #5248, Adjust mouse behavior for Windows 10
-! Ticket #5454, Deleting an item from the playlist sometimes did not work when shuffle mode was enabled
-! Ticket #5464, If the main window was minimized while the D3D Fullscreen window was displayed on another screen,
- it was impossible to use the mouse buttons to play, pause, exit fullscreen, etc.
-! Ticket #5488, Suggested filename was wrong when saving subtitles in specific cases
-! Ticket #5496, Subtitle downloader dialog: the preferred languages were sometimes not displayed first
-! Ticket #5515, Blu-ray (PGS) subtitles were sometimes not displayed
-! Ticket #5519, SRT subtitles: Support parsing files with negative timecodes
-! Ticket #5573, /monitor command line was ignored when remember window position was enabled
-! Ticket #5573, The window could return to the wrong monitor when started fullscreen using the command line
- `/monitor N /fullscreen` if "remember window size" was enabled and "remember window position" was disabled
-! Ticket #5643, Stream selection did not work when using external audio file in specific cases
-! Ticket #5647, Drag&Drop was not starting playback if source folder was read only
+1.7.11 - 6 March 2017
+===============================
++ Ability to control playback repeat mode
++ Add a cache to avoid recompiling pixel shaders when possible
++ Add SVG support for custom toolbars
++ Add Bosnian translation
++ Option to set audio delay values for each display mode
+* Updated Little CMS to v2.8 (1272acb)
+* Updated tinyxml2 to v4.0.1
+* Updated MediaInfoLib to v0.7.92
+* Updated ZenLib to v0.4.34
+* Updated Unrar to v5.4.5
+* Updated zlib to v1.2.11
+* Updated LAV Filters to v0.69:
+ - LAV Splitter: Support HTTPS protocol
+ - LAV Splitter: Switch back to an improved version of the old ASF demuxer
+ - LAV Splitter: Support demuxing H264 MVC
+ - Ticket #5815, LAV Splitter: Improve the detection of the forced flag for some MP4 subtitle tracks
+ - LAV Video Decoder: Add experimental support for VP9 DXVA2 decoding (disabled by default)
+ - LAV Video Decoder: Enable hardware decoding for HEVC and 4K/UHD by default
+ - LAV Video Decoder: Add a basic H264 MVC decoder based on Intel MediaSDK.
+ Note that for now the Intel MediaSDK library is not distributed with MPC-HC.
+ If you want to use this new decoder, you have to download the library
+ - 32-bit: http://files.1f0.de/lavf/plugins/libmfxsw32-v1.7z
+ - 64-bit: http://files.1f0.de/lavf/plugins/libmfxsw64-v1.7z
+ and decompress it to the LAVFilters(64) folder.
+ - LAV Video Decoder: Offer Weston Three Field Deinterlacing (w3fdif) as an alternative to YADIF
+ - Ticket #3974, LAV Video Decoder: Fix DXVA decoding of interlaced H.264 videos on some Intel GPU
+ - Ticket #5666, LAV Video Decoder: YADIF deinterlacing sometimes caused black screen in DVD menus
+ - LAV Audio Decoder: Fix a possible crash when using bitstreaming
+* Old DirectX 7 renderers have been removed. Settings will be updated automatically to use the corresponding VMR-9 renderers.
+ If you really want to use a renderer similar to VMR-7 (windowed), use Overlay mixer or the "system default" renderer
+* Make Video Renderer statistics scalable to window size and unify graph look for EVR Sync and other renderers
+* "Replace currently loaded subtitles" option no longer removes subtitles provided by splitter
+* Change Pan&Scan logic:
+ - PnS Rotate Y- now flips horizontally
+ - PnS Rotate X- now flips vertically
+ - PnS Rotate Z- now rotates 90 degrees (counter-clockwise)
+ - The postive rotate functions still do 1 degree rotation around their axis
+* Hide the infobar in normal view preset. This makes it equal to default view
+* Ticket #2022/#4779: Rewrite subtitles downloading framework
+ - Support for multiple subtitle providers including the default OpenSubtitles as well as
+ podnapisi, titlovi, SubDB, ysubs and Napisy24 which can be enabled in Options (Subtitles -> Misc)
+ - Ticket #5193, Ability to upload subtitles to OpenSubtitles and SubDB
+ - Ability to login into OpenSubtitles
+ - Ticket #5406, Ability to filter subtitle list by selected languages
+ - Option to automatically search and download subtitles at the beginning of playback without user interaction
+ - Prioritize subtitles for hearing impaired where indicated
+* Ticket #5472, Append language code when saving the subtitles file
+* Updated Arabic, Armenian, Basque, Belarusian, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
+ Croatian, Czech, Danish, Dutch, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Indonesian, Italian,
+ Japanese, Korean, Lithuanian, Malay, Polish, Portuguese (Brazil), Punjabi, Romanian, Russian, Serbian, Slovak,
+ Slovenian, Swedish, Spanish, Tatar, Thai, Turkish, Ukrainian and Vietnamese translations
+! Window position and/or size could be wrong when exiting fullscreen mode for the first time and
+ "Launch files in fullscreen" option is enabled
+! Ticket #2202, Automatically rotate MP4/MOV/FLV files when the rotation info is available
+! Ticket #5557, Show the correct language name for Serbian subtitles. They used to show as Croatian
+! Ticket #5748, Track selection menus did not work when using DVB capture
+! Ticket #5828, Update seekbar position when generating thumbnails
+! Ticket #5829, Creating thumbnails while the video was stopped left the player in an undefined state. The stopped state
+ is now properly restored after creating the thumbnails
diff --git a/docs/Changelog_old.txt b/docs/Changelog_old.txt
index f8d03a7e7..dfeb013eb 100644
--- a/docs/Changelog_old.txt
+++ b/docs/Changelog_old.txt
@@ -4,6 +4,55 @@ Legend:
! Fixed
+1.7.10 - 14 November 2015
+=========================
++ Add Indonesian, Lithuanian and Punjabi translations
++ Ticket #5411, Add an option to disable the preview in the web interface. This option is
+ disabled by default since it must be used only on a properly secured private network
+* Completely new Internal Audio Renderer:
+ - Uses sanear project as backend
+ - Requires Windows Vista or newer
+ - Outputs sound through WASAPI (shared or exclusive)
+ - Employs automatic channel downmixing
+ - Provides stereo crossfeed processing option (for headphones)
+ - Tries to preserve signal pitch when playing at custom rate (time stretching)
+ - Supports bitstreaming
+ - Fixes tickets #203, #1961, #2731, #3653, #4047, #5267
+* Ticket #3356, Initial support for per-monitor DPI scaling
+* Use internal audio decoder by default for Opus decoding
+* Ticket #5450/#5479, Improved crash reporting dialog for better stability and user experience
+* Ticket #5472, Make it easier to input value to the "Audio time shift" field in options
+* OGM stream switching hotkeys were unified with generic ones
+* Updated MediaInfoLib to v0.7.75
+* Updated Little CMS to v2.7 (git 07da965)
+* Updated LAV Filters to stable version 0.66.0:
+ - LAV Splitter: New ASF/WMV demuxer
+ - Ticket #5548, LAV Splitter: Fix some rare deadlocks at startup
+ - LAV Video Decoder: Allow hardware decoding of UHD video with AMD cards
+* Updated Arabic, Armenian, Basque, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
+ Croatian, Czech, Danish, Dutch, French, Galician, German, Greek, Hungarian, Japanese, Korean, Malay,
+ Polish, Portuguese (Brazil), Romanian, Russian, Slovenian, Slovak, Spanish, Swedish, Thai, Turkish,
+ Ukrainian and Vietnamese translations
+! Fix a rare crash when exiting DVB mode
+! QuickTime: Fix a crash when using system default renderer
+! Fix "snap to desktop edge" and "autofit zoom" on Windows 10
+! Fix reliability and stability of the D3D Fullscreen mode
+! Ticket #4086, Logitech LCD: Correctly initialize the volume at start-up
+! Ticket #5248, Adjust mouse behavior for Windows 10
+! Ticket #5454, Deleting an item from the playlist sometimes did not work when shuffle mode was enabled
+! Ticket #5464, If the main window was minimized while the D3D Fullscreen window was displayed on another screen,
+ it was impossible to use the mouse buttons to play, pause, exit fullscreen, etc.
+! Ticket #5488, Suggested filename was wrong when saving subtitles in specific cases
+! Ticket #5496, Subtitle downloader dialog: the preferred languages were sometimes not displayed first
+! Ticket #5515, Blu-ray (PGS) subtitles were sometimes not displayed
+! Ticket #5519, SRT subtitles: Support parsing files with negative timecodes
+! Ticket #5573, /monitor command line was ignored when remember window position was enabled
+! Ticket #5573, The window could return to the wrong monitor when started fullscreen using the command line
+ `/monitor N /fullscreen` if "remember window size" was enabled and "remember window position" was disabled
+! Ticket #5643, Stream selection did not work when using external audio file in specific cases
+! Ticket #5647, Drag&Drop was not starting playback if source folder was read only
+
+
1.7.9 - 01 June 2015
====================
+ Internal Subtitle Renderer: Convert colorspace of subtitles to match video.
diff --git a/docs/Compilation.txt b/docs/Compilation.txt
index 68a7a1aac..4998eba07 100644
--- a/docs/Compilation.txt
+++ b/docs/Compilation.txt
@@ -5,22 +5,23 @@ https://trac.mpc-hc.org/wiki/How_to_compile_the_MPC
Part A: Preparing the Visual Studio environment
- Visual Studio 2013
- 1. Install Visual C++ 2013, part of Visual Studio 2013 Professional (Express won't work, other editions work fine)
+ Visual Studio 2015
+ 1. Install Visual C++ 2015, part of Visual Studio 2015 (any edition will work fine)
2. Make sure you install all available updates from Microsoft Update
3. Install the DirectX SDK (June 2010) -> http://go.microsoft.com/fwlink/?LinkID=71193
Part B: Preparing the GCC environment
+
NOTES:
* If you installed the MSYS/MinGW package in an other directory you will have to use that path in the following steps.
* If you don't have Git installed then the revision number will be a hard-coded one, like 1.6.3.0.
- 1. Download and extract MSYS_MinGW-w64_GCC_492_x86-x64.7z to "C:\MSYS" -> http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_492_x86-x64.7z
- For the components and their version see: http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_492_x86-x64_components.txt
- 2. Edit the "fstab" file in "C:\MSYS\etc" to specify your MinGW path. This is optional.
+ 1. Download and extract MSYS_MinGW-w64_GCC_630_x86-x64.7z to "C:\MSYS" -> http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_630_x86-x64.7z
+ For the components and their version see: http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_630_x86-x64_components.txt
+ 2. Edit the "fstab" file in "C:\MSYS\etc" to specify your MinGW path. This step is optional.
Add this to it: C:\MSYS\mingw \mingw
- Note the tab-space between "mingw" and "\mingw"
+ Note the tab between "mingw" and "\mingw"
3. Create a file named "build.user.bat" in "C:\mpc-hc" containing the following entries, adapted for your system:
@ECHO OFF
@@ -69,7 +70,7 @@ Alternatively, you can use "build.bat" that can build everything for you
Part D: Building the installer
-Download Inno Setup Unicode v5.5.6 or newer from: http://www.jrsoftware.org/isdl.php
+Download Inno Setup Unicode v5.5.9 or newer from: http://www.jrsoftware.org/isdl.php
Install everything and then go to "C:\mpc-hc\distrib", open "mpc-hc_setup.iss" with Inno Setup,
read the first comments in the script and compile it.
Notes:
diff --git a/docs/Readme.txt b/docs/Readme.txt
index f1668db5f..0226c2b8b 100644
--- a/docs/Readme.txt
+++ b/docs/Readme.txt
@@ -24,7 +24,7 @@ Main Features:
* Multi-Monitor support
* Various pixel shaders
* Color management
-* 41 translations available
+* 42 translations available
System Requirements:
@@ -61,17 +61,21 @@ Logitech SDK - -
MediaInfoLib Simplified BSD License https://mediaarea.net/MediaInfo
Mhook MIT License https://github.com/martona/mhook
MultiMon CPOL http://www.codeproject.com/Articles/3690/
+NanoSVG zlib License https://github.com/memononen/nanosvg
QuickTime SDK - http://developer.apple.com/quicktime/
+RapidJSON MIT License https://github.com/miloyip/rapidjson
RARFileSource GPLv2+ http://www.v12pwr.com/RARFileSource/
RealMedia SDK - -
-ResizableLib Artistic License https://sourceforge.net/projects/resizablelib/
+ResizableLib Artistic License https://github.com/ppescher/resizablelib
sanear LGPLv2.1 https://github.com/alexmarsev/sanear
Silk Icons CC Attribution 2.5 http://www.famfamfam.com/lab/icons/silk/
SoundTouch LGPLv2.1 http://www.surina.net/soundtouch/
soxr LGPLv2.1+ https://sourceforge.net/projects/soxr/
+tinyxml2 zlib License http://www.grinninglizard.com/tinyxml2/
TreePropSheet - http://www.codeproject.com/Articles/3709/
UnRAR freeware http://www.rarlab.com/rar_add.htm
VirtualDub GPLv2+ http://www.virtualdub.org/
-ZenLib zlib License https://sourceforge.net/projects/zenlib/
+XmlRpc4Win LGPLv2 https://github.com/drtimcooper/XmlRpc4Win
+ZenLib zlib License https://github.com/MediaArea/ZenLib
zita-resampler GPLv3 http://kokkinizita.linuxaudio.org/linuxaudio/
zlib zlib License http://zlib.net/
diff --git a/include/SubRenderIntf.h b/include/SubRenderIntf.h
index d248795a9..f9493c257 100644
--- a/include/SubRenderIntf.h
+++ b/include/SubRenderIntf.h
@@ -1,9 +1,10 @@
// ***************************************************************
-// SubRenderIntf.h version: 1.0.8 - date: 2014-03-06
+// SubRenderIntf.h version: 1.0.9 - date: 2015-10-10
// -------------------------------------------------------------
-// Copyright (C) 2011-2014, BSD license
+// Copyright (C) 2011-2015, BSD license
// ***************************************************************
+// 2015-10-10 1.0.9 added some optional information fields
// 2014-03-06 1.0.8 added ISubRenderConsumer2::Clear() interface/method
// 2014-03-05 1.0.7 auto-loading is now the provider's own responsibility
// 2013-07-01 1.0.6 added support for TV level subtitle transport
@@ -183,8 +184,9 @@ interface ISubRenderFrame;
// Base interface for both ISubRenderConsumer and ISubRenderProvider.
-[uuid("7CFD3728-235E-4430-9A2D-9F25F426BD70")]
-interface ISubRenderOptions : public IUnknown
+//[uuid("7CFD3728-235E-4430-9A2D-9F25F426BD70")]
+//interface ISubRenderOptions : public IUnknown
+DECLARE_INTERFACE_IID_(ISubRenderOptions, IUnknown, "7CFD3728-235E-4430-9A2D-9F25F426BD70")
{
// Allows one party to get information from the other party.
// The memory for strings and binary data is allocated by the callee
@@ -216,28 +218,33 @@ interface ISubRenderOptions : public IUnknown
// "field" must be zero terminated
// mandatory fields for consumers:
- // "name", LPWSTR, info, read only, get name / description of the consumer
- // "version", LPWSTR, info, read only, get version number of the consumer
- // "originalVideoSize", SIZE, info, read only, size of the video before scaling and AR adjustments
- // "arAdjustedVideoSize", SIZE, info, read only, size of the video after AR adjustments
- // "videoOutputRect", RECT, info, read only, final pos/size of the video after all scaling operations
- // "subtitleTargetRect", RECT, info, read only, consumer wish for where to place the subtitles
- // "frameRate", ULONGLONG, info, read only, frame rate of the video after deinterlacing (REFERENCE_TIME)
- // "refreshRate", double, info, read only, display refresh rate (0, if unknown)
+ // "name", LPWSTR, info, read only, get name / description of the consumer
+ // "version", LPWSTR, info, read only, get version number of the consumer
+ // "originalVideoSize", SIZE, info, read only, size of the video before scaling and AR adjustments
+ // "arAdjustedVideoSize", SIZE, info, read only, size of the video after AR adjustments
+ // "videoOutputRect", RECT, info, read only, final pos/size of the video after all scaling operations
+ // "subtitleTargetRect", RECT, info, read only, consumer wish for where to place the subtitles
+ // "frameRate", ULONGLONG, info, read only, frame rate of the video after deinterlacing (REFERENCE_TIME)
+ // "refreshRate", double, info, read only, display refresh rate (0, if unknown)
// mandatory fields for providers:
- // "name", LPWSTR, info, read only, get name / description of the provider
- // "version", LPWSTR, info, read only, get version number of the provider
- // "yuvMatrix", LPWSTR, info, read only, RGB Subtitles: "None" (fullrange); YCbCr Subtitles: "Levels.Matrix", Levels: TV|PC, Matrix: 601|709|240M|FCC|2020
- // "combineBitmaps", bool, option, write/read, must the provider combine all bitmaps into one? (default: false)
+ // "name", LPWSTR, info, read only, get name / description of the provider
+ // "version", LPWSTR, info, read only, get version number of the provider
+ // "yuvMatrix", LPWSTR, info, read only, RGB Subtitles: "None" (fullrange); YCbCr Subtitles: "Levels.Matrix", Levels: TV|PC, Matrix: 601|709|240M|FCC|2020
+ // "combineBitmaps", bool, option, write/read, must the provider combine all bitmaps into one? (default: false)
// optional fields for consumers:
- // "displayModeSize", SIZE, info, read only, display mode width/height
- // "yuvMatrix", LPWSTR, info, read only, RGB Video: "None" (fullrange); YCbCr Video: "Levels.Matrix", Levels: TV|PC, Matrix: 601|709|240M|FCC|2020
- // "supportedLevels", int, info, read only, 0: PC only (default); 1: PC+TV, no preference; 2: PC+TV, PC preferred; 3: PC+TV, TV preferred
+ // "videoCropRect", RECT, info, read only, crops "originalVideoSize" down, e.g. because of detected black bars
+ // croppedVideoOutputRect, RECT, info, read only, final pos/size of the "videoCropRect", after all scaling operations
+ // fullscreenRect, RECT, info, read only, for fullscreen drawing, this is the rect you want to stay in (left/top can be non-zero!)
+ // "displayModeSize", SIZE, info, read only, display mode width/height
+ // "yuvMatrix", LPWSTR, info, read only, RGB Video: "None" (fullrange); YCbCr Video: "Levels.Matrix", Levels: TV|PC, Matrix: 601|709|240M|FCC|2020
+ // "supportedLevels", int, info, read only, 0: PC only (default); 1: PC+TV, no preference; 2: PC+TV, PC preferred; 3: PC+TV, TV preferred
// optional fields for providers:
- // "outputLevels", LPWSTR, info, read only, are subtitles rendered/output in RGB "PC" (default) or "TV" levels?
+ // "outputLevels", LPWSTR, info, read only, are subtitles rendered/output in RGB "PC" (default) or "TV" levels?
+ // "isBitmap", bool, info, read only, are the subtitles bitmap based or text based?
+ // "isMovable", bool, info, read only, can the subtitles be repositioned safely?
};
// ---------------------------------------------------------------------------
@@ -246,8 +253,9 @@ interface ISubRenderOptions : public IUnknown
// This interface is exposed by every subtitle consumer.
-[uuid("9DF90966-FE9F-4F0E-881E-DAF8A572D900")]
-interface ISubRenderConsumer : public ISubRenderOptions
+//[uuid("9DF90966-FE9F-4F0E-881E-DAF8A572D900")]
+//interface ISubRenderConsumer : public ISubRenderOptions
+DECLARE_INTERFACE_IID_(ISubRenderConsumer, ISubRenderOptions, "9DF90966-FE9F-4F0E-881E-DAF8A572D900")
{
// Called by the subtitle renderer to ask the merit of the consumer.
// Recommended merits:
@@ -289,8 +297,9 @@ interface ISubRenderConsumer : public ISubRenderOptions
STDMETHOD(DeliverFrame)(REFERENCE_TIME start, REFERENCE_TIME stop, LPVOID context, ISubRenderFrame *subtitleFrame) = 0;
};
-[uuid("1A1737C8-2BF8-4BEA-97EA-3AB4FA8F7AC9")]
-interface ISubRenderConsumer2 : public ISubRenderConsumer
+//[uuid("1A1737C8-2BF8-4BEA-97EA-3AB4FA8F7AC9")]
+//interface ISubRenderConsumer2 : public ISubRenderConsumer
+DECLARE_INTERFACE_IID_(ISubRenderConsumer2, ISubRenderConsumer, "1A1737C8-2BF8-4BEA-97EA-3AB4FA8F7AC9")
{
// Called by the subtitle renderer e.g. when the user switches to a
// different subtitle track. The consumer should immediately release
@@ -306,8 +315,9 @@ interface ISubRenderConsumer2 : public ISubRenderConsumer
// The subtitle renderer provides the consumer with this interface, when
// calling the "ISubRenderConsumer.Connect()" method.
-[uuid("20752113-C883-455A-BA7B-ABA4E9115CA8")]
-interface ISubRenderProvider : public ISubRenderOptions
+//[uuid("20752113-C883-455A-BA7B-ABA4E9115CA8")]
+//interface ISubRenderProvider : public ISubRenderOptions
+DECLARE_INTERFACE_IID_(ISubRenderProvider, ISubRenderOptions, "20752113-C883-455A-BA7B-ABA4E9115CA8")
{
// Called by the consumer to request a rendered subtitle frame.
// The subtitle renderer will deliver the frame when it is completed, by
@@ -335,8 +345,9 @@ interface ISubRenderProvider : public ISubRenderOptions
// This interface is the reply to a consumer's frame render request.
-[uuid("81746AB5-9407-4B43-A014-1FAAC340F973")]
-interface ISubRenderFrame : public IUnknown
+//[uuid("81746AB5-9407-4B43-A014-1FAAC340F973")]
+//interface ISubRenderFrame : public IUnknown
+DECLARE_INTERFACE_IID_(ISubRenderFrame, IUnknown, "81746AB5-9407-4B43-A014-1FAAC340F973")
{
// "GetOutputRect()" specifies for which video rect the subtitles were
// rendered. If the subtitle renderer doesn't scale the subtitles at all,
diff --git a/include/dx/d3d.h b/include/dx/d3d.h
deleted file mode 100644
index 1cb8a966a..000000000
--- a/include/dx/d3d.h
+++ /dev/null
@@ -1,1688 +0,0 @@
-/*==========================================================================;
- *
- * Copyright (C) Microsoft Corporation. All Rights Reserved.
- *
- * File: d3d.h
- * Content: Direct3D include file
- *
- ****************************************************************************/
-
-#ifndef _D3D_H_
-#define _D3D_H_
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0700
-#endif
-
-// include this file content only if compiling for <=DX7 interfaces
-#if(DIRECT3D_VERSION < 0x0800)
-
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#define D3DAPI WINAPI
-
-/*
- * Interface IID's
- */
-#if defined( _WIN32 ) && !defined( _NO_COM)
-DEFINE_GUID( IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-DEFINE_GUID( IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-DEFINE_GUID( IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-DEFINE_GUID( IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
-DEFINE_GUID( IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 );
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3DRefDevice, 0x50936643, 0x13e9, 0x11d1, 0x89, 0xaa, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
-DEFINE_GUID( IID_IDirect3DNullDevice, 0x8767df22, 0xbacc, 0x11d1, 0x89, 0x69, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-DEFINE_GUID( IID_IDirect3DTnLHalDevice, 0xf5049e78, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/*
- * Internal Guid to distinguish requested MMX from MMX being used as an RGB rasterizer
- */
-
-DEFINE_GUID( IID_IDirect3DDevice, 0x64108800,0x957d,0X11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29 );
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3DDevice2, 0x93281501, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3DDevice3, 0xb0ab3b60, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-DEFINE_GUID( IID_IDirect3DDevice7, 0xf5049e79, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-DEFINE_GUID( IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3DTexture2, 0x93281502, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-DEFINE_GUID( IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
-
-DEFINE_GUID( IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3DMaterial2, 0x93281503, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3DMaterial3, 0xca9c46f4, 0xd3c5, 0x11d1, 0xb7, 0x5a, 0x0, 0x60, 0x8, 0x52, 0xb3, 0x12);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-DEFINE_GUID( IID_IDirect3DExecuteBuffer,0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
-DEFINE_GUID( IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E );
-#if(DIRECT3D_VERSION >= 0x0500)
-DEFINE_GUID( IID_IDirect3DViewport2, 0x93281500, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3DViewport3, 0xb0ab3b61, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0600)
-DEFINE_GUID( IID_IDirect3DVertexBuffer, 0x7a503555, 0x4a83, 0x11d1, 0xa5, 0xdb, 0x0, 0xa0, 0xc9, 0x3, 0x67, 0xf8);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-DEFINE_GUID( IID_IDirect3DVertexBuffer7, 0xf5049e7d, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-#endif
-
-#ifdef __cplusplus
-struct IDirect3D;
-struct IDirect3DDevice;
-struct IDirect3DLight;
-struct IDirect3DMaterial;
-struct IDirect3DExecuteBuffer;
-struct IDirect3DTexture;
-struct IDirect3DViewport;
-typedef struct IDirect3D *LPDIRECT3D;
-typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
-typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
-typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
-typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
-typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
-typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
-
-#if(DIRECT3D_VERSION >= 0x0500)
-struct IDirect3D2;
-struct IDirect3DDevice2;
-struct IDirect3DMaterial2;
-struct IDirect3DTexture2;
-struct IDirect3DViewport2;
-typedef struct IDirect3D2 *LPDIRECT3D2;
-typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
-typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
-typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
-typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-struct IDirect3D3;
-struct IDirect3DDevice3;
-struct IDirect3DMaterial3;
-struct IDirect3DViewport3;
-struct IDirect3DVertexBuffer;
-typedef struct IDirect3D3 *LPDIRECT3D3;
-typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
-typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
-typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
-typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-struct IDirect3D7;
-struct IDirect3DDevice7;
-struct IDirect3DVertexBuffer7;
-typedef struct IDirect3D7 *LPDIRECT3D7;
-typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
-typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#else
-
-typedef struct IDirect3D *LPDIRECT3D;
-typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
-typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
-typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
-typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
-typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
-typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
-
-#if(DIRECT3D_VERSION >= 0x0500)
-typedef struct IDirect3D2 *LPDIRECT3D2;
-typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
-typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
-typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
-typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-typedef struct IDirect3D3 *LPDIRECT3D3;
-typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
-typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
-typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
-typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-typedef struct IDirect3D7 *LPDIRECT3D7;
-typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
-typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#endif
-
-#include "d3dtypes.h"
-#include "d3dcaps.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Direct3D interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3D
-
-DECLARE_INTERFACE_(IDirect3D, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3D methods ***/
- STDMETHOD(Initialize)(THIS_ REFCLSID) PURE;
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK,LPVOID) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*,IUnknown*) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL*,IUnknown*) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT*,IUnknown*) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH,LPD3DFINDDEVICERESULT) PURE;
-};
-
-typedef struct IDirect3D *LPDIRECT3D;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3D_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#else
-#define IDirect3D_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D_AddRef(p) (p)->AddRef()
-#define IDirect3D_Release(p) (p)->Release()
-#define IDirect3D_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#endif
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#undef INTERFACE
-#define INTERFACE IDirect3D2
-
-DECLARE_INTERFACE_(IDirect3D2, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3D2 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK,LPVOID) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*,IUnknown*) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2*,IUnknown*) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2*,IUnknown*) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH,LPD3DFINDDEVICERESULT) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID,LPDIRECTDRAWSURFACE,LPDIRECT3DDEVICE2*) PURE;
-};
-
-typedef struct IDirect3D2 *LPDIRECT3D2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3D2_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#else
-#define IDirect3D2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D2_AddRef(p) (p)->AddRef()
-#define IDirect3D2_Release(p) (p)->Release()
-#define IDirect3D2_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-#undef INTERFACE
-#define INTERFACE IDirect3D3
-
-DECLARE_INTERFACE_(IDirect3D3, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3D3 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK,LPVOID) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*,LPUNKNOWN) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3*,LPUNKNOWN) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3*,LPUNKNOWN) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH,LPD3DFINDDEVICERESULT) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID,LPDIRECTDRAWSURFACE4,LPDIRECT3DDEVICE3*,LPUNKNOWN) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC,LPDIRECT3DVERTEXBUFFER*,DWORD,LPUNKNOWN) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID,LPD3DENUMPIXELFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-
-typedef struct IDirect3D3 *LPDIRECT3D3;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3D3_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-#define IDirect3D3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D3_AddRef(p) (p)->AddRef()
-#define IDirect3D3_Release(p) (p)->Release()
-#define IDirect3D3_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->CreateVertexBuffer(a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-#undef INTERFACE
-#define INTERFACE IDirect3D7
-
-DECLARE_INTERFACE_(IDirect3D7, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3D7 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7,LPVOID) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID,LPDIRECTDRAWSURFACE7,LPDIRECT3DDEVICE7*) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC,LPDIRECT3DVERTEXBUFFER7*,DWORD) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID,LPD3DENUMPIXELFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-
-typedef struct IDirect3D7 *LPDIRECT3D7;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D7_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3D7_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-#define IDirect3D7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D7_AddRef(p) (p)->AddRef()
-#define IDirect3D7_Release(p) (p)->Release()
-#define IDirect3D7_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->CreateVertexBuffer(a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-/*
- * Direct3D Device interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice
-
-DECLARE_INTERFACE_(IDirect3DDevice, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DDevice methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D,LPGUID,LPD3DDEVICEDESC) PURE;
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC,LPD3DDEVICEDESC) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE,LPDIRECT3DTEXTURE) PURE;
- STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC,LPDIRECT3DEXECUTEBUFFER*,IUnknown*) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS) PURE;
- STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER,LPDIRECT3DVIEWPORT,DWORD) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT,LPDIRECT3DVIEWPORT*,DWORD) PURE;
- STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER,LPDIRECT3DVIEWPORT,DWORD,LPD3DRECT) PURE;
- STDMETHOD(GetPickRecords)(THIS_ LPDWORD,LPD3DPICKRECORD) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE,const LPD3DMATRIX) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE,LPD3DMATRIX) PURE;
- STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D*) PURE;
-};
-
-typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->lpVtbl->CreateExecuteBuffer(p,a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->lpVtbl->Execute(p,a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->lpVtbl->Pick(p,a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->lpVtbl->GetPickRecords(p,a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->lpVtbl->CreateMatrix(p,a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->lpVtbl->SetMatrix(p,a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->lpVtbl->GetMatrix(p,a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->lpVtbl->DeleteMatrix(p,a)
-#define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#else
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice_Release(p) (p)->Release()
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->CreateExecuteBuffer(a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->Execute(a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->Pick(a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->GetPickRecords(a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->CreateMatrix(a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->SetMatrix(a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->GetMatrix(a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->DeleteMatrix(a)
-#define IDirect3DDevice_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#endif
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice2
-
-DECLARE_INTERFACE_(IDirect3DDevice2, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DDevice2 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC,LPD3DDEVICEDESC) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2,LPDIRECT3DTEXTURE2) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2,LPDIRECT3DVIEWPORT2*,DWORD) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2*) PURE;
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE,DWORD) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE,D3DVERTEXTYPE,DWORD) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE,D3DVERTEXTYPE,LPVOID,DWORD,DWORD) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID) PURE;
- STDMETHOD(Index)(THIS_ WORD) PURE;
- STDMETHOD(End)(THIS_ DWORD) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE,DWORD) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,D3DVERTEXTYPE,LPVOID,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,D3DVERTEXTYPE,LPVOID,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
-};
-
-typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice2_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice2_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#else
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice2_Release(p) (p)->Release()
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice2_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice2_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice2_End(p,a) (p)->End(a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice3
-
-DECLARE_INTERFACE_(IDirect3DDevice3, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DDevice3 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC,LPD3DDEVICEDESC) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3,LPDIRECT3DVIEWPORT3*,DWORD) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3*) PURE;
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4,DWORD) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE,DWORD,DWORD) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE,DWORD,LPVOID,DWORD,DWORD) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID) PURE;
- STDMETHOD(Index)(THIS_ WORD) PURE;
- STDMETHOD(End)(THIS_ DWORD) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE,DWORD) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,DWORD,LPVOID,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,DWORD,LPVOID,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE,DWORD,LPD3DDRAWPRIMITIVESTRIDEDDATA,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE,DWORD,LPD3DDRAWPRIMITIVESTRIDEDDATA,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE,LPDIRECT3DVERTEXBUFFER,DWORD,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE,LPDIRECT3DVERTEXBUFFER,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR,LPD3DVALUE,DWORD,DWORD,LPDWORD) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD,LPDIRECT3DTEXTURE2 *) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD,LPDIRECT3DTEXTURE2) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD) PURE;
-};
-
-typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice3_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice3_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice3_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#else
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice3_Release(p) (p)->Release()
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice3_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice3_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice3_End(p,a) (p)->End(a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice7
-
-DECLARE_INTERFACE_(IDirect3DDevice7, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DDevice7 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK,LPVOID) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7*) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7,DWORD) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *) PURE;
- STDMETHOD(Clear)(THIS_ DWORD,LPD3DRECT,DWORD,D3DCOLOR,D3DVALUE,DWORD) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,LPD3DMATRIX) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD,LPD3DLIGHT7) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD,LPD3DLIGHT7) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,LPDWORD) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ LPDWORD) PURE;
- STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,DWORD,LPVOID,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,DWORD,LPVOID,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE,DWORD,LPD3DDRAWPRIMITIVESTRIDEDDATA,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE,DWORD,LPD3DDRAWPRIMITIVESTRIDEDDATA,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE,LPDIRECT3DVERTEXBUFFER7,DWORD,DWORD,DWORD) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE,LPDIRECT3DVERTEXBUFFER7,DWORD,DWORD,LPWORD,DWORD,DWORD) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR,LPD3DVALUE,DWORD,DWORD,LPDWORD) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD,LPDIRECTDRAWSURFACE7 *) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD,LPDIRECTDRAWSURFACE7) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,LPDWORD) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD) PURE;
- STDMETHOD(ApplyStateBlock)(THIS_ DWORD) PURE;
- STDMETHOD(CaptureStateBlock)(THIS_ DWORD) PURE;
- STDMETHOD(DeleteStateBlock)(THIS_ DWORD) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE,LPDWORD) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7,LPPOINT,LPDIRECTDRAWSURFACE7,LPRECT,DWORD) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD,BOOL) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD,BOOL*) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD,D3DVALUE*) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD,D3DVALUE*) PURE;
- STDMETHOD(GetInfo)(THIS_ DWORD,LPVOID,DWORD) PURE;
-};
-
-typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice7_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DDevice7_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice7_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->lpVtbl->PreLoad(p,a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
-#else
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice7_Release(p) (p)->Release()
-#define IDirect3DDevice7_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice7_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->PreLoad(a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/*
- * Execute Buffer interface
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DExecuteBuffer
-
-DECLARE_INTERFACE_(IDirect3DExecuteBuffer, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DExecuteBuffer methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE,LPD3DEXECUTEBUFFERDESC) PURE;
- STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA) PURE;
- STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA) PURE;
- STDMETHOD(Validate)(THIS_ LPDWORD,LPD3DVALIDATECALLBACK,LPVOID,DWORD) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD) PURE;
-};
-
-typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->lpVtbl->Lock(p,a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->lpVtbl->SetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->lpVtbl->GetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->lpVtbl->Validate(p,a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
-#else
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DExecuteBuffer_Release(p) (p)->Release()
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->Lock(a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->SetExecuteData(a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->GetExecuteData(a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->Validate(a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->Optimize(a)
-#endif
-
-/*
- * Light interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DLight
-
-DECLARE_INTERFACE_(IDirect3DLight, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DLight methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D) PURE;
- STDMETHOD(SetLight)(THIS_ LPD3DLIGHT) PURE;
- STDMETHOD(GetLight)(THIS_ LPD3DLIGHT) PURE;
-};
-
-typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DLight_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DLight_SetLight(p,a) (p)->lpVtbl->SetLight(p,a)
-#define IDirect3DLight_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
-#else
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DLight_AddRef(p) (p)->AddRef()
-#define IDirect3DLight_Release(p) (p)->Release()
-#define IDirect3DLight_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DLight_SetLight(p,a) (p)->SetLight(a)
-#define IDirect3DLight_GetLight(p,a) (p)->GetLight(a)
-#endif
-
-/*
- * Material interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DMaterial
-
-DECLARE_INTERFACE_(IDirect3DMaterial, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DMaterial methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE,LPD3DMATERIALHANDLE) PURE;
- STDMETHOD(Reserve)(THIS) PURE;
- STDMETHOD(Unreserve)(THIS) PURE;
-};
-
-typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DMaterial_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p)
-#define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p)
-#else
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial_Release(p) (p)->Release()
-#define IDirect3DMaterial_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->Reserve()
-#define IDirect3DMaterial_Unreserve(p) (p)->Unreserve()
-#endif
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#undef INTERFACE
-#define INTERFACE IDirect3DMaterial2
-
-DECLARE_INTERFACE_(IDirect3DMaterial2, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DMaterial2 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2,LPD3DMATERIALHANDLE) PURE;
-};
-
-typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial2_Release(p) (p)->Release()
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-#undef INTERFACE
-#define INTERFACE IDirect3DMaterial3
-
-DECLARE_INTERFACE_(IDirect3DMaterial3, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DMaterial3 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3,LPD3DMATERIALHANDLE) PURE;
-};
-
-typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial3_Release(p) (p)->Release()
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/*
- * Texture interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DTexture
-
-DECLARE_INTERFACE_(IDirect3DTexture, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DTexture methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE,LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE,LPD3DTEXTUREHANDLE) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE) PURE;
- STDMETHOD(Unload)(THIS) PURE;
-};
-
-typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DTexture_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture_Load(p,a) (p)->lpVtbl->Load(p,a)
-#define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p)
-#else
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture_Release(p) (p)->Release()
-#define IDirect3DTexture_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture_Load(p,a) (p)->Load(a)
-#define IDirect3DTexture_Unload(p) (p)->Unload()
-#endif
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#undef INTERFACE
-#define INTERFACE IDirect3DTexture2
-
-DECLARE_INTERFACE_(IDirect3DTexture2, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DTexture2 methods ***/
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2,LPD3DTEXTUREHANDLE) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2) PURE;
-};
-
-typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->lpVtbl->Load(p,a)
-#else
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture2_Release(p) (p)->Release()
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->Load(a)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-/*
- * Viewport interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirect3DViewport
-
-DECLARE_INTERFACE_(IDirect3DViewport, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD,LPD3DTRANSFORMDATA,DWORD,LPDWORD) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD,LPD3DLIGHTDATA) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE,LPBOOL) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE*,LPBOOL) PURE;
- STDMETHOD(Clear)(THIS_ DWORD,LPD3DRECT,DWORD) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT,LPDIRECT3DLIGHT*,DWORD) PURE;
-};
-
-typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DViewport_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-#else
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport_Release(p) (p)->Release()
-#define IDirect3DViewport_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-#endif
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#undef INTERFACE
-#define INTERFACE IDirect3DViewport2
-
-DECLARE_INTERFACE_(IDirect3DViewport2, IDirect3DViewport)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD,LPD3DTRANSFORMDATA,DWORD,LPDWORD) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD,LPD3DLIGHTDATA) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE,LPBOOL) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE*,LPBOOL) PURE;
- STDMETHOD(Clear)(THIS_ DWORD,LPD3DRECT,DWORD) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT,LPDIRECT3DLIGHT*,DWORD) PURE;
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2) PURE;
-};
-
-typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DViewport2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-#else
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport2_Release(p) (p)->Release()
-#define IDirect3DViewport2_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->SetViewport2(a)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-#undef INTERFACE
-#define INTERFACE IDirect3DViewport3
-
-DECLARE_INTERFACE_(IDirect3DViewport3, IDirect3DViewport2)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DViewport2 methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD,LPD3DTRANSFORMDATA,DWORD,LPDWORD) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD,LPD3DLIGHTDATA) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE,LPBOOL) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE*,LPBOOL) PURE;
- STDMETHOD(Clear)(THIS_ DWORD,LPD3DRECT,DWORD) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT,LPDIRECT3DLIGHT*,DWORD) PURE;
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2) PURE;
- STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4) PURE;
- STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4*,LPBOOL) PURE;
- STDMETHOD(Clear2)(THIS_ DWORD,LPD3DRECT,DWORD,D3DCOLOR,D3DVALUE,DWORD) PURE;
-};
-
-typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DViewport3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->lpVtbl->SetBackgroundDepth2(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->lpVtbl->GetBackgroundDepth2(p,a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->lpVtbl->Clear2(p,a,b,c,d,e,f)
-#else
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport3_Release(p) (p)->Release()
-#define IDirect3DViewport3_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->SetViewport2(a)
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->SetBackgroundDepth2(a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->GetBackgroundDepth2(a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->Clear2(a,b,c,d,e,f)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexBuffer
-
-DECLARE_INTERFACE_(IDirect3DVertexBuffer, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DVertexBuffer methods ***/
- STDMETHOD(Lock)(THIS_ DWORD,LPVOID*,LPDWORD) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD,DWORD,DWORD,LPDIRECT3DVERTEXBUFFER,DWORD,LPDIRECT3DDEVICE3,DWORD) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3,DWORD) PURE;
-};
-
-typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#else
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer_Release(p) (p)->Release()
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->Optimize(a,b)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexBuffer7
-
-DECLARE_INTERFACE_(IDirect3DVertexBuffer7, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirect3DVertexBuffer7 methods ***/
- STDMETHOD(Lock)(THIS_ DWORD,LPVOID*,LPDWORD) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD,DWORD,DWORD,LPDIRECT3DVERTEXBUFFER7,DWORD,LPDIRECT3DDEVICE7,DWORD) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7,DWORD) PURE;
- STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD,DWORD,DWORD,LPD3DDRAWPRIMITIVESTRIDEDDATA,DWORD,LPDIRECT3DDEVICE7,DWORD) PURE;
-};
-
-typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer7_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVerticesStrided(p,a,b,c,d,e,f,g)
-#else
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer7_Release(p) (p)->Release()
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->Optimize(a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->ProcessVerticesStrided(a,b,c,d,e,f,g)
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#if(DIRECT3D_VERSION >= 0x0500)
-/****************************************************************************
- *
- * Flags for IDirect3DDevice::NextViewport
- *
- ****************************************************************************/
-
-/*
- * Return the next viewport
- */
-#define D3DNEXT_NEXT 0x00000001l
-
-/*
- * Return the first viewport
- */
-#define D3DNEXT_HEAD 0x00000002l
-
-/*
- * Return the last viewport
- */
-#define D3DNEXT_TAIL 0x00000004l
-
-
-/****************************************************************************
- *
- * Flags for DrawPrimitive/DrawIndexedPrimitive
- * Also valid for Begin/BeginIndexed
- * Also valid for VertexBuffer::CreateVertexBuffer
- ****************************************************************************/
-
-/*
- * Wait until the device is ready to draw the primitive
- * This will cause DP to not return DDERR_WASSTILLDRAWING
- */
-#define D3DDP_WAIT 0x00000001l
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if (DIRECT3D_VERSION == 0x0500)
-/*
- * Hint that it is acceptable to render the primitive out of order.
- */
-#define D3DDP_OUTOFORDER 0x00000002l
-#endif
-
-
-#if(DIRECT3D_VERSION >= 0x0500)
-/*
- * Hint that the primitives have been clipped by the application.
- */
-#define D3DDP_DONOTCLIP 0x00000004l
-
-/*
- * Hint that the extents need not be updated.
- */
-#define D3DDP_DONOTUPDATEEXTENTS 0x00000008l
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-/*
- * Hint that the lighting should not be applied on vertices.
- */
-
-#define D3DDP_DONOTLIGHT 0x00000010l
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/*
- * Direct3D Errors
- * DirectDraw error codes are used when errors not specified here.
- */
-#define D3D_OK DD_OK
-#define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700)
-#define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-/*
- * An invalid device was requested by the application.
- */
-#define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705)
-#define D3DERR_INITFAILED MAKE_DDHRESULT(706)
-
-/*
- * SetRenderTarget attempted on a device that was
- * QI'd off the render target.
- */
-#define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707)
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710)
-#define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711)
-#define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712)
-#define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713)
-#define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714)
-#define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715)
-
-#define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716)
-#define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717)
-
-#define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720)
-#define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721)
-#define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722)
-#define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723)
-#define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724)
-#define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725)
-#define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726)
-#define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727)
-#define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728)
-#define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729)
-
-#define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730)
-#define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731)
-#define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732)
-#define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733)
-#define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735)
-#define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736)
-#define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737)
-#define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738)
-#define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739)
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740)
-#define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741)
-#define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742)
-#define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744)
-
-#define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745)
-#define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746)
-#define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747)
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750)
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751)
-#define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752)
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760)
-#define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761)
-#define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762)
-#define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DERR_INBEGIN MAKE_DDHRESULT(770)
-#define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771)
-#define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772)
-#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
-#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
-#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-#define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048)
-
-/*
- * Attempted to CreateTexture on a surface that had a color key
- */
-#define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050)
-
-#define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060)
-#define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061)
-#define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062)
-#define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063)
-
-#define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070)
-#define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071)
-
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082)
-#define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083)
-#define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084)
-#define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086)
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-#define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100)
-#define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101)
-#define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102)
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* (DIRECT3D_VERSION < 0x0800) */
-#endif /* _D3D_H_ */
-
diff --git a/include/dx/d3dcaps.h b/include/dx/d3dcaps.h
deleted file mode 100644
index 701bf9c13..000000000
--- a/include/dx/d3dcaps.h
+++ /dev/null
@@ -1,601 +0,0 @@
-/*==========================================================================;
- *
- * Copyright (C) Microsoft Corporation. All Rights Reserved.
- *
- * File: d3dcaps.h
- * Content: Direct3D capabilities include file
- *
- ***************************************************************************/
-
-#ifndef _D3DCAPS_H
-#define _D3DCAPS_H
-
-/*
- * Pull in DirectDraw include file automatically:
- */
-#include "ddraw.h"
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0700
-#endif
-
-#if defined(_X86_) || defined(_IA64_)
-#pragma pack(4)
-#endif
-
-/* Description of capabilities of transform */
-
-typedef struct _D3DTRANSFORMCAPS {
- DWORD dwSize;
- DWORD dwCaps;
-} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS;
-
-#define D3DTRANSFORMCAPS_CLIP 0x00000001L /* Will clip whilst transforming */
-
-/* Description of capabilities of lighting */
-
-typedef struct _D3DLIGHTINGCAPS {
- DWORD dwSize;
- DWORD dwCaps; /* Lighting caps */
- DWORD dwLightingModel; /* Lighting model - RGB or mono */
- DWORD dwNumLights; /* Number of lights that can be handled */
-} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS;
-
-#define D3DLIGHTINGMODEL_RGB 0x00000001L
-#define D3DLIGHTINGMODEL_MONO 0x00000002L
-
-#define D3DLIGHTCAPS_POINT 0x00000001L /* Point lights supported */
-#define D3DLIGHTCAPS_SPOT 0x00000002L /* Spot lights supported */
-#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004L /* Directional lights supported */
-#if(DIRECT3D_VERSION < 0x700)
-#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008L /* Parallel point lights supported */
-#endif
-#if(DIRECT3D_VERSION < 0x500)
-#define D3DLIGHTCAPS_GLSPOT 0x00000010L /* GL syle spot lights supported */
-#endif
-
-/* Description of capabilities for each primitive type */
-
-typedef struct _D3DPrimCaps {
- DWORD dwSize;
- DWORD dwMiscCaps; /* Capability flags */
- DWORD dwRasterCaps;
- DWORD dwZCmpCaps;
- DWORD dwSrcBlendCaps;
- DWORD dwDestBlendCaps;
- DWORD dwAlphaCmpCaps;
- DWORD dwShadeCaps;
- DWORD dwTextureCaps;
- DWORD dwTextureFilterCaps;
- DWORD dwTextureBlendCaps;
- DWORD dwTextureAddressCaps;
- DWORD dwStippleWidth; /* maximum width and height of */
- DWORD dwStippleHeight; /* of supported stipple (up to 32x32) */
-} D3DPRIMCAPS, *LPD3DPRIMCAPS;
-
-/* D3DPRIMCAPS dwMiscCaps */
-
-#define D3DPMISCCAPS_MASKPLANES 0x00000001L
-#define D3DPMISCCAPS_MASKZ 0x00000002L
-#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L
-#define D3DPMISCCAPS_CONFORMANT 0x00000008L
-#define D3DPMISCCAPS_CULLNONE 0x00000010L
-#define D3DPMISCCAPS_CULLCW 0x00000020L
-#define D3DPMISCCAPS_CULLCCW 0x00000040L
-
-/* D3DPRIMCAPS dwRasterCaps */
-
-#define D3DPRASTERCAPS_DITHER 0x00000001L
-#define D3DPRASTERCAPS_ROP2 0x00000002L
-#define D3DPRASTERCAPS_XOR 0x00000004L
-#define D3DPRASTERCAPS_PAT 0x00000008L
-#define D3DPRASTERCAPS_ZTEST 0x00000010L
-#define D3DPRASTERCAPS_SUBPIXEL 0x00000020L
-#define D3DPRASTERCAPS_SUBPIXELX 0x00000040L
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100L
-#define D3DPRASTERCAPS_STIPPLE 0x00000200L
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400L
-#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800L
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L
-#define D3DPRASTERCAPS_ZBIAS 0x00004000L
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000L
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000L
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-#define D3DPRASTERCAPS_WBUFFER 0x00040000L
-#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000L
-#define D3DPRASTERCAPS_WFOG 0x00100000L
-#define D3DPRASTERCAPS_ZFOG 0x00200000L
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/* D3DPRIMCAPS dwZCmpCaps, dwAlphaCmpCaps */
-
-#define D3DPCMPCAPS_NEVER 0x00000001L
-#define D3DPCMPCAPS_LESS 0x00000002L
-#define D3DPCMPCAPS_EQUAL 0x00000004L
-#define D3DPCMPCAPS_LESSEQUAL 0x00000008L
-#define D3DPCMPCAPS_GREATER 0x00000010L
-#define D3DPCMPCAPS_NOTEQUAL 0x00000020L
-#define D3DPCMPCAPS_GREATEREQUAL 0x00000040L
-#define D3DPCMPCAPS_ALWAYS 0x00000080L
-
-/* D3DPRIMCAPS dwSourceBlendCaps, dwDestBlendCaps */
-
-#define D3DPBLENDCAPS_ZERO 0x00000001L
-#define D3DPBLENDCAPS_ONE 0x00000002L
-#define D3DPBLENDCAPS_SRCCOLOR 0x00000004L
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008L
-#define D3DPBLENDCAPS_SRCALPHA 0x00000010L
-#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020L
-#define D3DPBLENDCAPS_DESTALPHA 0x00000040L
-#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080L
-#define D3DPBLENDCAPS_DESTCOLOR 0x00000100L
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200L
-#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400L
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800L
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000L
-
-/* D3DPRIMCAPS dwShadeCaps */
-
-#define D3DPSHADECAPS_COLORFLATMONO 0x00000001L
-#define D3DPSHADECAPS_COLORFLATRGB 0x00000002L
-#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004L
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008L
-#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010L
-#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020L
-
-#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040L
-#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080L
-#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100L
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200L
-#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400L
-#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800L
-
-#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000L
-#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000L
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000L
-#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000L
-#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000L
-#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000L
-
-#define D3DPSHADECAPS_FOGFLAT 0x00040000L
-#define D3DPSHADECAPS_FOGGOURAUD 0x00080000L
-#define D3DPSHADECAPS_FOGPHONG 0x00100000L
-
-/* D3DPRIMCAPS dwTextureCaps */
-
-/*
- * Perspective-correct texturing is supported
- */
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L
-
-/*
- * Power-of-2 texture dimensions are required
- */
-#define D3DPTEXTURECAPS_POW2 0x00000002L
-
-/*
- * Alpha in texture pixels is supported
- */
-#define D3DPTEXTURECAPS_ALPHA 0x00000004L
-
-/*
- * Color-keyed textures are supported
- */
-#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008L
-
-/*
- * obsolete, see D3DPTADDRESSCAPS_BORDER
- */
-#define D3DPTEXTURECAPS_BORDER 0x00000010L
-
-/*
- * Only square textures are supported
- */
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L
-
-#if(DIRECT3D_VERSION >= 0x0600)
-/*
- * Texture indices are not scaled by the texture size prior
- * to interpolation.
- */
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040L
-
-/*
- * Device can draw alpha from texture palettes
- */
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080L
-
-/*
- * Device can use non-POW2 textures if:
- * 1) D3DTEXTURE_ADDRESS is set to CLAMP for this texture's stage
- * 2) D3DRS_WRAP(N) is zero for this texture's coordinates
- * 3) mip mapping is not enabled (use magnification filter only)
- */
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-
-// 0x00000200L unused
-
-/*
- * Device can divide transformed texture coordinates by the
- * COUNTth texture coordinate (can do D3DTTFF_PROJECTED)
- */
-#define D3DPTEXTURECAPS_PROJECTED 0x00000400L
-
-/*
- * Device can do cubemap textures
- */
-#define D3DPTEXTURECAPS_CUBEMAP 0x00000800L
-
-#define D3DPTEXTURECAPS_COLORKEYBLEND 0x00001000L
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/* D3DPRIMCAPS dwTextureFilterCaps */
-
-#define D3DPTFILTERCAPS_NEAREST 0x00000001L
-#define D3DPTFILTERCAPS_LINEAR 0x00000002L
-#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004L
-#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008L
-#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010L
-#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020L
-
-#if(DIRECT3D_VERSION >= 0x0600)
-/* Device3 Min Filter */
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100L
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200L
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400L
-
-/* Device3 Mip Filter */
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000L
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000L
-
-/* Device3 Mag Filter */
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000L
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000L
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000L
-#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000L
-#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000L
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/* D3DPRIMCAPS dwTextureBlendCaps */
-
-#define D3DPTBLENDCAPS_DECAL 0x00000001L
-#define D3DPTBLENDCAPS_MODULATE 0x00000002L
-#define D3DPTBLENDCAPS_DECALALPHA 0x00000004L
-#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008L
-#define D3DPTBLENDCAPS_DECALMASK 0x00000010L
-#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020L
-#define D3DPTBLENDCAPS_COPY 0x00000040L
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DPTBLENDCAPS_ADD 0x00000080L
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-/* D3DPRIMCAPS dwTextureAddressCaps */
-#define D3DPTADDRESSCAPS_WRAP 0x00000001L
-#define D3DPTADDRESSCAPS_MIRROR 0x00000002L
-#define D3DPTADDRESSCAPS_CLAMP 0x00000004L
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DPTADDRESSCAPS_BORDER 0x00000008L
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010L
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-/* D3DDEVICEDESC dwStencilCaps */
-
-#define D3DSTENCILCAPS_KEEP 0x00000001L
-#define D3DSTENCILCAPS_ZERO 0x00000002L
-#define D3DSTENCILCAPS_REPLACE 0x00000004L
-#define D3DSTENCILCAPS_INCRSAT 0x00000008L
-#define D3DSTENCILCAPS_DECRSAT 0x00000010L
-#define D3DSTENCILCAPS_INVERT 0x00000020L
-#define D3DSTENCILCAPS_INCR 0x00000040L
-#define D3DSTENCILCAPS_DECR 0x00000080L
-
-/* D3DDEVICEDESC dwTextureOpCaps */
-
-#define D3DTEXOPCAPS_DISABLE 0x00000001L
-#define D3DTEXOPCAPS_SELECTARG1 0x00000002L
-#define D3DTEXOPCAPS_SELECTARG2 0x00000004L
-#define D3DTEXOPCAPS_MODULATE 0x00000008L
-#define D3DTEXOPCAPS_MODULATE2X 0x00000010L
-#define D3DTEXOPCAPS_MODULATE4X 0x00000020L
-#define D3DTEXOPCAPS_ADD 0x00000040L
-#define D3DTEXOPCAPS_ADDSIGNED 0x00000080L
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x00000100L
-#define D3DTEXOPCAPS_SUBTRACT 0x00000200L
-#define D3DTEXOPCAPS_ADDSMOOTH 0x00000400L
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800L
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000L
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000L
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000L
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000L
-#define D3DTEXOPCAPS_PREMODULATE 0x00010000L
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000L
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000L
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000L
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000L
-#define D3DTEXOPCAPS_BUMPENVMAP 0x00200000L
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000L
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x00800000L
-
-/* D3DDEVICEDESC dwFVFCaps flags */
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000ffffL /* mask for texture coordinate count field */
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000L /* Device prefers that vertex elements not be stripped */
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/*
- * Description for a device.
- * This is used to describe a device that is to be created or to query
- * the current device.
- */
-typedef struct _D3DDeviceDesc {
- DWORD dwSize; /* Size of D3DDEVICEDESC structure */
- DWORD dwFlags; /* Indicates which fields have valid data */
- D3DCOLORMODEL dcmColorModel; /* Color model of device */
- DWORD dwDevCaps; /* Capabilities of device */
- D3DTRANSFORMCAPS dtcTransformCaps; /* Capabilities of transform */
- BOOL bClipping; /* Device can do 3D clipping */
- D3DLIGHTINGCAPS dlcLightingCaps; /* Capabilities of lighting */
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */
- DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */
- DWORD dwMaxBufferSize; /* Maximum execute buffer size */
- DWORD dwMaxVertexCount; /* Maximum vertex count */
-#if(DIRECT3D_VERSION >= 0x0500)
- // *** New fields for DX5 *** //
-
- // Width and height caps are 0 for legacy HALs.
- DWORD dwMinTextureWidth, dwMinTextureHeight;
- DWORD dwMaxTextureWidth, dwMaxTextureHeight;
- DWORD dwMinStippleWidth, dwMaxStippleWidth;
- DWORD dwMinStippleHeight, dwMaxStippleHeight;
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
- // New fields for DX6
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- // Guard band that the rasterizer can accommodate
- // Screen-space vertices inside this space but outside the viewport
- // will get clipped properly.
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
-
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-} D3DDEVICEDESC, *LPD3DDEVICEDESC;
-
-#if(DIRECT3D_VERSION >= 0x0700)
-typedef struct _D3DDeviceDesc7 {
- DWORD dwDevCaps; /* Capabilities of device */
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */
- DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */
-
- DWORD dwMinTextureWidth, dwMinTextureHeight;
- DWORD dwMaxTextureWidth, dwMaxTextureHeight;
-
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
-
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-
- DWORD dwMaxActiveLights;
- D3DVALUE dvMaxVertexW;
- GUID deviceGUID;
-
- WORD wMaxUserClipPlanes;
- WORD wMaxVertexBlendMatrices;
-
- DWORD dwVertexProcessingCaps;
-
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
-} D3DDEVICEDESC7, *LPD3DDEVICEDESC7;
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#define D3DDEVICEDESCSIZE (sizeof(D3DDEVICEDESC))
-#define D3DDEVICEDESC7SIZE (sizeof(D3DDEVICEDESC7))
-
-typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK)(GUID FAR *lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID);
-
-#if(DIRECT3D_VERSION >= 0x0700)
-typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/* D3DDEVICEDESC dwFlags indicating valid fields */
-
-#define D3DDD_COLORMODEL 0x00000001L /* dcmColorModel is valid */
-#define D3DDD_DEVCAPS 0x00000002L /* dwDevCaps is valid */
-#define D3DDD_TRANSFORMCAPS 0x00000004L /* dtcTransformCaps is valid */
-#define D3DDD_LIGHTINGCAPS 0x00000008L /* dlcLightingCaps is valid */
-#define D3DDD_BCLIPPING 0x00000010L /* bClipping is valid */
-#define D3DDD_LINECAPS 0x00000020L /* dpcLineCaps is valid */
-#define D3DDD_TRICAPS 0x00000040L /* dpcTriCaps is valid */
-#define D3DDD_DEVICERENDERBITDEPTH 0x00000080L /* dwDeviceRenderBitDepth is valid */
-#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100L /* dwDeviceZBufferBitDepth is valid */
-#define D3DDD_MAXBUFFERSIZE 0x00000200L /* dwMaxBufferSize is valid */
-#define D3DDD_MAXVERTEXCOUNT 0x00000400L /* dwMaxVertexCount is valid */
-
-/* D3DDEVICEDESC dwDevCaps flags */
-
-#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001L /* Device accepts floating point */
- /* for post-transform vertex data */
-#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002L /* Device needs data sorted for increasing Z */
-#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004L /* Device needs data sorted for decreasing Z */
-#define D3DDEVCAPS_SORTEXACT 0x00000008L /* Device needs data sorted exactly */
-
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010L /* Device can use execute buffers from system memory */
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020L /* Device can use execute buffers from video memory */
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040L /* Device can use TL buffers from system memory */
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080L /* Device can use TL buffers from video memory */
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100L /* Device can texture from system memory */
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200L /* Device can texture from device memory */
-#if(DIRECT3D_VERSION >= 0x0500)
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400L /* Device can draw TLVERTEX primitives */
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800L /* Device can render without waiting for flip to complete */
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000L /* Device can texture from nonlocal video memory */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-#if(DIRECT3D_VERSION >= 0x0600)
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x00002000L /* Device can support DrawPrimitives2 */
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000L /* Device is texturing from separate memory pools */
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000L /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000L /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000L /* Device supports a Tex Blt from system memory to non-local vidmem */
-#define D3DDEVCAPS_HWRASTERIZATION 0x00080000L /* Device has HW acceleration for rasterization */
-
-/*
- * These are the flags in the D3DDEVICEDESC7.dwVertexProcessingCaps field
- */
-
-/* device can do texgen */
-#define D3DVTXPCAPS_TEXGEN 0x00000001L
-/* device can do IDirect3DDevice7 colormaterialsource ops */
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002L
-/* device can do vertex fog */
-#define D3DVTXPCAPS_VERTEXFOG 0x00000004L
-/* device can do directional lights */
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008L
-/* device can do positional lights (includes point and spot) */
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010L
-/* device can do local viewer */
-#define D3DVTXPCAPS_LOCALVIEWER 0x00000020L
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#define D3DFDS_COLORMODEL 0x00000001L /* Match color model */
-#define D3DFDS_GUID 0x00000002L /* Match guid */
-#define D3DFDS_HARDWARE 0x00000004L /* Match hardware/software */
-#define D3DFDS_TRIANGLES 0x00000008L /* Match in triCaps */
-#define D3DFDS_LINES 0x00000010L /* Match in lineCaps */
-#define D3DFDS_MISCCAPS 0x00000020L /* Match primCaps.dwMiscCaps */
-#define D3DFDS_RASTERCAPS 0x00000040L /* Match primCaps.dwRasterCaps */
-#define D3DFDS_ZCMPCAPS 0x00000080L /* Match primCaps.dwZCmpCaps */
-#define D3DFDS_ALPHACMPCAPS 0x00000100L /* Match primCaps.dwAlphaCmpCaps */
-#define D3DFDS_SRCBLENDCAPS 0x00000200L /* Match primCaps.dwSourceBlendCaps */
-#define D3DFDS_DSTBLENDCAPS 0x00000400L /* Match primCaps.dwDestBlendCaps */
-#define D3DFDS_SHADECAPS 0x00000800L /* Match primCaps.dwShadeCaps */
-#define D3DFDS_TEXTURECAPS 0x00001000L /* Match primCaps.dwTextureCaps */
-#define D3DFDS_TEXTUREFILTERCAPS 0x00002000L /* Match primCaps.dwTextureFilterCaps */
-#define D3DFDS_TEXTUREBLENDCAPS 0x00004000L /* Match primCaps.dwTextureBlendCaps */
-#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000L /* Match primCaps.dwTextureBlendCaps */
-
-/*
- * FindDevice arguments
- */
-typedef struct _D3DFINDDEVICESEARCH {
- DWORD dwSize;
- DWORD dwFlags;
- BOOL bHardware;
- D3DCOLORMODEL dcmColorModel;
- GUID guid;
- DWORD dwCaps;
- D3DPRIMCAPS dpcPrimCaps;
-} D3DFINDDEVICESEARCH, *LPD3DFINDDEVICESEARCH;
-
-typedef struct _D3DFINDDEVICERESULT {
- DWORD dwSize;
- GUID guid; /* guid which matched */
- D3DDEVICEDESC ddHwDesc; /* hardware D3DDEVICEDESC */
- D3DDEVICEDESC ddSwDesc; /* software D3DDEVICEDESC */
-} D3DFINDDEVICERESULT, *LPD3DFINDDEVICERESULT;
-
-/*
- * Description of execute buffer.
- */
-typedef struct _D3DExecuteBufferDesc {
- DWORD dwSize; /* size of this structure */
- DWORD dwFlags; /* flags indicating which fields are valid */
- DWORD dwCaps; /* capabilities of execute buffer */
- DWORD dwBufferSize; /* size of execute buffer data */
- LPVOID lpData; /* pointer to actual data */
-} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
-
-/* D3DEXECUTEBUFFER dwFlags indicating valid fields */
-
-#define D3DDEB_BUFSIZE 0x00000001l /* buffer size valid */
-#define D3DDEB_CAPS 0x00000002l /* caps valid */
-#define D3DDEB_LPDATA 0x00000004l /* lpData valid */
-
-/* D3DEXECUTEBUFFER dwCaps */
-
-#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001l /* buffer in system memory */
-#define D3DDEBCAPS_VIDEOMEMORY 0x00000002l /* buffer in device memory */
-#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY)
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-#if(DIRECT3D_VERSION >= 0x0700)
-typedef struct _D3DDEVINFO_TEXTUREMANAGER {
- BOOL bThrashing; /* indicates if thrashing */
- DWORD dwApproxBytesDownloaded; /* Approximate number of bytes downloaded by texture manager */
- DWORD dwNumEvicts; /* number of textures evicted */
- DWORD dwNumVidCreates; /* number of textures created in video memory */
- DWORD dwNumTexturesUsed; /* number of textures used */
- DWORD dwNumUsedTexInVid; /* number of used textures present in video memory */
- DWORD dwWorkingSet; /* number of textures in video memory */
- DWORD dwWorkingSetBytes; /* number of bytes in video memory */
- DWORD dwTotalManaged; /* total number of managed textures */
- DWORD dwTotalBytes; /* total number of bytes of managed textures */
- DWORD dwLastPri; /* priority of last texture evicted */
-} D3DDEVINFO_TEXTUREMANAGER, *LPD3DDEVINFO_TEXTUREMANAGER;
-
-typedef struct _D3DDEVINFO_TEXTURING {
- DWORD dwNumLoads; /* counts Load() API calls */
- DWORD dwApproxBytesLoaded; /* Approximate number bytes loaded via Load() */
- DWORD dwNumPreLoads; /* counts PreLoad() API calls */
- DWORD dwNumSet; /* counts SetTexture() API calls */
- DWORD dwNumCreates; /* counts texture creates */
- DWORD dwNumDestroys; /* counts texture destroys */
- DWORD dwNumSetPriorities; /* counts SetPriority() API calls */
- DWORD dwNumSetLODs; /* counts SetLOD() API calls */
- DWORD dwNumLocks; /* counts number of texture locks */
- DWORD dwNumGetDCs; /* counts number of GetDCs to textures */
-} D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING;
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#pragma pack()
-
-
-#endif /* _D3DCAPS_H_ */
-
diff --git a/include/dx/d3dtypes.h b/include/dx/d3dtypes.h
deleted file mode 100644
index d1759dcd2..000000000
--- a/include/dx/d3dtypes.h
+++ /dev/null
@@ -1,2119 +0,0 @@
-/*==========================================================================;
- *
- * Copyright (C) Microsoft Corporation. All Rights Reserved.
- *
- * File: d3dtypes.h
- * Content: Direct3D types include file
- *
- ***************************************************************************/
-
-#ifndef _D3DTYPES_H_
-#define _D3DTYPES_H_
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0700
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0800)
-#pragma message("should not include d3dtypes.h when compiling for DX8 or newer interfaces")
-#endif
-
-#include <windows.h>
-
-#include <float.h>
-#include "ddraw.h"
-
-#pragma warning(disable:4201) // anonymous unions warning
-#if defined(_X86_) || defined(_IA64_)
-#pragma pack(4)
-#endif
-
-
-/* D3DVALUE is the fundamental Direct3D fractional data type */
-
-#define D3DVALP(val, prec) ((float)(val))
-#define D3DVAL(val) ((float)(val))
-
-#ifndef DX_SHARED_DEFINES
-
-/*
- * This definition is shared with other DirectX components whose header files
- * might already have defined it. Therefore, we don't define this type if
- * someone else already has (as indicated by the definition of
- * DX_SHARED_DEFINES). We don't set DX_SHARED_DEFINES here as there are
- * other types in this header that are also shared. The last of these
- * shared defines in this file will set DX_SHARED_DEFINES.
- */
-typedef float D3DVALUE, *LPD3DVALUE;
-
-#endif /* DX_SHARED_DEFINES */
-
-#define D3DDivide(a, b) (float)((double) (a) / (double) (b))
-#define D3DMultiply(a, b) ((a) * (b))
-
-typedef LONG D3DFIXED;
-
-#ifndef RGB_MAKE
-/*
- * Format of CI colors is
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * | alpha | color index | fraction |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-#define CI_GETALPHA(ci) ((ci) >> 24)
-#define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff)
-#define CI_GETFRACTION(ci) ((ci) & 0xff)
-#define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80)
-#define CI_MASKALPHA(ci) ((ci) & 0xffffff)
-#define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f))
-
-/*
- * Format of RGBA colors is
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * | alpha | red | green | blue |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-#define RGBA_GETALPHA(rgb) ((rgb) >> 24)
-#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
-
-/* D3DRGB and D3DRGBA may be used as initialisers for D3DCOLORs
- * The float values must be in the range 0..1
- */
-#define D3DRGB(r, g, b) \
- (0xff000000L | ( ((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
-#define D3DRGBA(r, g, b, a) \
- ( (((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) \
- | (((long)((g) * 255)) << 8) | (long)((b) * 255) \
- )
-
-/*
- * Format of RGB colors is
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * | ignored | red | green | blue |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-#define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGB_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
-#define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b)))
-#define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff))
-#define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000))
-
-#endif
-
-/*
- * Flags for Enumerate functions
- */
-
-/*
- * Stop the enumeration
- */
-#define D3DENUMRET_CANCEL DDENUMRET_CANCEL
-
-/*
- * Continue the enumeration
- */
-#define D3DENUMRET_OK DDENUMRET_OK
-
-typedef HRESULT (CALLBACK* LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
-typedef HRESULT (CALLBACK* LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext);
-typedef HRESULT (CALLBACK* LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext);
-
-#ifndef DX_SHARED_DEFINES
-
-/*
- * This definition is shared with other DirectX components whose header files
- * might already have defined it. Therefore, we don't define this type if
- * someone else already has (as indicated by the definition of
- * DX_SHARED_DEFINES). We don't set DX_SHARED_DEFINES here as there are
- * other types in this header that are also shared. The last of these
- * shared defines in this file will set DX_SHARED_DEFINES.
- */
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-typedef DWORD *LPD3DCOLOR;
-
-#endif /* DX_SHARED_DEFINES */
-
-typedef DWORD D3DMATERIALHANDLE, *LPD3DMATERIALHANDLE;
-typedef DWORD D3DTEXTUREHANDLE, *LPD3DTEXTUREHANDLE;
-typedef DWORD D3DMATRIXHANDLE, *LPD3DMATRIXHANDLE;
-
-#ifndef D3DCOLORVALUE_DEFINED
-typedef struct _D3DCOLORVALUE {
- union {
- D3DVALUE r;
- D3DVALUE dvR;
- };
- union {
- D3DVALUE g;
- D3DVALUE dvG;
- };
- union {
- D3DVALUE b;
- D3DVALUE dvB;
- };
- union {
- D3DVALUE a;
- D3DVALUE dvA;
- };
-} D3DCOLORVALUE;
-#define D3DCOLORVALUE_DEFINED
-#endif
-typedef struct _D3DCOLORVALUE *LPD3DCOLORVALUE;
-
-#ifndef D3DRECT_DEFINED
-typedef struct _D3DRECT {
- union {
- LONG x1;
- LONG lX1;
- };
- union {
- LONG y1;
- LONG lY1;
- };
- union {
- LONG x2;
- LONG lX2;
- };
- union {
- LONG y2;
- LONG lY2;
- };
-} D3DRECT;
-#define D3DRECT_DEFINED
-#endif
-typedef struct _D3DRECT *LPD3DRECT;
-
-#ifndef DX_SHARED_DEFINES
-
-/*
- * This definition is shared with other DirectX components whose header files
- * might already have defined it. Therefore, we don't define this type if
- * someone else already has (as indicated by the definition of
- * DX_SHARED_DEFINES).
- */
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- };
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- };
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- };
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
-
-public:
-
- // =====================================
- // Constructors
- // =====================================
-
- _D3DVECTOR() { }
- _D3DVECTOR(D3DVALUE f);
- _D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z);
- _D3DVECTOR(const D3DVALUE f[3]);
-
- // =====================================
- // Access grants
- // =====================================
-
- const D3DVALUE&operator[](int i) const;
- D3DVALUE&operator[](int i);
-
- // =====================================
- // Assignment operators
- // =====================================
-
- _D3DVECTOR& operator += (const _D3DVECTOR& v);
- _D3DVECTOR& operator -= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (const _D3DVECTOR& v);
- _D3DVECTOR& operator /= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (D3DVALUE s);
- _D3DVECTOR& operator /= (D3DVALUE s);
-
- // =====================================
- // Unary operators
- // =====================================
-
- friend _D3DVECTOR operator + (const _D3DVECTOR& v);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v);
-
-
- // =====================================
- // Binary operators
- // =====================================
-
- // Addition and subtraction
- friend _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- // Scalar multiplication and division
- friend _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s);
- friend _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v);
- friend _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s);
- // Memberwise multiplication and division
- friend _D3DVECTOR operator * (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR operator / (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- // Vector dominance
- friend int operator < (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend int operator <= (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- // Bitwise equality
- friend int operator == (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- // Length-related functions
- friend D3DVALUE SquareMagnitude (const _D3DVECTOR& v);
- friend D3DVALUE Magnitude (const _D3DVECTOR& v);
-
- // Returns vector with same direction and unit length
- friend _D3DVECTOR Normalize (const _D3DVECTOR& v);
-
- // Return min/max component of the input vector
- friend D3DVALUE Min (const _D3DVECTOR& v);
- friend D3DVALUE Max (const _D3DVECTOR& v);
-
- // Return memberwise min/max of input vectors
- friend _D3DVECTOR Minimize (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR Maximize (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- // Dot and cross product
- friend D3DVALUE DotProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR CrossProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-typedef struct _D3DVECTOR *LPD3DVECTOR;
-
-/*
- * As this is the last of the shared defines to be defined we now set
- * D3D_SHARED_DEFINES to flag that fact that this header has defined these
- * types.
- */
-#define DX_SHARED_DEFINES
-
-#endif /* DX_SHARED_DEFINES */
-
-/*
- * Vertex data types supported in an ExecuteBuffer.
- */
-
-/*
- * Homogeneous vertices
- */
-
-typedef struct _D3DHVERTEX {
- DWORD dwFlags; /* Homogeneous clipping flags */
- union {
- D3DVALUE hx;
- D3DVALUE dvHX;
- };
- union {
- D3DVALUE hy;
- D3DVALUE dvHY;
- };
- union {
- D3DVALUE hz;
- D3DVALUE dvHZ;
- };
-} D3DHVERTEX, *LPD3DHVERTEX;
-
-/*
- * Transformed/lit vertices
- */
-typedef struct _D3DTLVERTEX {
- union {
- D3DVALUE sx; /* Screen coordinates */
- D3DVALUE dvSX;
- };
- union {
- D3DVALUE sy;
- D3DVALUE dvSY;
- };
- union {
- D3DVALUE sz;
- D3DVALUE dvSZ;
- };
- union {
- D3DVALUE rhw; /* Reciprocal of homogeneous w */
- D3DVALUE dvRHW;
- };
- union {
- D3DCOLOR color; /* Vertex color */
- D3DCOLOR dcColor;
- };
- union {
- D3DCOLOR specular; /* Specular component of vertex */
- D3DCOLOR dcSpecular;
- };
- union {
- D3DVALUE tu; /* Texture coordinates */
- D3DVALUE dvTU;
- };
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- };
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
- _D3DTLVERTEX() { }
- _D3DTLVERTEX(const D3DVECTOR& v, float _rhw,
- D3DCOLOR _color, D3DCOLOR _specular,
- float _tu, float _tv)
- { sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
- color = _color; specular = _specular;
- tu = _tu; tv = _tv;
- }
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DTLVERTEX, *LPD3DTLVERTEX;
-
-/*
- * Untransformed/lit vertices
- */
-typedef struct _D3DLVERTEX {
- union {
- D3DVALUE x; /* Homogeneous coordinates */
- D3DVALUE dvX;
- };
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- };
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- };
- DWORD dwReserved;
- union {
- D3DCOLOR color; /* Vertex color */
- D3DCOLOR dcColor;
- };
- union {
- D3DCOLOR specular; /* Specular component of vertex */
- D3DCOLOR dcSpecular;
- };
- union {
- D3DVALUE tu; /* Texture coordinates */
- D3DVALUE dvTU;
- };
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- };
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
- _D3DLVERTEX() { }
- _D3DLVERTEX(const D3DVECTOR& v,
- D3DCOLOR _color, D3DCOLOR _specular,
- float _tu, float _tv)
- { x = v.x; y = v.y; z = v.z; dwReserved = 0;
- color = _color; specular = _specular;
- tu = _tu; tv = _tv;
- }
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DLVERTEX, *LPD3DLVERTEX;
-
-/*
- * Untransformed/unlit vertices
- */
-
-typedef struct _D3DVERTEX {
- union {
- D3DVALUE x; /* Homogeneous coordinates */
- D3DVALUE dvX;
- };
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- };
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- };
- union {
- D3DVALUE nx; /* Normal */
- D3DVALUE dvNX;
- };
- union {
- D3DVALUE ny;
- D3DVALUE dvNY;
- };
- union {
- D3DVALUE nz;
- D3DVALUE dvNZ;
- };
- union {
- D3DVALUE tu; /* Texture coordinates */
- D3DVALUE dvTU;
- };
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- };
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
- _D3DVERTEX() { }
- _D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv)
- { x = v.x; y = v.y; z = v.z;
- nx = n.x; ny = n.y; nz = n.z;
- tu = _tu; tv = _tv;
- }
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DVERTEX, *LPD3DVERTEX;
-
-
-/*
- * Matrix, viewport, and tranformation structures and definitions.
- */
-
-#ifndef D3DMATRIX_DEFINED
-typedef struct _D3DMATRIX {
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
- union {
- struct {
-#endif
-
-#endif /* DIRECT3D_VERSION >= 0x0500 */
- D3DVALUE _11, _12, _13, _14;
- D3DVALUE _21, _22, _23, _24;
- D3DVALUE _31, _32, _33, _34;
- D3DVALUE _41, _42, _43, _44;
-
-#if(DIRECT3D_VERSION >= 0x0500)
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
- };
- D3DVALUE m[4][4];
- };
- _D3DMATRIX() { }
- _D3DMATRIX( D3DVALUE _m00, D3DVALUE _m01, D3DVALUE _m02, D3DVALUE _m03,
- D3DVALUE _m10, D3DVALUE _m11, D3DVALUE _m12, D3DVALUE _m13,
- D3DVALUE _m20, D3DVALUE _m21, D3DVALUE _m22, D3DVALUE _m23,
- D3DVALUE _m30, D3DVALUE _m31, D3DVALUE _m32, D3DVALUE _m33
- )
- {
- m[0][0] = _m00; m[0][1] = _m01; m[0][2] = _m02; m[0][3] = _m03;
- m[1][0] = _m10; m[1][1] = _m11; m[1][2] = _m12; m[1][3] = _m13;
- m[2][0] = _m20; m[2][1] = _m21; m[2][2] = _m22; m[2][3] = _m23;
- m[3][0] = _m30; m[3][1] = _m31; m[3][2] = _m32; m[3][3] = _m33;
- }
-
- D3DVALUE& operator()(int iRow, int iColumn) { return m[iRow][iColumn]; }
- const D3DVALUE& operator()(int iRow, int iColumn) const { return m[iRow][iColumn]; }
-#if(DIRECT3D_VERSION >= 0x0600)
- friend _D3DMATRIX operator* (const _D3DMATRIX&, const _D3DMATRIX&);
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#endif
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DMATRIX;
-#define D3DMATRIX_DEFINED
-#endif
-typedef struct _D3DMATRIX *LPD3DMATRIX;
-
-#if (defined __cplusplus) && (defined D3D_OVERLOADS)
-#include "d3dvec.inl"
-#endif
-
-typedef struct _D3DVIEWPORT {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY; /* Top left */
- DWORD dwWidth;
- DWORD dwHeight; /* Dimensions */
- D3DVALUE dvScaleX; /* Scale homogeneous to screen */
- D3DVALUE dvScaleY; /* Scale homogeneous to screen */
- D3DVALUE dvMaxX; /* Min/max homogeneous x coord */
- D3DVALUE dvMaxY; /* Min/max homogeneous y coord */
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ; /* Min/max homogeneous z coord */
-} D3DVIEWPORT, *LPD3DVIEWPORT;
-
-#if(DIRECT3D_VERSION >= 0x0500)
-typedef struct _D3DVIEWPORT2 {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY; /* Viewport Top left */
- DWORD dwWidth;
- DWORD dwHeight; /* Viewport Dimensions */
- D3DVALUE dvClipX; /* Top left of clip volume */
- D3DVALUE dvClipY;
- D3DVALUE dvClipWidth; /* Clip Volume Dimensions */
- D3DVALUE dvClipHeight;
- D3DVALUE dvMinZ; /* Min/max of clip Volume */
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT2, *LPD3DVIEWPORT2;
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-typedef struct _D3DVIEWPORT7 {
- DWORD dwX;
- DWORD dwY; /* Viewport Top left */
- DWORD dwWidth;
- DWORD dwHeight; /* Viewport Dimensions */
- D3DVALUE dvMinZ; /* Min/max of clip Volume */
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT7, *LPD3DVIEWPORT7;
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/*
- * Values for clip fields.
- */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-// Max number of user clipping planes, supported in D3D.
-#define D3DMAXUSERCLIPPLANES 32
-
-// These bits could be ORed together to use with D3DRENDERSTATE_CLIPPLANEENABLE
-//
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#define D3DCLIP_LEFT 0x00000001L
-#define D3DCLIP_RIGHT 0x00000002L
-#define D3DCLIP_TOP 0x00000004L
-#define D3DCLIP_BOTTOM 0x00000008L
-#define D3DCLIP_FRONT 0x00000010L
-#define D3DCLIP_BACK 0x00000020L
-#define D3DCLIP_GEN0 0x00000040L
-#define D3DCLIP_GEN1 0x00000080L
-#define D3DCLIP_GEN2 0x00000100L
-#define D3DCLIP_GEN3 0x00000200L
-#define D3DCLIP_GEN4 0x00000400L
-#define D3DCLIP_GEN5 0x00000800L
-
-/*
- * Values for d3d status.
- */
-#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
-#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
-#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
-#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
-#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
-#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
-#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
-#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
-#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
-#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
-#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
-#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
-
-#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000L
-#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000L
-#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000L
-#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000L
-#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000L
-#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000L
-#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000L
-#define D3DSTATUS_ZNOTVISIBLE 0x01000000L
-/* Do not use 0x80000000 for any status flags in future as it is reserved */
-
-#define D3DSTATUS_CLIPUNIONALL ( \
- D3DSTATUS_CLIPUNIONLEFT | \
- D3DSTATUS_CLIPUNIONRIGHT | \
- D3DSTATUS_CLIPUNIONTOP | \
- D3DSTATUS_CLIPUNIONBOTTOM | \
- D3DSTATUS_CLIPUNIONFRONT | \
- D3DSTATUS_CLIPUNIONBACK | \
- D3DSTATUS_CLIPUNIONGEN0 | \
- D3DSTATUS_CLIPUNIONGEN1 | \
- D3DSTATUS_CLIPUNIONGEN2 | \
- D3DSTATUS_CLIPUNIONGEN3 | \
- D3DSTATUS_CLIPUNIONGEN4 | \
- D3DSTATUS_CLIPUNIONGEN5 \
- )
-
-#define D3DSTATUS_CLIPINTERSECTIONALL ( \
- D3DSTATUS_CLIPINTERSECTIONLEFT | \
- D3DSTATUS_CLIPINTERSECTIONRIGHT | \
- D3DSTATUS_CLIPINTERSECTIONTOP | \
- D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
- D3DSTATUS_CLIPINTERSECTIONFRONT | \
- D3DSTATUS_CLIPINTERSECTIONBACK | \
- D3DSTATUS_CLIPINTERSECTIONGEN0 | \
- D3DSTATUS_CLIPINTERSECTIONGEN1 | \
- D3DSTATUS_CLIPINTERSECTIONGEN2 | \
- D3DSTATUS_CLIPINTERSECTIONGEN3 | \
- D3DSTATUS_CLIPINTERSECTIONGEN4 | \
- D3DSTATUS_CLIPINTERSECTIONGEN5 \
- )
-
-#define D3DSTATUS_DEFAULT ( \
- D3DSTATUS_CLIPINTERSECTIONALL | \
- D3DSTATUS_ZNOTVISIBLE)
-
-
-/*
- * Options for direct transform calls
- */
-#define D3DTRANSFORM_CLIPPED 0x00000001l
-#define D3DTRANSFORM_UNCLIPPED 0x00000002l
-
-typedef struct _D3DTRANSFORMDATA {
- DWORD dwSize;
- LPVOID lpIn; /* Input vertices */
- DWORD dwInSize; /* Stride of input vertices */
- LPVOID lpOut; /* Output vertices */
- DWORD dwOutSize; /* Stride of output vertices */
- LPD3DHVERTEX lpHOut; /* Output homogeneous vertices */
- DWORD dwClip; /* Clipping hint */
- DWORD dwClipIntersection;
- DWORD dwClipUnion; /* Union of all clip flags */
- D3DRECT drExtent; /* Extent of transformed vertices */
-} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA;
-
-/*
- * Structure defining position and direction properties for lighting.
- */
-typedef struct _D3DLIGHTINGELEMENT {
- D3DVECTOR dvPosition; /* Lightable point in model space */
- D3DVECTOR dvNormal; /* Normalised unit vector */
-} D3DLIGHTINGELEMENT, *LPD3DLIGHTINGELEMENT;
-
-/*
- * Structure defining material properties for lighting.
- */
-typedef struct _D3DMATERIAL {
- DWORD dwSize;
- union {
- D3DCOLORVALUE diffuse; /* Diffuse color RGBA */
- D3DCOLORVALUE dcvDiffuse;
- };
- union {
- D3DCOLORVALUE ambient; /* Ambient color RGB */
- D3DCOLORVALUE dcvAmbient;
- };
- union {
- D3DCOLORVALUE specular; /* Specular 'shininess' */
- D3DCOLORVALUE dcvSpecular;
- };
- union {
- D3DCOLORVALUE emissive; /* Emissive color RGB */
- D3DCOLORVALUE dcvEmissive;
- };
- union {
- D3DVALUE power; /* Sharpness if specular highlight */
- D3DVALUE dvPower;
- };
- D3DTEXTUREHANDLE hTexture; /* Handle to texture map */
- DWORD dwRampSize;
-} D3DMATERIAL, *LPD3DMATERIAL;
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-typedef struct _D3DMATERIAL7 {
- union {
- D3DCOLORVALUE diffuse; /* Diffuse color RGBA */
- D3DCOLORVALUE dcvDiffuse;
- };
- union {
- D3DCOLORVALUE ambient; /* Ambient color RGB */
- D3DCOLORVALUE dcvAmbient;
- };
- union {
- D3DCOLORVALUE specular; /* Specular 'shininess' */
- D3DCOLORVALUE dcvSpecular;
- };
- union {
- D3DCOLORVALUE emissive; /* Emissive color RGB */
- D3DCOLORVALUE dcvEmissive;
- };
- union {
- D3DVALUE power; /* Sharpness if specular highlight */
- D3DVALUE dvPower;
- };
-} D3DMATERIAL7, *LPD3DMATERIAL7;
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
-// Note: The following light type (D3DLIGHT_PARALLELPOINT)
-// is no longer supported from D3D for DX7 onwards.
- D3DLIGHT_PARALLELPOINT = 4,
-#if(DIRECT3D_VERSION < 0x0500) // For backward compatible headers
- D3DLIGHT_GLSPOT = 5,
-#endif
- D3DLIGHT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DLIGHTTYPE;
-
-#else
-typedef enum _D3DLIGHTTYPE D3DLIGHTTYPE;
-#define D3DLIGHT_PARALLELPOINT (D3DLIGHTTYPE)4
-#define D3DLIGHT_GLSPOT (D3DLIGHTTYPE)5
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-/*
- * Structure defining a light source and its properties.
- */
-typedef struct _D3DLIGHT {
- DWORD dwSize;
- D3DLIGHTTYPE dltType; /* Type of light source */
- D3DCOLORVALUE dcvColor; /* Color of light */
- D3DVECTOR dvPosition; /* Position in world space */
- D3DVECTOR dvDirection; /* Direction in world space */
- D3DVALUE dvRange; /* Cutoff range */
- D3DVALUE dvFalloff; /* Falloff */
- D3DVALUE dvAttenuation0; /* Constant attenuation */
- D3DVALUE dvAttenuation1; /* Linear attenuation */
- D3DVALUE dvAttenuation2; /* Quadratic attenuation */
- D3DVALUE dvTheta; /* Inner angle of spotlight cone */
- D3DVALUE dvPhi; /* Outer angle of spotlight cone */
-} D3DLIGHT, *LPD3DLIGHT;
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-typedef struct _D3DLIGHT7 {
- D3DLIGHTTYPE dltType; /* Type of light source */
- D3DCOLORVALUE dcvDiffuse; /* Diffuse color of light */
- D3DCOLORVALUE dcvSpecular; /* Specular color of light */
- D3DCOLORVALUE dcvAmbient; /* Ambient color of light */
- D3DVECTOR dvPosition; /* Position in world space */
- D3DVECTOR dvDirection; /* Direction in world space */
- D3DVALUE dvRange; /* Cutoff range */
- D3DVALUE dvFalloff; /* Falloff */
- D3DVALUE dvAttenuation0; /* Constant attenuation */
- D3DVALUE dvAttenuation1; /* Linear attenuation */
- D3DVALUE dvAttenuation2; /* Quadratic attenuation */
- D3DVALUE dvTheta; /* Inner angle of spotlight cone */
- D3DVALUE dvPhi; /* Outer angle of spotlight cone */
-} D3DLIGHT7, *LPD3DLIGHT7;
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#if(DIRECT3D_VERSION >= 0x0500)
-/*
- * Structure defining a light source and its properties.
- */
-
-/* flags bits */
-#define D3DLIGHT_ACTIVE 0x00000001
-#define D3DLIGHT_NO_SPECULAR 0x00000002
-#define D3DLIGHT_ALL (D3DLIGHT_ACTIVE | D3DLIGHT_NO_SPECULAR)
-
-/* maximum valid light range */
-#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
-
-typedef struct _D3DLIGHT2 {
- DWORD dwSize;
- D3DLIGHTTYPE dltType; /* Type of light source */
- D3DCOLORVALUE dcvColor; /* Color of light */
- D3DVECTOR dvPosition; /* Position in world space */
- D3DVECTOR dvDirection; /* Direction in world space */
- D3DVALUE dvRange; /* Cutoff range */
- D3DVALUE dvFalloff; /* Falloff */
- D3DVALUE dvAttenuation0; /* Constant attenuation */
- D3DVALUE dvAttenuation1; /* Linear attenuation */
- D3DVALUE dvAttenuation2; /* Quadratic attenuation */
- D3DVALUE dvTheta; /* Inner angle of spotlight cone */
- D3DVALUE dvPhi; /* Outer angle of spotlight cone */
- DWORD dwFlags;
-} D3DLIGHT2, *LPD3DLIGHT2;
-
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-typedef struct _D3DLIGHTDATA {
- DWORD dwSize;
- LPD3DLIGHTINGELEMENT lpIn; /* Input positions and normals */
- DWORD dwInSize; /* Stride of input elements */
- LPD3DTLVERTEX lpOut; /* Output colors */
- DWORD dwOutSize; /* Stride of output colors */
-} D3DLIGHTDATA, *LPD3DLIGHTDATA;
-
-#if(DIRECT3D_VERSION >= 0x0500)
-/*
- * Before DX5, these values were in an enum called
- * D3DCOLORMODEL. This was not correct, since they are
- * bit flags. A driver can surface either or both flags
- * in the dcmColorModel member of D3DDEVICEDESC.
- */
-#define D3DCOLOR_MONO 1
-#define D3DCOLOR_RGB 2
-
-typedef DWORD D3DCOLORMODEL;
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-/*
- * Options for clearing
- */
-#define D3DCLEAR_TARGET 0x00000001l /* Clear target surface */
-#define D3DCLEAR_ZBUFFER 0x00000002l /* Clear target z buffer */
-#if(DIRECT3D_VERSION >= 0x0600)
-#define D3DCLEAR_STENCIL 0x00000004l /* Clear stencil planes */
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/*
- * Execute buffers are allocated via Direct3D. These buffers may then
- * be filled by the application with instructions to execute along with
- * vertex data.
- */
-
-/*
- * Supported op codes for execute instructions.
- */
-typedef enum _D3DOPCODE {
- D3DOP_POINT = 1,
- D3DOP_LINE = 2,
- D3DOP_TRIANGLE = 3,
- D3DOP_MATRIXLOAD = 4,
- D3DOP_MATRIXMULTIPLY = 5,
- D3DOP_STATETRANSFORM = 6,
- D3DOP_STATELIGHT = 7,
- D3DOP_STATERENDER = 8,
- D3DOP_PROCESSVERTICES = 9,
- D3DOP_TEXTURELOAD = 10,
- D3DOP_EXIT = 11,
- D3DOP_BRANCHFORWARD = 12,
- D3DOP_SPAN = 13,
- D3DOP_SETSTATUS = 14,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DOP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DOPCODE;
-
-typedef struct _D3DINSTRUCTION {
- BYTE bOpcode; /* Instruction opcode */
- BYTE bSize; /* Size of each instruction data unit */
- WORD wCount; /* Count of instruction data units to follow */
-} D3DINSTRUCTION, *LPD3DINSTRUCTION;
-
-/*
- * Structure for texture loads
- */
-typedef struct _D3DTEXTURELOAD {
- D3DTEXTUREHANDLE hDestTexture;
- D3DTEXTUREHANDLE hSrcTexture;
-} D3DTEXTURELOAD, *LPD3DTEXTURELOAD;
-
-/*
- * Structure for picking
- */
-typedef struct _D3DPICKRECORD {
- BYTE bOpcode;
- BYTE bPad;
- DWORD dwOffset;
- D3DVALUE dvZ;
-} D3DPICKRECORD, *LPD3DPICKRECORD;
-
-/*
- * The following defines the rendering states which can be set in the
- * execute buffer.
- */
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DSHADE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DSHADEMODE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DFILL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DFILLMODE;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DTEXTUREFILTER {
- D3DFILTER_NEAREST = 1,
- D3DFILTER_LINEAR = 2,
- D3DFILTER_MIPNEAREST = 3,
- D3DFILTER_MIPLINEAR = 4,
- D3DFILTER_LINEARMIPNEAREST = 5,
- D3DFILTER_LINEARMIPLINEAR = 6,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DFILTER_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DTEXTUREFILTER;
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DBLEND;
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DTEXTUREBLEND {
- D3DTBLEND_DECAL = 1,
- D3DTBLEND_MODULATE = 2,
- D3DTBLEND_DECALALPHA = 3,
- D3DTBLEND_MODULATEALPHA = 4,
- D3DTBLEND_DECALMASK = 5,
- D3DTBLEND_MODULATEMASK = 6,
- D3DTBLEND_COPY = 7,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DTBLEND_ADD = 8,
- D3DTBLEND_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DTEXTUREBLEND;
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DCULL_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DCULL;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DCMP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DCMPFUNC;
-
-#if(DIRECT3D_VERSION >= 0x0600)
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DSTENCILOP;
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DFOG_LINEAR = 3,
- D3DFOG_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DFOGMODE;
-
-#if(DIRECT3D_VERSION >= 0x0600)
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1, // Z buffering
- D3DZB_USEW = 2, // W buffering
- D3DZB_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DZBUFFERTYPE;
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-typedef enum _D3DANTIALIASMODE {
- D3DANTIALIAS_NONE = 0,
- D3DANTIALIAS_SORTDEPENDENT = 1,
- D3DANTIALIAS_SORTINDEPENDENT = 2,
- D3DANTIALIAS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DANTIALIASMODE;
-
-// Vertex types supported by Direct3D
-typedef enum _D3DVERTEXTYPE {
- D3DVT_VERTEX = 1,
- D3DVT_LVERTEX = 2,
- D3DVT_TLVERTEX = 3,
- D3DVT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DVERTEXTYPE;
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-// Primitives supported by draw-primitive API
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
- D3DPT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DPRIMITIVETYPE;
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-/*
- * Amount to add to a state to generate the override for that state.
- */
-#define D3DSTATE_OVERRIDE_BIAS 256
-
-/*
- * A state which sets the override flag for the specified state type.
- */
-#define D3DSTATE_OVERRIDE(type) (D3DRENDERSTATETYPE)(((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS))
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTRANSFORMSTATE_WORLD = 1,
- D3DTRANSFORMSTATE_VIEW = 2,
- D3DTRANSFORMSTATE_PROJECTION = 3,
-#if(DIRECT3D_VERSION >= 0x0700)
- D3DTRANSFORMSTATE_WORLD1 = 4, // 2nd matrix to blend
- D3DTRANSFORMSTATE_WORLD2 = 5, // 3rd matrix to blend
- D3DTRANSFORMSTATE_WORLD3 = 6, // 4th matrix to blend
- D3DTRANSFORMSTATE_TEXTURE0 = 16,
- D3DTRANSFORMSTATE_TEXTURE1 = 17,
- D3DTRANSFORMSTATE_TEXTURE2 = 18,
- D3DTRANSFORMSTATE_TEXTURE3 = 19,
- D3DTRANSFORMSTATE_TEXTURE4 = 20,
- D3DTRANSFORMSTATE_TEXTURE5 = 21,
- D3DTRANSFORMSTATE_TEXTURE6 = 22,
- D3DTRANSFORMSTATE_TEXTURE7 = 23,
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DTRANSFORMSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DTRANSFORMSTATETYPE;
-
-#else
-
-//
-// legacy transform state names
-//
-typedef enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE;
-#define D3DTRANSFORMSTATE_WORLD (D3DTRANSFORMSTATETYPE)1
-#define D3DTRANSFORMSTATE_VIEW (D3DTRANSFORMSTATETYPE)2
-#define D3DTRANSFORMSTATE_PROJECTION (D3DTRANSFORMSTATETYPE)3
-#define D3DTRANSFORMSTATE_WORLD1 (D3DTRANSFORMSTATETYPE)4
-#define D3DTRANSFORMSTATE_WORLD2 (D3DTRANSFORMSTATETYPE)5
-#define D3DTRANSFORMSTATE_WORLD3 (D3DTRANSFORMSTATETYPE)6
-#define D3DTRANSFORMSTATE_TEXTURE0 (D3DTRANSFORMSTATETYPE)16
-#define D3DTRANSFORMSTATE_TEXTURE1 (D3DTRANSFORMSTATETYPE)17
-#define D3DTRANSFORMSTATE_TEXTURE2 (D3DTRANSFORMSTATETYPE)18
-#define D3DTRANSFORMSTATE_TEXTURE3 (D3DTRANSFORMSTATETYPE)19
-#define D3DTRANSFORMSTATE_TEXTURE4 (D3DTRANSFORMSTATETYPE)20
-#define D3DTRANSFORMSTATE_TEXTURE5 (D3DTRANSFORMSTATETYPE)21
-#define D3DTRANSFORMSTATE_TEXTURE6 (D3DTRANSFORMSTATETYPE)22
-#define D3DTRANSFORMSTATE_TEXTURE7 (D3DTRANSFORMSTATETYPE)23
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DLIGHTSTATETYPE {
- D3DLIGHTSTATE_MATERIAL = 1,
- D3DLIGHTSTATE_AMBIENT = 2,
- D3DLIGHTSTATE_COLORMODEL = 3,
- D3DLIGHTSTATE_FOGMODE = 4,
- D3DLIGHTSTATE_FOGSTART = 5,
- D3DLIGHTSTATE_FOGEND = 6,
- D3DLIGHTSTATE_FOGDENSITY = 7,
-#if(DIRECT3D_VERSION >= 0x0600)
- D3DLIGHTSTATE_COLORVERTEX = 8,
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DLIGHTSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DLIGHTSTATETYPE;
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRENDERSTATE_ANTIALIAS = 2, /* D3DANTIALIASMODE */
- D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4, /* TRUE for perspective correction */
- D3DRENDERSTATE_ZENABLE = 7, /* D3DZBUFFERTYPE (or TRUE/FALSE for legacy) */
- D3DRENDERSTATE_FILLMODE = 8, /* D3DFILL_MODE */
- D3DRENDERSTATE_SHADEMODE = 9, /* D3DSHADEMODE */
- D3DRENDERSTATE_LINEPATTERN = 10, /* D3DLINEPATTERN */
- D3DRENDERSTATE_ZWRITEENABLE = 14, /* TRUE to enable z writes */
- D3DRENDERSTATE_ALPHATESTENABLE = 15, /* TRUE to enable alpha tests */
- D3DRENDERSTATE_LASTPIXEL = 16, /* TRUE for last-pixel on lines */
- D3DRENDERSTATE_SRCBLEND = 19, /* D3DBLEND */
- D3DRENDERSTATE_DESTBLEND = 20, /* D3DBLEND */
- D3DRENDERSTATE_CULLMODE = 22, /* D3DCULL */
- D3DRENDERSTATE_ZFUNC = 23, /* D3DCMPFUNC */
- D3DRENDERSTATE_ALPHAREF = 24, /* D3DFIXED */
- D3DRENDERSTATE_ALPHAFUNC = 25, /* D3DCMPFUNC */
- D3DRENDERSTATE_DITHERENABLE = 26, /* TRUE to enable dithering */
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DRENDERSTATE_ALPHABLENDENABLE = 27, /* TRUE to enable alpha blending */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
- D3DRENDERSTATE_FOGENABLE = 28, /* TRUE to enable fog blending */
- D3DRENDERSTATE_SPECULARENABLE = 29, /* TRUE to enable specular */
- D3DRENDERSTATE_ZVISIBLE = 30, /* TRUE to enable z checking */
- D3DRENDERSTATE_STIPPLEDALPHA = 33, /* TRUE to enable stippled alpha (RGB device only) */
- D3DRENDERSTATE_FOGCOLOR = 34, /* D3DCOLOR */
- D3DRENDERSTATE_FOGTABLEMODE = 35, /* D3DFOGMODE */
-#if(DIRECT3D_VERSION >= 0x0700)
- D3DRENDERSTATE_FOGSTART = 36, /* Fog start (for both vertex and pixel fog) */
- D3DRENDERSTATE_FOGEND = 37, /* Fog end */
- D3DRENDERSTATE_FOGDENSITY = 38, /* Fog density */
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DRENDERSTATE_EDGEANTIALIAS = 40, /* TRUE to enable edge antialiasing */
- D3DRENDERSTATE_COLORKEYENABLE = 41, /* TRUE to enable source colorkeyed textures */
- D3DRENDERSTATE_ZBIAS = 47, /* LONG Z bias */
- D3DRENDERSTATE_RANGEFOGENABLE = 48, /* Enables range-based fog */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
- D3DRENDERSTATE_STENCILENABLE = 52, /* BOOL enable/disable stenciling */
- D3DRENDERSTATE_STENCILFAIL = 53, /* D3DSTENCILOP to do if stencil test fails */
- D3DRENDERSTATE_STENCILZFAIL = 54, /* D3DSTENCILOP to do if stencil test passes and Z test fails */
- D3DRENDERSTATE_STENCILPASS = 55, /* D3DSTENCILOP to do if both stencil and Z tests pass */
- D3DRENDERSTATE_STENCILFUNC = 56, /* D3DCMPFUNC fn. Stencil Test passes if ((ref & mask) stencilfn (stencil & mask)) is true */
- D3DRENDERSTATE_STENCILREF = 57, /* Reference value used in stencil test */
- D3DRENDERSTATE_STENCILMASK = 58, /* Mask value used in stencil test */
- D3DRENDERSTATE_STENCILWRITEMASK = 59, /* Write mask applied to values written to stencil buffer */
- D3DRENDERSTATE_TEXTUREFACTOR = 60, /* D3DCOLOR used for multi-texture blend */
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
- /*
- * 128 values [128, 255] are reserved for texture coordinate wrap flags.
- * These are constructed with the D3DWRAP_U and D3DWRAP_V macros. Using
- * a flags word preserves forward compatibility with texture coordinates
- * that are >2D.
- */
- D3DRENDERSTATE_WRAP0 = 128, /* wrap for 1st texture coord. set */
- D3DRENDERSTATE_WRAP1 = 129, /* wrap for 2nd texture coord. set */
- D3DRENDERSTATE_WRAP2 = 130, /* wrap for 3rd texture coord. set */
- D3DRENDERSTATE_WRAP3 = 131, /* wrap for 4th texture coord. set */
- D3DRENDERSTATE_WRAP4 = 132, /* wrap for 5th texture coord. set */
- D3DRENDERSTATE_WRAP5 = 133, /* wrap for 6th texture coord. set */
- D3DRENDERSTATE_WRAP6 = 134, /* wrap for 7th texture coord. set */
- D3DRENDERSTATE_WRAP7 = 135, /* wrap for 8th texture coord. set */
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-#if(DIRECT3D_VERSION >= 0x0700)
- D3DRENDERSTATE_CLIPPING = 136,
- D3DRENDERSTATE_LIGHTING = 137,
- D3DRENDERSTATE_EXTENTS = 138,
- D3DRENDERSTATE_AMBIENT = 139,
- D3DRENDERSTATE_FOGVERTEXMODE = 140,
- D3DRENDERSTATE_COLORVERTEX = 141,
- D3DRENDERSTATE_LOCALVIEWER = 142,
- D3DRENDERSTATE_NORMALIZENORMALS = 143,
- D3DRENDERSTATE_COLORKEYBLENDENABLE = 144,
- D3DRENDERSTATE_DIFFUSEMATERIALSOURCE = 145,
- D3DRENDERSTATE_SPECULARMATERIALSOURCE = 146,
- D3DRENDERSTATE_AMBIENTMATERIALSOURCE = 147,
- D3DRENDERSTATE_EMISSIVEMATERIALSOURCE = 148,
- D3DRENDERSTATE_VERTEXBLEND = 151,
- D3DRENDERSTATE_CLIPPLANEENABLE = 152,
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-//
-// retired renderstates - not supported for DX7 interfaces
-//
- D3DRENDERSTATE_TEXTUREHANDLE = 1, /* Texture handle for legacy interfaces (Texture,Texture2) */
- D3DRENDERSTATE_TEXTUREADDRESS = 3, /* D3DTEXTUREADDRESS */
- D3DRENDERSTATE_WRAPU = 5, /* TRUE for wrapping in u */
- D3DRENDERSTATE_WRAPV = 6, /* TRUE for wrapping in v */
- D3DRENDERSTATE_MONOENABLE = 11, /* TRUE to enable mono rasterization */
- D3DRENDERSTATE_ROP2 = 12, /* ROP2 */
- D3DRENDERSTATE_PLANEMASK = 13, /* DWORD physical plane mask */
- D3DRENDERSTATE_TEXTUREMAG = 17, /* D3DTEXTUREFILTER */
- D3DRENDERSTATE_TEXTUREMIN = 18, /* D3DTEXTUREFILTER */
- D3DRENDERSTATE_TEXTUREMAPBLEND = 21, /* D3DTEXTUREBLEND */
- D3DRENDERSTATE_SUBPIXEL = 31, /* TRUE to enable subpixel correction */
- D3DRENDERSTATE_SUBPIXELX = 32, /* TRUE to enable correction in X only */
- D3DRENDERSTATE_STIPPLEENABLE = 39, /* TRUE to enable stippling */
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DRENDERSTATE_BORDERCOLOR = 43, /* Border color for texturing w/border */
- D3DRENDERSTATE_TEXTUREADDRESSU = 44, /* Texture addressing mode for U coordinate */
- D3DRENDERSTATE_TEXTUREADDRESSV = 45, /* Texture addressing mode for V coordinate */
- D3DRENDERSTATE_MIPMAPLODBIAS = 46, /* D3DVALUE Mipmap LOD bias */
- D3DRENDERSTATE_ANISOTROPY = 49, /* Max. anisotropy. 1 = no anisotropy */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
- D3DRENDERSTATE_FLUSHBATCH = 50, /* Explicit flush for DP batching (DX5 Only) */
-#if(DIRECT3D_VERSION >= 0x0600)
- D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT=51, /* BOOL enable sort-independent transparency */
-#endif /* DIRECT3D_VERSION >= 0x0600 */
- D3DRENDERSTATE_STIPPLEPATTERN00 = 64, /* Stipple pattern 01... */
- D3DRENDERSTATE_STIPPLEPATTERN01 = 65,
- D3DRENDERSTATE_STIPPLEPATTERN02 = 66,
- D3DRENDERSTATE_STIPPLEPATTERN03 = 67,
- D3DRENDERSTATE_STIPPLEPATTERN04 = 68,
- D3DRENDERSTATE_STIPPLEPATTERN05 = 69,
- D3DRENDERSTATE_STIPPLEPATTERN06 = 70,
- D3DRENDERSTATE_STIPPLEPATTERN07 = 71,
- D3DRENDERSTATE_STIPPLEPATTERN08 = 72,
- D3DRENDERSTATE_STIPPLEPATTERN09 = 73,
- D3DRENDERSTATE_STIPPLEPATTERN10 = 74,
- D3DRENDERSTATE_STIPPLEPATTERN11 = 75,
- D3DRENDERSTATE_STIPPLEPATTERN12 = 76,
- D3DRENDERSTATE_STIPPLEPATTERN13 = 77,
- D3DRENDERSTATE_STIPPLEPATTERN14 = 78,
- D3DRENDERSTATE_STIPPLEPATTERN15 = 79,
- D3DRENDERSTATE_STIPPLEPATTERN16 = 80,
- D3DRENDERSTATE_STIPPLEPATTERN17 = 81,
- D3DRENDERSTATE_STIPPLEPATTERN18 = 82,
- D3DRENDERSTATE_STIPPLEPATTERN19 = 83,
- D3DRENDERSTATE_STIPPLEPATTERN20 = 84,
- D3DRENDERSTATE_STIPPLEPATTERN21 = 85,
- D3DRENDERSTATE_STIPPLEPATTERN22 = 86,
- D3DRENDERSTATE_STIPPLEPATTERN23 = 87,
- D3DRENDERSTATE_STIPPLEPATTERN24 = 88,
- D3DRENDERSTATE_STIPPLEPATTERN25 = 89,
- D3DRENDERSTATE_STIPPLEPATTERN26 = 90,
- D3DRENDERSTATE_STIPPLEPATTERN27 = 91,
- D3DRENDERSTATE_STIPPLEPATTERN28 = 92,
- D3DRENDERSTATE_STIPPLEPATTERN29 = 93,
- D3DRENDERSTATE_STIPPLEPATTERN30 = 94,
- D3DRENDERSTATE_STIPPLEPATTERN31 = 95,
-
-//
-// retired renderstate names - the values are still used under new naming conventions
-//
- D3DRENDERSTATE_FOGTABLESTART = 36, /* Fog table start */
- D3DRENDERSTATE_FOGTABLEEND = 37, /* Fog table end */
- D3DRENDERSTATE_FOGTABLEDENSITY = 38, /* Fog table density */
-
-#if(DIRECT3D_VERSION >= 0x0500)
- D3DRENDERSTATE_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-} D3DRENDERSTATETYPE;
-
-#else
-
-typedef enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE;
-
-//
-// legacy renderstate names
-//
-#define D3DRENDERSTATE_TEXTUREPERSPECTIVE (D3DRENDERSTATETYPE)4
-#define D3DRENDERSTATE_ZENABLE (D3DRENDERSTATETYPE)7
-#define D3DRENDERSTATE_FILLMODE (D3DRENDERSTATETYPE)8
-#define D3DRENDERSTATE_SHADEMODE (D3DRENDERSTATETYPE)9
-#define D3DRENDERSTATE_LINEPATTERN (D3DRENDERSTATETYPE)10
-#define D3DRENDERSTATE_ZWRITEENABLE (D3DRENDERSTATETYPE)14
-#define D3DRENDERSTATE_ALPHATESTENABLE (D3DRENDERSTATETYPE)15
-#define D3DRENDERSTATE_LASTPIXEL (D3DRENDERSTATETYPE)16
-#define D3DRENDERSTATE_SRCBLEND (D3DRENDERSTATETYPE)19
-#define D3DRENDERSTATE_DESTBLEND (D3DRENDERSTATETYPE)20
-#define D3DRENDERSTATE_CULLMODE (D3DRENDERSTATETYPE)22
-#define D3DRENDERSTATE_ZFUNC (D3DRENDERSTATETYPE)23
-#define D3DRENDERSTATE_ALPHAREF (D3DRENDERSTATETYPE)24
-#define D3DRENDERSTATE_ALPHAFUNC (D3DRENDERSTATETYPE)25
-#define D3DRENDERSTATE_DITHERENABLE (D3DRENDERSTATETYPE)26
-#define D3DRENDERSTATE_ALPHABLENDENABLE (D3DRENDERSTATETYPE)27
-#define D3DRENDERSTATE_FOGENABLE (D3DRENDERSTATETYPE)28
-#define D3DRENDERSTATE_SPECULARENABLE (D3DRENDERSTATETYPE)29
-#define D3DRENDERSTATE_ZVISIBLE (D3DRENDERSTATETYPE)30
-#define D3DRENDERSTATE_STIPPLEDALPHA (D3DRENDERSTATETYPE)33
-#define D3DRENDERSTATE_FOGCOLOR (D3DRENDERSTATETYPE)34
-#define D3DRENDERSTATE_FOGTABLEMODE (D3DRENDERSTATETYPE)35
-#define D3DRENDERSTATE_FOGSTART (D3DRENDERSTATETYPE)36
-#define D3DRENDERSTATE_FOGEND (D3DRENDERSTATETYPE)37
-#define D3DRENDERSTATE_FOGDENSITY (D3DRENDERSTATETYPE)38
-#define D3DRENDERSTATE_EDGEANTIALIAS (D3DRENDERSTATETYPE)40
-#define D3DRENDERSTATE_ZBIAS (D3DRENDERSTATETYPE)47
-#define D3DRENDERSTATE_RANGEFOGENABLE (D3DRENDERSTATETYPE)48
-#define D3DRENDERSTATE_STENCILENABLE (D3DRENDERSTATETYPE)52
-#define D3DRENDERSTATE_STENCILFAIL (D3DRENDERSTATETYPE)53
-#define D3DRENDERSTATE_STENCILZFAIL (D3DRENDERSTATETYPE)54
-#define D3DRENDERSTATE_STENCILPASS (D3DRENDERSTATETYPE)55
-#define D3DRENDERSTATE_STENCILFUNC (D3DRENDERSTATETYPE)56
-#define D3DRENDERSTATE_STENCILREF (D3DRENDERSTATETYPE)57
-#define D3DRENDERSTATE_STENCILMASK (D3DRENDERSTATETYPE)58
-#define D3DRENDERSTATE_STENCILWRITEMASK (D3DRENDERSTATETYPE)59
-#define D3DRENDERSTATE_TEXTUREFACTOR (D3DRENDERSTATETYPE)60
-#define D3DRENDERSTATE_WRAP0 (D3DRENDERSTATETYPE)128
-#define D3DRENDERSTATE_WRAP1 (D3DRENDERSTATETYPE)129
-#define D3DRENDERSTATE_WRAP2 (D3DRENDERSTATETYPE)130
-#define D3DRENDERSTATE_WRAP3 (D3DRENDERSTATETYPE)131
-#define D3DRENDERSTATE_WRAP4 (D3DRENDERSTATETYPE)132
-#define D3DRENDERSTATE_WRAP5 (D3DRENDERSTATETYPE)133
-#define D3DRENDERSTATE_WRAP6 (D3DRENDERSTATETYPE)134
-#define D3DRENDERSTATE_WRAP7 (D3DRENDERSTATETYPE)135
-
-#define D3DRENDERSTATE_CLIPPING (D3DRENDERSTATETYPE)136
-#define D3DRENDERSTATE_LIGHTING (D3DRENDERSTATETYPE)137
-#define D3DRENDERSTATE_EXTENTS (D3DRENDERSTATETYPE)138
-#define D3DRENDERSTATE_AMBIENT (D3DRENDERSTATETYPE)139
-#define D3DRENDERSTATE_FOGVERTEXMODE (D3DRENDERSTATETYPE)140
-#define D3DRENDERSTATE_COLORVERTEX (D3DRENDERSTATETYPE)141
-#define D3DRENDERSTATE_LOCALVIEWER (D3DRENDERSTATETYPE)142
-#define D3DRENDERSTATE_NORMALIZENORMALS (D3DRENDERSTATETYPE)143
-#define D3DRENDERSTATE_COLORKEYBLENDENABLE (D3DRENDERSTATETYPE)144
-#define D3DRENDERSTATE_DIFFUSEMATERIALSOURCE (D3DRENDERSTATETYPE)145
-#define D3DRENDERSTATE_SPECULARMATERIALSOURCE (D3DRENDERSTATETYPE)146
-#define D3DRENDERSTATE_AMBIENTMATERIALSOURCE (D3DRENDERSTATETYPE)147
-#define D3DRENDERSTATE_EMISSIVEMATERIALSOURCE (D3DRENDERSTATETYPE)148
-#define D3DRENDERSTATE_VERTEXBLEND (D3DRENDERSTATETYPE)151
-#define D3DRENDERSTATE_CLIPPLANEENABLE (D3DRENDERSTATETYPE)152
-
-//
-// retired renderstates - not supported for DX7 interfaces
-//
-#define D3DRENDERSTATE_TEXTUREHANDLE (D3DRENDERSTATETYPE)1
-#define D3DRENDERSTATE_ANTIALIAS (D3DRENDERSTATETYPE)2
-#define D3DRENDERSTATE_TEXTUREADDRESS (D3DRENDERSTATETYPE)3
-#define D3DRENDERSTATE_WRAPU (D3DRENDERSTATETYPE)5
-#define D3DRENDERSTATE_WRAPV (D3DRENDERSTATETYPE)6
-#define D3DRENDERSTATE_MONOENABLE (D3DRENDERSTATETYPE)11
-#define D3DRENDERSTATE_ROP2 (D3DRENDERSTATETYPE)12
-#define D3DRENDERSTATE_PLANEMASK (D3DRENDERSTATETYPE)13
-#define D3DRENDERSTATE_TEXTUREMAG (D3DRENDERSTATETYPE)17
-#define D3DRENDERSTATE_TEXTUREMIN (D3DRENDERSTATETYPE)18
-#define D3DRENDERSTATE_TEXTUREMAPBLEND (D3DRENDERSTATETYPE)21
-#define D3DRENDERSTATE_SUBPIXEL (D3DRENDERSTATETYPE)31
-#define D3DRENDERSTATE_SUBPIXELX (D3DRENDERSTATETYPE)32
-#define D3DRENDERSTATE_STIPPLEENABLE (D3DRENDERSTATETYPE)39
-#define D3DRENDERSTATE_OLDALPHABLENDENABLE (D3DRENDERSTATETYPE)42
-#define D3DRENDERSTATE_BORDERCOLOR (D3DRENDERSTATETYPE)43
-#define D3DRENDERSTATE_TEXTUREADDRESSU (D3DRENDERSTATETYPE)44
-#define D3DRENDERSTATE_TEXTUREADDRESSV (D3DRENDERSTATETYPE)45
-#define D3DRENDERSTATE_MIPMAPLODBIAS (D3DRENDERSTATETYPE)46
-#define D3DRENDERSTATE_ANISOTROPY (D3DRENDERSTATETYPE)49
-#define D3DRENDERSTATE_FLUSHBATCH (D3DRENDERSTATETYPE)50
-#define D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT (D3DRENDERSTATETYPE)51
-#define D3DRENDERSTATE_STIPPLEPATTERN00 (D3DRENDERSTATETYPE)64
-#define D3DRENDERSTATE_STIPPLEPATTERN01 (D3DRENDERSTATETYPE)65
-#define D3DRENDERSTATE_STIPPLEPATTERN02 (D3DRENDERSTATETYPE)66
-#define D3DRENDERSTATE_STIPPLEPATTERN03 (D3DRENDERSTATETYPE)67
-#define D3DRENDERSTATE_STIPPLEPATTERN04 (D3DRENDERSTATETYPE)68
-#define D3DRENDERSTATE_STIPPLEPATTERN05 (D3DRENDERSTATETYPE)69
-#define D3DRENDERSTATE_STIPPLEPATTERN06 (D3DRENDERSTATETYPE)70
-#define D3DRENDERSTATE_STIPPLEPATTERN07 (D3DRENDERSTATETYPE)71
-#define D3DRENDERSTATE_STIPPLEPATTERN08 (D3DRENDERSTATETYPE)72
-#define D3DRENDERSTATE_STIPPLEPATTERN09 (D3DRENDERSTATETYPE)73
-#define D3DRENDERSTATE_STIPPLEPATTERN10 (D3DRENDERSTATETYPE)74
-#define D3DRENDERSTATE_STIPPLEPATTERN11 (D3DRENDERSTATETYPE)75
-#define D3DRENDERSTATE_STIPPLEPATTERN12 (D3DRENDERSTATETYPE)76
-#define D3DRENDERSTATE_STIPPLEPATTERN13 (D3DRENDERSTATETYPE)77
-#define D3DRENDERSTATE_STIPPLEPATTERN14 (D3DRENDERSTATETYPE)78
-#define D3DRENDERSTATE_STIPPLEPATTERN15 (D3DRENDERSTATETYPE)79
-#define D3DRENDERSTATE_STIPPLEPATTERN16 (D3DRENDERSTATETYPE)80
-#define D3DRENDERSTATE_STIPPLEPATTERN17 (D3DRENDERSTATETYPE)81
-#define D3DRENDERSTATE_STIPPLEPATTERN18 (D3DRENDERSTATETYPE)82
-#define D3DRENDERSTATE_STIPPLEPATTERN19 (D3DRENDERSTATETYPE)83
-#define D3DRENDERSTATE_STIPPLEPATTERN20 (D3DRENDERSTATETYPE)84
-#define D3DRENDERSTATE_STIPPLEPATTERN21 (D3DRENDERSTATETYPE)85
-#define D3DRENDERSTATE_STIPPLEPATTERN22 (D3DRENDERSTATETYPE)86
-#define D3DRENDERSTATE_STIPPLEPATTERN23 (D3DRENDERSTATETYPE)87
-#define D3DRENDERSTATE_STIPPLEPATTERN24 (D3DRENDERSTATETYPE)88
-#define D3DRENDERSTATE_STIPPLEPATTERN25 (D3DRENDERSTATETYPE)89
-#define D3DRENDERSTATE_STIPPLEPATTERN26 (D3DRENDERSTATETYPE)90
-#define D3DRENDERSTATE_STIPPLEPATTERN27 (D3DRENDERSTATETYPE)91
-#define D3DRENDERSTATE_STIPPLEPATTERN28 (D3DRENDERSTATETYPE)92
-#define D3DRENDERSTATE_STIPPLEPATTERN29 (D3DRENDERSTATETYPE)93
-#define D3DRENDERSTATE_STIPPLEPATTERN30 (D3DRENDERSTATETYPE)94
-#define D3DRENDERSTATE_STIPPLEPATTERN31 (D3DRENDERSTATETYPE)95
-
-//
-// retired renderstates - not supported for DX8 interfaces
-//
-#define D3DRENDERSTATE_COLORKEYENABLE (D3DRENDERSTATETYPE)41
-#define D3DRENDERSTATE_COLORKEYBLENDENABLE (D3DRENDERSTATETYPE)144
-
-//
-// retired renderstate names - the values are still used under new naming conventions
-//
-#define D3DRENDERSTATE_BLENDENABLE (D3DRENDERSTATETYPE)27
-#define D3DRENDERSTATE_FOGTABLESTART (D3DRENDERSTATETYPE)36
-#define D3DRENDERSTATE_FOGTABLEEND (D3DRENDERSTATETYPE)37
-#define D3DRENDERSTATE_FOGTABLEDENSITY (D3DRENDERSTATETYPE)38
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-// Values for material source
-typedef enum _D3DMATERIALCOLORSOURCE
-{
- D3DMCS_MATERIAL = 0, // Color from material is used
- D3DMCS_COLOR1 = 1, // Diffuse vertex color is used
- D3DMCS_COLOR2 = 2, // Specular vertex color is used
- D3DMCS_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
-} D3DMATERIALCOLORSOURCE;
-
-
-#if(DIRECT3D_VERSION >= 0x0500)
-// For back-compatibility with legacy compilations
-#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-// Bias to apply to the texture coordinate set to apply a wrap to.
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-
-/* Flags to construct the WRAP render states */
-#define D3DWRAP_U 0x00000001L
-#define D3DWRAP_V 0x00000002L
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-/* Flags to construct the WRAP render states for 1D thru 4D texture coordinates */
-#define D3DWRAPCOORD_0 0x00000001L // same as D3DWRAP_U
-#define D3DWRAPCOORD_1 0x00000002L // same as D3DWRAP_V
-#define D3DWRAPCOORD_2 0x00000004L
-#define D3DWRAPCOORD_3 0x00000008L
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
-
-typedef struct _D3DSTATE {
- union {
-#if(DIRECT3D_VERSION < 0x0800)
- D3DTRANSFORMSTATETYPE dtstTransformStateType;
-#endif //(DIRECT3D_VERSION < 0x0800)
- D3DLIGHTSTATETYPE dlstLightStateType;
- D3DRENDERSTATETYPE drstRenderStateType;
- };
- union {
- DWORD dwArg[1];
- D3DVALUE dvArg[1];
- };
-} D3DSTATE, *LPD3DSTATE;
-
-
-/*
- * Operation used to load matrices
- * hDstMat = hSrcMat
- */
-typedef struct _D3DMATRIXLOAD {
- D3DMATRIXHANDLE hDestMatrix; /* Destination matrix */
- D3DMATRIXHANDLE hSrcMatrix; /* Source matrix */
-} D3DMATRIXLOAD, *LPD3DMATRIXLOAD;
-
-/*
- * Operation used to multiply matrices
- * hDstMat = hSrcMat1 * hSrcMat2
- */
-typedef struct _D3DMATRIXMULTIPLY {
- D3DMATRIXHANDLE hDestMatrix; /* Destination matrix */
- D3DMATRIXHANDLE hSrcMatrix1; /* First source matrix */
- D3DMATRIXHANDLE hSrcMatrix2; /* Second source matrix */
-} D3DMATRIXMULTIPLY, *LPD3DMATRIXMULTIPLY;
-
-/*
- * Operation used to transform and light vertices.
- */
-typedef struct _D3DPROCESSVERTICES {
- DWORD dwFlags; /* Do we transform or light or just copy? */
- WORD wStart; /* Index to first vertex in source */
- WORD wDest; /* Index to first vertex in local buffer */
- DWORD dwCount; /* Number of vertices to be processed */
- DWORD dwReserved; /* Must be zero */
-} D3DPROCESSVERTICES, *LPD3DPROCESSVERTICES;
-
-#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
-#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
-#define D3DPROCESSVERTICES_COPY 0x00000002L
-#define D3DPROCESSVERTICES_OPMASK 0x00000007L
-
-#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
-#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
-
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-/*
- * State enumerants for per-stage texture processing.
- */
-typedef enum _D3DTEXTURESTAGESTATETYPE
-{
- D3DTSS_COLOROP = 1, /* D3DTEXTUREOP - per-stage blending controls for color channels */
- D3DTSS_COLORARG1 = 2, /* D3DTA_* (texture arg) */
- D3DTSS_COLORARG2 = 3, /* D3DTA_* (texture arg) */
- D3DTSS_ALPHAOP = 4, /* D3DTEXTUREOP - per-stage blending controls for alpha channel */
- D3DTSS_ALPHAARG1 = 5, /* D3DTA_* (texture arg) */
- D3DTSS_ALPHAARG2 = 6, /* D3DTA_* (texture arg) */
- D3DTSS_BUMPENVMAT00 = 7, /* D3DVALUE (bump mapping matrix) */
- D3DTSS_BUMPENVMAT01 = 8, /* D3DVALUE (bump mapping matrix) */
- D3DTSS_BUMPENVMAT10 = 9, /* D3DVALUE (bump mapping matrix) */
- D3DTSS_BUMPENVMAT11 = 10, /* D3DVALUE (bump mapping matrix) */
- D3DTSS_TEXCOORDINDEX = 11, /* identifies which set of texture coordinates index this texture */
- D3DTSS_ADDRESS = 12, /* D3DTEXTUREADDRESS for both coordinates */
- D3DTSS_ADDRESSU = 13, /* D3DTEXTUREADDRESS for U coordinate */
- D3DTSS_ADDRESSV = 14, /* D3DTEXTUREADDRESS for V coordinate */
- D3DTSS_BORDERCOLOR = 15, /* D3DCOLOR */
- D3DTSS_MAGFILTER = 16, /* D3DTEXTUREMAGFILTER filter to use for magnification */
- D3DTSS_MINFILTER = 17, /* D3DTEXTUREMINFILTER filter to use for minification */
- D3DTSS_MIPFILTER = 18, /* D3DTEXTUREMIPFILTER filter to use between mipmaps during minification */
- D3DTSS_MIPMAPLODBIAS = 19, /* D3DVALUE Mipmap LOD bias */
- D3DTSS_MAXMIPLEVEL = 20, /* DWORD 0..(n-1) LOD index of largest map to use (0 == largest) */
- D3DTSS_MAXANISOTROPY = 21, /* DWORD maximum anisotropy */
- D3DTSS_BUMPENVLSCALE = 22, /* D3DVALUE scale for bump map luminance */
- D3DTSS_BUMPENVLOFFSET = 23, /* D3DVALUE offset for bump map luminance */
-#if(DIRECT3D_VERSION >= 0x0700)
- D3DTSS_TEXTURETRANSFORMFLAGS = 24, /* D3DTEXTURETRANSFORMFLAGS controls texture transform */
-#endif /* DIRECT3D_VERSION >= 0x0700 */
- D3DTSS_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
-} D3DTEXTURESTAGESTATETYPE;
-
-#if(DIRECT3D_VERSION >= 0x0700)
-// Values, used with D3DTSS_TEXCOORDINDEX, to specify that the vertex data(position
-// and normal in the camera space) should be taken as texture coordinates
-// Low 16 bits are used to specify texture coordinate index, to take the WRAP mode from
-//
-#define D3DTSS_TCI_PASSTHRU 0x00000000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x00010000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x00020000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x00030000
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-/*
- * Enumerations for COLOROP and ALPHAOP texture blending operations set in
- * texture processing stage controls in D3DRENDERSTATE.
- */
-typedef enum _D3DTEXTUREOP
-{
-// Control
- D3DTOP_DISABLE = 1, // disables stage
- D3DTOP_SELECTARG1 = 2, // the default
- D3DTOP_SELECTARG2 = 3,
-
-// Modulate
- D3DTOP_MODULATE = 4, // multiply args together
- D3DTOP_MODULATE2X = 5, // multiply and 1 bit
- D3DTOP_MODULATE4X = 6, // multiply and 2 bits
-
-// Add
- D3DTOP_ADD = 7, // add arguments together
- D3DTOP_ADDSIGNED = 8, // add with -0.5 bias
- D3DTOP_ADDSIGNED2X = 9, // as above but left 1 bit
- D3DTOP_SUBTRACT = 10, // Arg1 - Arg2, with no saturation
- D3DTOP_ADDSMOOTH = 11, // add 2 args, subtract product
- // Arg1 + Arg2 - Arg1*Arg2
- // = Arg1 + (1-Arg1)*Arg2
-
-// Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha)
- D3DTOP_BLENDDIFFUSEALPHA = 12, // iterated alpha
- D3DTOP_BLENDTEXTUREALPHA = 13, // texture alpha
- D3DTOP_BLENDFACTORALPHA = 14, // alpha from D3DRENDERSTATE_TEXTUREFACTOR
- // Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha)
- D3DTOP_BLENDTEXTUREALPHAPM = 15, // texture alpha
- D3DTOP_BLENDCURRENTALPHA = 16, // by alpha of current color
-
-// Specular mapping
- D3DTOP_PREMODULATE = 17, // modulate with next texture before use
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18, // Arg1.RGB + Arg1.A*Arg2.RGB
- // COLOROP only
- D3DTOP_MODULATECOLOR_ADDALPHA = 19, // Arg1.RGB*Arg2.RGB + Arg1.A
- // COLOROP only
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, // (1-Arg1.A)*Arg2.RGB + Arg1.RGB
- // COLOROP only
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, // (1-Arg1.RGB)*Arg2.RGB + Arg1.A
- // COLOROP only
-
-// Bump mapping
- D3DTOP_BUMPENVMAP = 22, // per pixel env map perturbation
- D3DTOP_BUMPENVMAPLUMINANCE = 23, // with luminance channel
- // This can do either diffuse or specular bump mapping with correct input.
- // Performs the function (Arg1.R*Arg2.R + Arg1.G*Arg2.G + Arg1.B*Arg2.B)
- // where each component has been scaled and offset to make it signed.
- // The result is replicated into all four (including alpha) channels.
- // This is a valid COLOROP only.
- D3DTOP_DOTPRODUCT3 = 24,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTUREOP;
-
-/*
- * Values for COLORARG1,2 and ALPHAARG1,2 texture blending operations
- * set in texture processing stage controls in D3DRENDERSTATE.
- */
-#define D3DTA_SELECTMASK 0x0000000f // mask for arg selector
-#define D3DTA_DIFFUSE 0x00000000 // select diffuse color
-#define D3DTA_CURRENT 0x00000001 // select result of previous stage
-#define D3DTA_TEXTURE 0x00000002 // select texture color
-#define D3DTA_TFACTOR 0x00000003 // select RENDERSTATE_TEXTUREFACTOR
-#if(DIRECT3D_VERSION >= 0x0700)
-#define D3DTA_SPECULAR 0x00000004 // select specular color
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-#define D3DTA_COMPLEMENT 0x00000010 // take 1.0 - x
-#define D3DTA_ALPHAREPLICATE 0x00000020 // replicate alpha to color components
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-/*
- * IDirect3DTexture2 State Filter Types
- */
-typedef enum _D3DTEXTUREMAGFILTER
-{
- D3DTFG_POINT = 1, // nearest
- D3DTFG_LINEAR = 2, // linear interpolation
- D3DTFG_FLATCUBIC = 3, // cubic
- D3DTFG_GAUSSIANCUBIC = 4, // different cubic kernel
- D3DTFG_ANISOTROPIC = 5, //
-#if(DIRECT3D_VERSION >= 0x0700)
-#endif /* DIRECT3D_VERSION >= 0x0700 */
- D3DTFG_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
-} D3DTEXTUREMAGFILTER;
-
-typedef enum _D3DTEXTUREMINFILTER
-{
- D3DTFN_POINT = 1, // nearest
- D3DTFN_LINEAR = 2, // linear interpolation
- D3DTFN_ANISOTROPIC = 3, //
- D3DTFN_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
-} D3DTEXTUREMINFILTER;
-
-typedef enum _D3DTEXTUREMIPFILTER
-{
- D3DTFP_NONE = 1, // mipmapping disabled (use MAG filter)
- D3DTFP_POINT = 2, // nearest
- D3DTFP_LINEAR = 3, // linear interpolation
- D3DTFP_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
-} D3DTEXTUREMIPFILTER;
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-/*
- * Triangle flags
- */
-
-/*
- * Tri strip and fan flags.
- * START loads all three vertices
- * EVEN and ODD load just v3 with even or odd culling
- * START_FLAT contains a count from 0 to 29 that allows the
- * whole strip or fan to be culled in one hit.
- * e.g. for a quad len = 1
- */
-#define D3DTRIFLAG_START 0x00000000L
-#define D3DTRIFLAG_STARTFLAT(len) (len) /* 0 < len < 30 */
-#define D3DTRIFLAG_ODD 0x0000001eL
-#define D3DTRIFLAG_EVEN 0x0000001fL
-
-/*
- * Triangle edge flags
- * enable edges for wireframe or antialiasing
- */
-#define D3DTRIFLAG_EDGEENABLE1 0x00000100L /* v0-v1 edge */
-#define D3DTRIFLAG_EDGEENABLE2 0x00000200L /* v1-v2 edge */
-#define D3DTRIFLAG_EDGEENABLE3 0x00000400L /* v2-v0 edge */
-#define D3DTRIFLAG_EDGEENABLETRIANGLE \
- (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
-
-/*
- * Primitive structures and related defines. Vertex offsets are to types
- * D3DVERTEX, D3DLVERTEX, or D3DTLVERTEX.
- */
-
-/*
- * Triangle list primitive structure
- */
-typedef struct _D3DTRIANGLE {
- union {
- WORD v1; /* Vertex indices */
- WORD wV1;
- };
- union {
- WORD v2;
- WORD wV2;
- };
- union {
- WORD v3;
- WORD wV3;
- };
- WORD wFlags; /* Edge (and other) flags */
-} D3DTRIANGLE, *LPD3DTRIANGLE;
-
-/*
- * Line list structure.
- * The instruction count defines the number of line segments.
- */
-typedef struct _D3DLINE {
- union {
- WORD v1; /* Vertex indices */
- WORD wV1;
- };
- union {
- WORD v2;
- WORD wV2;
- };
-} D3DLINE, *LPD3DLINE;
-
-/*
- * Span structure
- * Spans join a list of points with the same y value.
- * If the y value changes, a new span is started.
- */
-typedef struct _D3DSPAN {
- WORD wCount; /* Number of spans */
- WORD wFirst; /* Index to first vertex */
-} D3DSPAN, *LPD3DSPAN;
-
-/*
- * Point structure
- */
-typedef struct _D3DPOINT {
- WORD wCount; /* number of points */
- WORD wFirst; /* index to first vertex */
-} D3DPOINT, *LPD3DPOINT;
-
-
-/*
- * Forward branch structure.
- * Mask is logically anded with the driver status mask
- * if the result equals 'value', the branch is taken.
- */
-typedef struct _D3DBRANCH {
- DWORD dwMask; /* Bitmask against D3D status */
- DWORD dwValue;
- BOOL bNegate; /* TRUE to negate comparison */
- DWORD dwOffset; /* How far to branch forward (0 for exit)*/
-} D3DBRANCH, *LPD3DBRANCH;
-
-/*
- * Status used for set status instruction.
- * The D3D status is initialised on device creation
- * and is modified by all execute calls.
- */
-typedef struct _D3DSTATUS {
- DWORD dwFlags; /* Do we set extents or status */
- DWORD dwStatus; /* D3D status */
- D3DRECT drExtent;
-} D3DSTATUS, *LPD3DSTATUS;
-
-#define D3DSETSTATUS_STATUS 0x00000001L
-#define D3DSETSTATUS_EXTENTS 0x00000002L
-#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
-
-#if(DIRECT3D_VERSION >= 0x0500)
-typedef struct _D3DCLIPSTATUS {
- DWORD dwFlags; /* Do we set 2d extents, 3D extents or status */
- DWORD dwStatus; /* Clip status */
- float minx, maxx; /* X extents */
- float miny, maxy; /* Y extents */
- float minz, maxz; /* Z extents */
-} D3DCLIPSTATUS, *LPD3DCLIPSTATUS;
-
-#define D3DCLIPSTATUS_STATUS 0x00000001L
-#define D3DCLIPSTATUS_EXTENTS2 0x00000002L
-#define D3DCLIPSTATUS_EXTENTS3 0x00000004L
-
-#endif /* DIRECT3D_VERSION >= 0x0500 */
-/*
- * Statistics structure
- */
-typedef struct _D3DSTATS {
- DWORD dwSize;
- DWORD dwTrianglesDrawn;
- DWORD dwLinesDrawn;
- DWORD dwPointsDrawn;
- DWORD dwSpansDrawn;
- DWORD dwVerticesProcessed;
-} D3DSTATS, *LPD3DSTATS;
-
-/*
- * Execute options.
- * When calling using D3DEXECUTE_UNCLIPPED all the primitives
- * inside the buffer must be contained within the viewport.
- */
-#define D3DEXECUTE_CLIPPED 0x00000001l
-#define D3DEXECUTE_UNCLIPPED 0x00000002l
-
-typedef struct _D3DEXECUTEDATA {
- DWORD dwSize;
- DWORD dwVertexOffset;
- DWORD dwVertexCount;
- DWORD dwInstructionOffset;
- DWORD dwInstructionLength;
- DWORD dwHVertexOffset;
- D3DSTATUS dsStatus; /* Status after execute */
-} D3DEXECUTEDATA, *LPD3DEXECUTEDATA;
-
-/*
- * Palette flags.
- * This are or'ed with the peFlags in the PALETTEENTRYs passed to DirectDraw.
- */
-#define D3DPAL_FREE 0x00 /* Renderer may use this entry freely */
-#define D3DPAL_READONLY 0x40 /* Renderer may not set this entry */
-#define D3DPAL_RESERVED 0x80 /* Renderer may not use this entry */
-
-
-#if(DIRECT3D_VERSION >= 0x0600)
-
-typedef struct _D3DVERTEXBUFFERDESC {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwFVF;
- DWORD dwNumVertices;
-} D3DVERTEXBUFFERDESC, *LPD3DVERTEXBUFFERDESC;
-
-#define D3DVBCAPS_SYSTEMMEMORY 0x00000800l
-#define D3DVBCAPS_WRITEONLY 0x00010000l
-#define D3DVBCAPS_OPTIMIZED 0x80000000l
-#define D3DVBCAPS_DONOTCLIP 0x00000001l
-
-/* Vertex Operations for ProcessVertices */
-#define D3DVOP_LIGHT (1 << 10)
-#define D3DVOP_TRANSFORM (1 << 0)
-#define D3DVOP_CLIP (1 << 2)
-#define D3DVOP_EXTENTS (1 << 3)
-
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-/* The maximum number of vertices user can pass to any d3d
- drawing function or to create vertex buffer with
-*/
-#define D3DMAXNUMVERTICES ((1<<16) - 1)
-/* The maximum number of primitives user can pass to any d3d
- drawing function.
-*/
-#define D3DMAXNUMPRIMITIVES ((1<<16) - 1)
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-/* Bits for dwFlags in ProcessVertices call */
-#define D3DPV_DONOTCOPYDATA (1 << 0)
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-//-------------------------------------------------------------------
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-// Flexible vertex format bits
-//
-#define D3DFVF_RESERVED0 0x001
-#define D3DFVF_POSITION_MASK 0x00E
-#define D3DFVF_XYZ 0x002
-#define D3DFVF_XYZRHW 0x004
-#if(DIRECT3D_VERSION >= 0x0700)
-#define D3DFVF_XYZB1 0x006
-#define D3DFVF_XYZB2 0x008
-#define D3DFVF_XYZB3 0x00a
-#define D3DFVF_XYZB4 0x00c
-#define D3DFVF_XYZB5 0x00e
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-#define D3DFVF_NORMAL 0x010
-#define D3DFVF_RESERVED1 0x020
-#define D3DFVF_DIFFUSE 0x040
-#define D3DFVF_SPECULAR 0x080
-
-#define D3DFVF_TEXCOUNT_MASK 0xf00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x000
-#define D3DFVF_TEX1 0x100
-#define D3DFVF_TEX2 0x200
-#define D3DFVF_TEX3 0x300
-#define D3DFVF_TEX4 0x400
-#define D3DFVF_TEX5 0x500
-#define D3DFVF_TEX6 0x600
-#define D3DFVF_TEX7 0x700
-#define D3DFVF_TEX8 0x800
-
-#define D3DFVF_RESERVED2 0xf000 // 4 reserved bits
-
-#else
-#define D3DFVF_RESERVED1 0x020
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#define D3DFVF_VERTEX ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 )
-#define D3DFVF_LVERTEX ( D3DFVF_XYZ | D3DFVF_RESERVED1 | D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | D3DFVF_TEX1 )
-#define D3DFVF_TLVERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | \
- D3DFVF_TEX1 )
-
-
-typedef struct _D3DDP_PTRSTRIDE
-{
- LPVOID lpvData;
- DWORD dwStride;
-} D3DDP_PTRSTRIDE;
-
-#define D3DDP_MAXTEXCOORD 8
-
-typedef struct _D3DDRAWPRIMITIVESTRIDEDDATA
-{
- D3DDP_PTRSTRIDE position;
- D3DDP_PTRSTRIDE normal;
- D3DDP_PTRSTRIDE diffuse;
- D3DDP_PTRSTRIDE specular;
- D3DDP_PTRSTRIDE textureCoords[D3DDP_MAXTEXCOORD];
-} D3DDRAWPRIMITIVESTRIDEDDATA, *LPD3DDRAWPRIMITIVESTRIDEDDATA;
-//---------------------------------------------------------------------
-// ComputeSphereVisibility return values
-//
-#define D3DVIS_INSIDE_FRUSTUM 0
-#define D3DVIS_INTERSECT_FRUSTUM 1
-#define D3DVIS_OUTSIDE_FRUSTUM 2
-#define D3DVIS_INSIDE_LEFT 0
-#define D3DVIS_INTERSECT_LEFT (1 << 2)
-#define D3DVIS_OUTSIDE_LEFT (2 << 2)
-#define D3DVIS_INSIDE_RIGHT 0
-#define D3DVIS_INTERSECT_RIGHT (1 << 4)
-#define D3DVIS_OUTSIDE_RIGHT (2 << 4)
-#define D3DVIS_INSIDE_TOP 0
-#define D3DVIS_INTERSECT_TOP (1 << 6)
-#define D3DVIS_OUTSIDE_TOP (2 << 6)
-#define D3DVIS_INSIDE_BOTTOM 0
-#define D3DVIS_INTERSECT_BOTTOM (1 << 8)
-#define D3DVIS_OUTSIDE_BOTTOM (2 << 8)
-#define D3DVIS_INSIDE_NEAR 0
-#define D3DVIS_INTERSECT_NEAR (1 << 10)
-#define D3DVIS_OUTSIDE_NEAR (2 << 10)
-#define D3DVIS_INSIDE_FAR 0
-#define D3DVIS_INTERSECT_FAR (1 << 12)
-#define D3DVIS_OUTSIDE_FAR (2 << 12)
-
-#define D3DVIS_MASK_FRUSTUM (3 << 0)
-#define D3DVIS_MASK_LEFT (3 << 2)
-#define D3DVIS_MASK_RIGHT (3 << 4)
-#define D3DVIS_MASK_TOP (3 << 6)
-#define D3DVIS_MASK_BOTTOM (3 << 8)
-#define D3DVIS_MASK_NEAR (3 << 10)
-#define D3DVIS_MASK_FAR (3 << 12)
-
-#endif /* DIRECT3D_VERSION >= 0x0600 */
-
-#if(DIRECT3D_VERSION < 0x0800)
-
-#if(DIRECT3D_VERSION >= 0x0700)
-
-// To be used with GetInfo()
-#define D3DDEVINFOID_TEXTUREMANAGER 1
-#define D3DDEVINFOID_D3DTEXTUREMANAGER 2
-#define D3DDEVINFOID_TEXTURING 3
-
-typedef enum _D3DSTATEBLOCKTYPE
-{
- D3DSBT_ALL = 1, // capture all state
- D3DSBT_PIXELSTATE = 2, // capture pixel state
- D3DSBT_VERTEXSTATE = 3, // capture vertex state
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-// The D3DVERTEXBLENDFLAGS type is used with D3DRENDERSTATE_VERTEXBLEND state.
-//
-typedef enum _D3DVERTEXBLENDFLAGS
-{
- D3DVBLEND_DISABLE = 0, // Disable vertex blending
- D3DVBLEND_1WEIGHT = 1, // blend between 2 matrices
- D3DVBLEND_2WEIGHTS = 2, // blend between 3 matrices
- D3DVBLEND_3WEIGHTS = 3, // blend between 4 matrices
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0, // texture coordinates are passed directly
- D3DTTFF_COUNT1 = 1, // rasterizer should expect 1-D texture coords
- D3DTTFF_COUNT2 = 2, // rasterizer should expect 2-D texture coords
- D3DTTFF_COUNT3 = 3, // rasterizer should expect 3-D texture coords
- D3DTTFF_COUNT4 = 4, // rasterizer should expect 4-D texture coords
- D3DTTFF_PROJECTED = 256, // texcoords to be divided by COUNTth element
- D3DTTFF_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTURETRANSFORMFLAGS;
-
-// Macros to set texture coordinate format bits in the FVF id
-
-#define D3DFVF_TEXTUREFORMAT2 0 // Two floating point values
-#define D3DFVF_TEXTUREFORMAT1 3 // One floating point value
-#define D3DFVF_TEXTUREFORMAT3 1 // Three floating point values
-#define D3DFVF_TEXTUREFORMAT4 2 // Four floating point values
-
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-
-
-#endif /* DIRECT3D_VERSION >= 0x0700 */
-
-#else
-//
-// legacy vertex blend names
-//
-typedef enum _D3DVERTEXBLENDFLAGS D3DVERTEXBLENDFLAGS;
-#define D3DVBLEND_DISABLE (D3DVERTEXBLENDFLAGS)0
-#define D3DVBLEND_1WEIGHT (D3DVERTEXBLENDFLAGS)1
-#define D3DVBLEND_2WEIGHTS (D3DVERTEXBLENDFLAGS)2
-#define D3DVBLEND_3WEIGHTS (D3DVERTEXBLENDFLAGS)3
-
-#endif //(DIRECT3D_VERSION < 0x0800)
-
-#pragma pack()
-#pragma warning(default:4201)
-
-#endif /* _D3DTYPES_H_ */
-
diff --git a/include/moreuuids.h b/include/moreuuids.h
index 45e703c59..87db4eaa5 100644
--- a/include/moreuuids.h
+++ b/include/moreuuids.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -380,7 +380,7 @@ DEFINE_GUID(MEDIASUBTYPE_ADPCM_AMV,
struct WAVEFORMATEXPS2 : public WAVEFORMATEX {
DWORD dwInterleave;
- struct WAVEFORMATEXPS2() {
+ WAVEFORMATEXPS2() {
ZeroMemory(this, sizeof(*this));
cbSize = sizeof(WAVEFORMATEXPS2) - sizeof(WAVEFORMATEX);
}
@@ -1049,7 +1049,7 @@ DEFINE_GUID(MEDIASUBTYPE_HDMV_LPCM_AUDIO,
struct WAVEFORMATEX_HDMV_LPCM : public WAVEFORMATEX {
BYTE channel_conf;
- struct WAVEFORMATEX_HDMV_LPCM() {
+ WAVEFORMATEX_HDMV_LPCM() {
ZeroMemory(this, sizeof(*this));
cbSize = sizeof(WAVEFORMATEX_HDMV_LPCM) - sizeof(WAVEFORMATEX);
}
@@ -1077,7 +1077,7 @@ struct WAVEFORMATEXFFMPEG {
int nCodecId;
WAVEFORMATEX wfex;
- struct WAVEFORMATEXFFMPEG() {
+ WAVEFORMATEXFFMPEG() {
nCodecId = 0;
}
};
diff --git a/include/mpc-hc_config.h b/include/mpc-hc_config.h
index aaa2cb7d0..70d152efe 100644
--- a/include/mpc-hc_config.h
+++ b/include/mpc-hc_config.h
@@ -1,6 +1,6 @@
#ifndef ISPP_INVOKED
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -50,4 +50,11 @@
// If this is enabled, the registered LAV Filters can be loaded as internal filters
#define ENABLE_LOAD_EXTERNAL_LAVF_AS_INTERNAL 0
+#define DO_MAKE_STR(x) _T(#x)
+#define MAKE_STR(x) DO_MAKE_STR(x)
+
+#define MPC_DX_SDK_MONTH _T("June")
+#define MPC_DX_SDK_YEAR 2010
+#define MPC_DX_SDK_NUMBER 43
+
#endif // MPC_HC_CONFIG_H
diff --git a/include/mvrInterfaces.h b/include/mvrInterfaces.h
index 0d7b7819c..df71751e7 100644
--- a/include/mvrInterfaces.h
+++ b/include/mvrInterfaces.h
@@ -1,11 +1,12 @@
// ***************************************************************
-// mvrInterfaces.h version: 1.0.8 date: 2015-06-21
+// mvrInterfaces.h version: 1.0.9 date: 2016-01-23
// -------------------------------------------------------------
// various interfaces exported by madVR
// -------------------------------------------------------------
-// Copyright (C) 2011 - 2015 www.madshi.net, BSD license
+// Copyright (C) 2011 - 2016 www.madshi.net, BSD license
// ***************************************************************
+// 2016-01-23 1.0.9 added EC_VIDEO_SIZE_CHANGED "lParam" values
// 2015-06-21 1.0.8 added IMadVRCommand
// 2014-01-18 1.0.7 added IMadVRSettings2
// 2013-06-04 1.0.6 added IMadVRInfo
@@ -128,8 +129,9 @@ const static HRESULT CALLBACK_USER_INTERFACE = 77001; // user interface, switch
// when using the (2) render callbacks method, you need to provide
// madVR with an instance of the IOsdRenderCallback interface
// it contains three callbacks you have to provide
-[uuid("57FBF6DC-3E5F-4641-935A-CB62F00C9958")]
-interface IOsdRenderCallback : public IUnknown
+//[uuid("57FBF6DC-3E5F-4641-935A-CB62F00C9958")]
+//interface IOsdRenderCallback : public IUnknown
+DECLARE_INTERFACE_IID_(IOsdRenderCallback, IUnknown, "57FBF6DC-3E5F-4641-935A-CB62F00C9958")
{
// "SetDevice" is called when you register the callbacks
// it provides you with the D3D device object used by madVR
@@ -154,8 +156,9 @@ const static int BITMAP_USER_INTERFACE = 4; // user interface, switches madV
const static int BITMAP_MASKING_AWARE = 8; // caller is aware of screen masking, bitmaps are positioned properly inside of "fullOutputRect"
// this is the main interface which madVR provides to you
-[uuid("3AE03A88-F613-4BBA-AD3E-EE236976BF9A")]
-interface IMadVROsdServices : public IUnknown
+//[uuid("3AE03A88-F613-4BBA-AD3E-EE236976BF9A")]
+//interface IMadVROsdServices : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVROsdServices, IUnknown, "3AE03A88-F613-4BBA-AD3E-EE236976BF9A")
{
// this API provides the (1) bitmap based method
STDMETHOD(OsdSetBitmap)(
@@ -202,8 +205,9 @@ interface IMadVROsdServices : public IUnknown
// There can always be only one message active at the same time, so basically
// the messages are overwriting each other.
-[uuid("ABA34FDA-DD22-4E00-9AB4-4ABF927D0B0C")]
-interface IMadVRTextOsd : public IUnknown
+//[uuid("ABA34FDA-DD22-4E00-9AB4-4ABF927D0B0C")]
+//interface IMadVRTextOsd : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRTextOsd, IUnknown, "ABA34FDA-DD22-4E00-9AB4-4ABF927D0B0C")
{
STDMETHOD(OsdDisplayMessage)(LPCWSTR text, DWORD milliseconds) = 0;
STDMETHOD(OsdClearMessage)(void) = 0;
@@ -232,8 +236,9 @@ interface IMadVRTextOsd : public IUnknown
// If you use this interface, send the messages to madVR from the same window
// that madVR would otherwise have subclassed.
-[uuid("9B517604-2D86-4FA2-A20C-ECF88301B010")]
-interface IMadVRSubclassReplacement : public IUnknown
+//[uuid("9B517604-2D86-4FA2-A20C-ECF88301B010")]
+//interface IMadVRSubclassReplacement : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRSubclassReplacement, IUnknown, "9B517604-2D86-4FA2-A20C-ECF88301B010")
{
STDMETHOD(DisableSubclassing)(void) = 0;
STDMETHOD_(BOOL, ParentWindowProc)(HWND hwnd, UINT uMsg, WPARAM *wParam, LPARAM *lParam, LRESULT *result) = 0;
@@ -251,8 +256,9 @@ interface IMadVRSubclassReplacement : public IUnknown
#define ExclusiveModeWasJustLeft 4
typedef void (__stdcall *EXCLUSIVEMODECALLBACK)(LPVOID context, int event);
-[uuid("51CA9252-ACC5-4EC5-A02E-0F9F8C42B536")]
-interface IMadVRExclusiveModeCallback : public IUnknown
+//[uuid("51CA9252-ACC5-4EC5-A02E-0F9F8C42B536")]
+//interface IMadVRExclusiveModeCallback : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRExclusiveModeCallback, IUnknown, "51CA9252-ACC5-4EC5-A02E-0F9F8C42B536")
{
STDMETHOD( Register)(EXCLUSIVEMODECALLBACK exclusiveModeCallback, LPVOID context) = 0;
STDMETHOD(Unregister)(EXCLUSIVEMODECALLBACK exclusiveModeCallback, LPVOID context) = 0;
@@ -267,8 +273,9 @@ interface IMadVRExclusiveModeCallback : public IUnknown
#define ShaderStage_PreScale 0
#define ShaderStage_PostScale 1
-[uuid("B6A6D5D4-9637-4C7D-AAAE-BC0B36F5E433")]
-interface IMadVRExternalPixelShaders : public IUnknown
+//[uuid("B6A6D5D4-9637-4C7D-AAAE-BC0B36F5E433")]
+//interface IMadVRExternalPixelShaders : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRExternalPixelShaders, IUnknown, "B6A6D5D4-9637-4C7D-AAAE-BC0B36F5E433")
{
STDMETHOD(ClearPixelShaders)(int stage) = 0;
STDMETHOD(AddPixelShader)(LPCSTR sourceCode, LPCSTR compileProfile, int stage, LPVOID reserved) = 0;
@@ -280,8 +287,9 @@ interface IMadVRExternalPixelShaders : public IUnknown
// this interface allows you to get all kinds of information from madVR
-[uuid("8FAB7F31-06EF-444C-A798-10314E185532")]
-interface IMadVRInfo : public IUnknown
+//[uuid("8FAB7F31-06EF-444C-A798-10314E185532")]
+//interface IMadVRInfo : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRInfo, IUnknown, "8FAB7F31-06EF-444C-A798-10314E185532")
{
// The memory for strings and binary data is allocated by the callee
// by using LocalAlloc. It is the caller's responsibility to release the
@@ -307,6 +315,7 @@ interface IMadVRInfo : public IUnknown
// croppedVideoOutputRect, rect, final pos/size of the "videoCropRect", after all scaling operations
// subtitleTargetRect, rect, consumer wish for where to place the subtitles
// fullscreenRect, rect, for fullscreen drawing, this is the rect you want to stay in (left/top can be non-zero!)
+// rotation, int, current rotation of the video in degrees (0, 90, 180 or 270)
// frameRate, ulonglong, frame rate of the video after deinterlacing (REFERENCE_TIME)
// refreshRate, double, display refresh rate (0, if unknown)
// displayModeSize, size, display mode width/height
@@ -327,8 +336,9 @@ interface IMadVRInfo : public IUnknown
// This interface allows you to give commands to madVR. These commands only
// affect the current madVR instance. They don't change permanent settings.
-[uuid("5E9599D1-C5DB-4A84-98A9-09BC5F8F1B79")]
-interface IMadVRCommand : public IUnknown
+//[uuid("5E9599D1-C5DB-4A84-98A9-09BC5F8F1B79")]
+//interface IMadVRCommand : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRCommand, IUnknown, "5E9599D1-C5DB-4A84-98A9-09BC5F8F1B79")
{
// Command names and LPWSTR values are treated case insensitive.
STDMETHOD(SendCommand )(LPCSTR command) = 0;
@@ -355,6 +365,8 @@ interface IMadVRCommand : public IUnknown
// setZoomAlignY, LPWSTR, video Y pos alignment: top|center|bottom
// setZoomOffsetX, double, additional X pos offset in percent, default/neutral = 0.0
// setZoomOffsetY, double, additional Y pos offset in percent, default/neutral = 0.0
+// setArOverride, double, aspect ratio override (before cropping), default/neutral = 0.0
+// rotate, int, rotates the video by 90, 180 or 270 degrees (0 = no rotation)
// redraw, forces madVR to redraw the current frame (in paused mode)
// restoreDisplayModeNow, makes madVR immediately restore the original display mode
@@ -381,8 +393,9 @@ interface IMadVRCommand : public IUnknown
// If you don't specify a path, you automatically access the currently active
// profile.
-[uuid("6F8A566C-4E19-439E-8F07-20E46ED06DEE")]
-interface IMadVRSettings : public IUnknown
+//[uuid("6F8A566C-4E19-439E-8F07-20E46ED06DEE")]
+//interface IMadVRSettings : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRSettings, IUnknown, "6F8A566C-4E19-439E-8F07-20E46ED06DEE")
{
// returns the revision number of the settings record
// the revision number is increased by 1 every time a setting changes
@@ -412,8 +425,9 @@ interface IMadVRSettings : public IUnknown
STDMETHOD_(BOOL, SettingsGetBinary )(LPCWSTR path, LPVOID* value, int* bufLenInBytes) = 0;
};
-[uuid("1C3E03D6-F422-4D31-9424-75936F663BF7")]
-interface IMadVRSettings2 : public IMadVRSettings
+//[uuid("1C3E03D6-F422-4D31-9424-75936F663BF7")]
+//interface IMadVRSettings2 : public IMadVRSettings
+DECLARE_INTERFACE_IID_(IMadVRSettings2, IMadVRSettings, "1C3E03D6-F422-4D31-9424-75936F663BF7")
{
// Enumerate the available settings stuff in the specified path.
// Simply loop from enumIndex 0 to infinite, until the enumeration returns FALSE.
@@ -535,7 +549,7 @@ interface IMadVRSettings2 : public IMadVRSettings
// lumaUp, image upscaling
// lumaUp, image upscaling, string, Nearest Neighbor|Bilinear|Dxva|Mitchell-Netravali|Catmull-Rom|Bicubic50|Bicubic60|Bicubic75|Bicubic100|SoftCubic50|SoftCubic60|SoftCubic70|SoftCubic80|SoftCubic100|Lanczos3|Lanczos4|Lanczos8|Spline36|Spline64|Jinc3|Jinc4|Jinc8
// lumaUpAntiRinging, activate anti-ringing filter for luma upsampling, boolean
-// lumaUpLinear, upscale luma in linear light, boolean
+// lumaUpSigmoidal, upscale luma in sigmoidal light, boolean
// lumaDown, image downscaling
// lumaDown, image downscaling, string, Nearest Neighbor|Bilinear|Dxva|Mitchell-Netravali|Catmull-Rom|Bicubic50|Bicubic60|Bicubic75|Bicubic100|SoftCubic50|SoftCubic60|SoftCubic70|SoftCubic80|SoftCubic100|Lanczos3|Lanczos4|Lanczos8|Spline36|Spline64
// lumaDownAntiRinging, activate anti-ringing filter for luma downsampling, boolean
@@ -668,7 +682,7 @@ interface IMadVRSettings2 : public IMadVRSettings
// keyImageUpAlgoParamInc, image upscaling algorithm parameter - increase, string
// keyImageUpAlgoParamDec, image upscaling algorithm parameter - decrease, string
// keyImageUpAntiRing, image upscaling anti-ringing filter - toggle on/off, string
-// keyImageUpLinear, image upscaling in linear light - toggle on/off, string
+// keyImageUpSigmoidal, image upscaling in sigmoidal light - toggle on/off, string
// keyImageDownAlgo, image downscaling algorithm - toggle, string
// keyImageDownAlgoNearest, image downscaling algorithm - set to "Nearest Neighbor", string
// keyImageDownAlgoBilinear, image downscaling algorithm - set to "Bilinear", string
@@ -710,32 +724,56 @@ interface IMadVRSettings2 : public IMadVRSettings
interface ISubRenderCallback; // forward
// interface exported by madVR
-[uuid("9CC7F9F7-3ED1-493c-AF65-527EA1D9947F")]
-interface ISubRender : public IUnknown
+//[uuid("9CC7F9F7-3ED1-493c-AF65-527EA1D9947F")]
+//interface ISubRender : public IUnknown
+DECLARE_INTERFACE_IID_(ISubRender, IUnknown, "9CC7F9F7-3ED1-493c-AF65-527EA1D9947F")
{
STDMETHOD(SetCallback)(ISubRenderCallback *callback) = 0;
};
// callback interfaces can provide madVR with
-[uuid("CD6D2AA5-20D3-4ebe-A8A9-34D3B00CC253")]
-interface ISubRenderCallback : public IUnknown
+//[uuid("CD6D2AA5-20D3-4ebe-A8A9-34D3B00CC253")]
+//interface ISubRenderCallback : public IUnknown
+DECLARE_INTERFACE_IID_(ISubRenderCallback, IUnknown, "CD6D2AA5-20D3-4ebe-A8A9-34D3B00CC253")
{
STDMETHOD(SetDevice)(IDirect3DDevice9 *device) = 0;
STDMETHOD(Render)(REFERENCE_TIME frameStart, int left, int top, int right, int bottom, int width, int height) = 0;
};
-[uuid("E602585E-C05A-4828-AC69-AF92997F2E0C")]
-interface ISubRenderCallback2 : public ISubRenderCallback
+//[uuid("E602585E-C05A-4828-AC69-AF92997F2E0C")]
+//interface ISubRenderCallback2 : public ISubRenderCallback
+DECLARE_INTERFACE_IID_(ISubRenderCallback2, ISubRenderCallback, "E602585E-C05A-4828-AC69-AF92997F2E0C")
{
STDMETHOD(RenderEx)(REFERENCE_TIME frameStart, REFERENCE_TIME frameStop, REFERENCE_TIME avgTimePerFrame, int left, int top, int right, int bottom, int width, int height) = 0;
};
-[uuid("BAC4273A-3EAD-47F5-9710-8488E52AC618")]
-interface ISubRenderCallback3 : public ISubRenderCallback2
+//[uuid("BAC4273A-3EAD-47F5-9710-8488E52AC618")]
+//interface ISubRenderCallback3 : public ISubRenderCallback2
+DECLARE_INTERFACE_IID_(ISubRenderCallback3, ISubRenderCallback2, "BAC4273A-3EAD-47F5-9710-8488E52AC618")
{
STDMETHOD(RenderEx2)(REFERENCE_TIME frameStart, REFERENCE_TIME frameStop, REFERENCE_TIME avgTimePerFrame, RECT croppedVideoRect, RECT originalVideoRect, RECT viewportRect, const double videoStretchFactor = 1.0) = 0;
};
+const static DWORD SUBRENDER_LEFT_EYE = 1;
+const static DWORD SUBRENDER_RIGHT_EYE = 2;
+//[uuid("C89CF1D4-29C5-4A96-8AAC-528EC6F7AF1E")]
+//interface ISubRenderCallback4 : public ISubRenderCallback3
+DECLARE_INTERFACE_IID_(ISubRenderCallback4, ISubRenderCallback3, "C89CF1D4-29C5-4A96-8AAC-528EC6F7AF1E")
+{
+ STDMETHOD(RenderEx3)(REFERENCE_TIME frameStart, REFERENCE_TIME frameStop, REFERENCE_TIME avgTimePerFrame, RECT croppedVideoRect, RECT originalVideoRect, RECT viewportRect, const double videoStretchFactor = 1.0, int xOffsetInPixels = 0, DWORD flags = 0) = 0;
+};
*/
// ---------------------------------------------------------------------------
+// EC_VIDEO_SIZE_CHANGED "lParam2" values sent by madVR
+// ---------------------------------------------------------------------------
+
+#define VIDEO_SIZE_CHANGED_INITIAL_SIZE 777 // initial size information
+#define VIDEO_SIZE_CHANGED_MEDIA_TYPE_CHANGED 778 // mediatype has changed
+#define VIDEO_SIZE_CHANGED_BLACK_BAR_DETECTION_CHANGED 779 // black bar detection has changed
+#define VIDEO_SIZE_CHANGED_DVD_AR_CHANGED 780 // DVD metadata caused an AR change
+#define VIDEO_SIZE_CHANGED_AR_OVERRIDE_CHANGED 781 // media player called SendCommandDouble("setArOverride")
+#define VIDEO_SIZE_CHANGED_ROTATION_CHANGED_KEY 782 // rotation changed - user pressed madVR keyboard shortcut
+#define VIDEO_SIZE_CHANGED_ROTATION_CHANGED_API 783 // rotation changed - media player called SendCommandInt("rotate")
+
+// ---------------------------------------------------------------------------
// IMadVRExclusiveModeInfo (obsolete)
// ---------------------------------------------------------------------------
@@ -763,8 +801,9 @@ interface ISubRenderCallback3 : public ISubRenderCallback2
// disabled, you should still show your own seek bar, because otherwise
// the user will have no way to seek at all.
-[uuid("D6EE8031-214E-4E9E-A3A7-458925F933AB")]
-interface IMadVRExclusiveModeInfo : public IUnknown
+//[uuid("D6EE8031-214E-4E9E-A3A7-458925F933AB")]
+//interface IMadVRExclusiveModeInfo : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRExclusiveModeInfo, IUnknown, "D6EE8031-214E-4E9E-A3A7-458925F933AB")
{
STDMETHOD_(BOOL, IsExclusiveModeActive)(void) = 0;
STDMETHOD_(BOOL, IsMadVRSeekbarEnabled)(void) = 0;
@@ -779,8 +818,9 @@ interface IMadVRExclusiveModeInfo : public IUnknown
// this interface allows you to ask madVR about the detected refresh rate
-[uuid("3F6580E8-8DE9-48D0-8E4E-1F26FE02413E")]
-interface IMadVRRefreshRateInfo : public IUnknown
+//[uuid("3F6580E8-8DE9-48D0-8E4E-1F26FE02413E")]
+//interface IMadVRRefreshRateInfo : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRRefreshRateInfo, IUnknown, "3F6580E8-8DE9-48D0-8E4E-1F26FE02413E")
{
STDMETHOD(GetRefreshRate)(double *refreshRate) = 0;
};
@@ -792,8 +832,9 @@ interface IMadVRRefreshRateInfo : public IUnknown
// CAUTION: This interface is obsolete. Use IMadVRCommand instead:
// IMadVRCommand::SendCommandBool("disableSeekbar", true)
-[uuid("D2D3A520-7CFA-46EB-BA3B-6194A028781C")]
-interface IMadVRSeekbarControl : public IUnknown
+//[uuid("D2D3A520-7CFA-46EB-BA3B-6194A028781C")]
+//interface IMadVRSeekbarControl : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRSeekbarControl, IUnknown, "D2D3A520-7CFA-46EB-BA3B-6194A028781C")
{
STDMETHOD(DisableSeekbar)(BOOL disable) = 0;
};
@@ -805,8 +846,9 @@ interface IMadVRSeekbarControl : public IUnknown
// CAUTION: This interface is obsolete. Use IMadVRCommand instead:
// IMadVRCommand::SendCommandBool("disableExclusiveMode", true)
-[uuid("88A69329-3CD3-47D6-ADEF-89FA23AFC7F3")]
-interface IMadVRExclusiveModeControl : public IUnknown
+//[uuid("88A69329-3CD3-47D6-ADEF-89FA23AFC7F3")]
+//interface IMadVRExclusiveModeControl : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRExclusiveModeControl, IUnknown, "88A69329-3CD3-47D6-ADEF-89FA23AFC7F3")
{
STDMETHOD(DisableExclusiveMode)(BOOL disable) = 0;
};
@@ -820,8 +862,9 @@ interface IMadVRExclusiveModeControl : public IUnknown
// can then blend the media player's GUI on top of madVR's rendered video
// frames in madVR's OSD callback function.
-[uuid("1CAEE23B-D14B-4DB4-8AEA-F3528CB78922")]
-interface IMadVRDirect3D9Manager : public IUnknown
+//[uuid("1CAEE23B-D14B-4DB4-8AEA-F3528CB78922")]
+//interface IMadVRDirect3D9Manager : public IUnknown
+DECLARE_INTERFACE_IID_(IMadVRDirect3D9Manager, IUnknown, "1CAEE23B-D14B-4DB4-8AEA-F3528CB78922")
{
STDMETHOD(UseTheseDevices)(LPDIRECT3DDEVICE9 scanlineReading, LPDIRECT3DDEVICE9 rendering, LPDIRECT3DDEVICE9 presentation) = 0;
STDMETHOD(ConfigureDisplayModeChanger)(BOOL allowResolutionChanges, BOOL allowRefreshRateChanges) = 0;
diff --git a/include/unrar.h b/include/unrar.h
index 160b26082..c62aaa0d3 100644
--- a/include/unrar.h
+++ b/include/unrar.h
@@ -31,7 +31,7 @@
#define RAR_VOL_ASK 0
#define RAR_VOL_NOTIFY 1
-#define RAR_DLL_VERSION 6
+#define RAR_DLL_VERSION 7
#define RAR_HASH_NONE 0
#define RAR_HASH_CRC32 1
@@ -98,7 +98,11 @@ struct RARHeaderDataEx
unsigned int DictSize;
unsigned int HashType;
char Hash[32];
- unsigned int Reserved[1014];
+ unsigned int RedirType;
+ wchar_t *RedirName;
+ unsigned int RedirNameSize;
+ unsigned int DirTarget;
+ unsigned int Reserved[994];
};
diff --git a/include/version.h b/include/version.h
index f7780fbcd..169356260 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1,6 +1,6 @@
#ifndef ISPP_INVOKED
/*
- * (C) 2010-2013, 2015 see Authors.txt
+ * (C) 2010-2013, 2015-2017 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,10 +24,7 @@
everything for every revision. It's currently used in mpcresources, mpciconlib
and VideoRenderers projects.
* MPC_VERSION_ARCH is currently used in VSFilter only.
- * MPC_DX_SDK_MONTH, MPC_DX_SDK_YEAR and MPC_DX_SDK_NUMBER is the month, year and the number
- of the DirectX SDK used for compilation and it's used in the error message in mpc-hc and in
- the installer when the DX runtime is out of date.
- * MPC_DX_SDK_NUMBER is used in the installer when the DirectX runtime is out of date.
+ * MPC_DX_SDK_NUMBER is used in the installer.
*/
#endif // ISPP_INVOKED
@@ -45,15 +42,12 @@
#endif
#ifndef NO_VERSION_REV_NEEDED
-#include "..\build\version_rev.h"
+#include "../build/version_rev.h"
#endif
-#define DO_MAKE_STR(x) _T(#x)
-#define MAKE_STR(x) DO_MAKE_STR(x)
-
#define MPC_VERSION_MAJOR 1
#define MPC_VERSION_MINOR 7
-#define MPC_VERSION_PATCH 10
+#define MPC_VERSION_PATCH 11
#ifndef NO_VERSION_REV_NEEDED
@@ -66,7 +60,7 @@
#endif // NO_VERSION_REV_NEEDED
#define MPC_COMP_NAME_STR _T("MPC-HC Team")
-#define MPC_COPYRIGHT_STR _T("Copyright 2002-2015 all contributors, see Authors.txt")
+#define MPC_COPYRIGHT_STR _T("Copyright 2002-2017 all contributors, see Authors.txt")
#define MPC_VERSION_COMMENTS WEBSITE_URL
@@ -123,9 +117,4 @@
#define MPC_VERSION_ARCH _T("x86")
#endif
-#define MPC_DX_SDK_MONTH _T("June")
-#define MPC_DX_SDK_YEAR 2010
-#define MPC_DX_SDK_NUMBER 43
-
-
#endif // MPC_VERSION_H
diff --git a/mpc-hc.sln b/mpc-hc.sln
index bb6d6aaa8..b9b344892 100644
--- a/mpc-hc.sln
+++ b/mpc-hc.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.40629.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apps", "Apps", "{A21F07E6-A891-479C-98EA-EDB58CE4EFAB}"
EndProject
@@ -25,9 +25,6 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transform", "Transform", "{F9F42BF2-3F13-4654-82C5-E27B8879EC4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpc-hc", "src\mpc-hc\mpc-hc.vcxproj", "{8CE7E5D0-C821-47AC-A247-28EC95B34670}"
- ProjectSection(ProjectDependencies) = postProject
- {981574AE-5A5E-4F27-BDF1-1B841E374CFF} = {981574AE-5A5E-4F27-BDF1-1B841E374CFF}
- EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeCSS", "src\DeCSS\DeCSS.vcxproj", "{1A2DFD1A-3C6C-44D1-909D-294AF646B575}"
EndProject
@@ -54,9 +51,6 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "src\thirdparty\BaseClasses\BaseClasses.vcxproj", "{E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Filters", "src\filters\Filters.vcxproj", "{273B3149-3192-4B75-A791-470320B90812}"
- ProjectSection(ProjectDependencies) = postProject
- {981574AE-5A5E-4F27-BDF1-1B841E374CFF} = {981574AE-5A5E-4F27-BDF1-1B841E374CFF}
- EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "src\thirdparty\zlib\zlib.vcxproj", "{2FCD4B66-9CF9-4C8F-BC70-37CD20002D49}"
EndProject
@@ -116,14 +110,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LAVFilters", "src\thirdpart
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mhook", "src\thirdparty\mhook\mhook.vcxproj", "{F841363C-A630-4716-8941-CDDC1F32CFC3}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MathLibFix", "src\MathLibFix\MathLibFix.vcxproj", "{FC9FC17F-70BF-4ACA-8285-C24D1889BACB}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DoctorDump", "src\thirdparty\DoctorDump\DoctorDump.vcxproj", "{BECEAFF9-CDCA-45EC-A1CF-658FA51818E6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrashReporterDialog", "src\mpc-hc\CrashReporterDialog\CrashReporterDialog.vcxproj", "{5DB958DD-8B25-45EF-8072-3356CAF8CCD7}"
- ProjectSection(ProjectDependencies) = postProject
- {981574AE-5A5E-4F27-BDF1-1B841E374CFF} = {981574AE-5A5E-4F27-BDF1-1B841E374CFF}
- EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Crash Reporter", "Crash Reporter", "{B161892C-93C5-4F89-8C43-7E9BE5DD4AE4}"
EndProject
@@ -139,6 +128,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sanear", "src\thirdparty\sa
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildConfig", "build\BuildConfig.vcxproj", "{981574AE-5A5E-4F27-BDF1-1B841E374CFF}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml2", "src\thirdparty\tinyxml2\tinyxml2.vcxproj", "{E02F0C35-FB01-4059-90F9-9AC19DC22FBA}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Filter|Win32 = Debug Filter|Win32
@@ -1069,30 +1060,6 @@ Global
{F841363C-A630-4716-8941-CDDC1F32CFC3}.Release|Win32.Build.0 = Release|Win32
{F841363C-A630-4716-8941-CDDC1F32CFC3}.Release|x64.ActiveCfg = Release|x64
{F841363C-A630-4716-8941-CDDC1F32CFC3}.Release|x64.Build.0 = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Filter|Win32.ActiveCfg = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Filter|Win32.Build.0 = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Filter|x64.ActiveCfg = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Filter|x64.Build.0 = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Lite|Win32.ActiveCfg = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Lite|Win32.Build.0 = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Lite|x64.ActiveCfg = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug Lite|x64.Build.0 = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug|Win32.ActiveCfg = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug|Win32.Build.0 = Debug|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug|x64.ActiveCfg = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Debug|x64.Build.0 = Debug|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Filter|Win32.ActiveCfg = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Filter|Win32.Build.0 = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Filter|x64.ActiveCfg = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Filter|x64.Build.0 = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Lite|Win32.ActiveCfg = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Lite|Win32.Build.0 = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Lite|x64.ActiveCfg = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release Lite|x64.Build.0 = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release|Win32.ActiveCfg = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release|Win32.Build.0 = Release|Win32
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release|x64.ActiveCfg = Release|x64
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB}.Release|x64.Build.0 = Release|x64
{BECEAFF9-CDCA-45EC-A1CF-658FA51818E6}.Debug Filter|Win32.ActiveCfg = Release|Win32
{BECEAFF9-CDCA-45EC-A1CF-658FA51818E6}.Debug Filter|x64.ActiveCfg = Release|x64
{BECEAFF9-CDCA-45EC-A1CF-658FA51818E6}.Debug Lite|Win32.ActiveCfg = Release Lite|Win32
@@ -1269,6 +1236,30 @@ Global
{981574AE-5A5E-4F27-BDF1-1B841E374CFF}.Release|Win32.Build.0 = Release|Win32
{981574AE-5A5E-4F27-BDF1-1B841E374CFF}.Release|x64.ActiveCfg = Release|x64
{981574AE-5A5E-4F27-BDF1-1B841E374CFF}.Release|x64.Build.0 = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Filter|Win32.ActiveCfg = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Filter|Win32.Build.0 = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Filter|x64.ActiveCfg = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Filter|x64.Build.0 = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Lite|Win32.ActiveCfg = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Lite|Win32.Build.0 = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Lite|x64.ActiveCfg = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug Lite|x64.Build.0 = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug|Win32.Build.0 = Debug|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug|x64.ActiveCfg = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Debug|x64.Build.0 = Debug|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Filter|Win32.ActiveCfg = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Filter|Win32.Build.0 = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Filter|x64.ActiveCfg = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Filter|x64.Build.0 = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Lite|Win32.ActiveCfg = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Lite|Win32.Build.0 = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Lite|x64.ActiveCfg = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release Lite|x64.Build.0 = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release|Win32.ActiveCfg = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release|Win32.Build.0 = Release|Win32
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release|x64.ActiveCfg = Release|x64
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1325,7 +1316,6 @@ Global
{2B7F22D7-1750-47C5-8709-1A3688B62499} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
{ED257874-E12E-4143-AF0A-0676DA3BB18C} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
{F841363C-A630-4716-8941-CDDC1F32CFC3} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
- {FC9FC17F-70BF-4ACA-8285-C24D1889BACB} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
{BECEAFF9-CDCA-45EC-A1CF-658FA51818E6} = {B161892C-93C5-4F89-8C43-7E9BE5DD4AE4}
{5DB958DD-8B25-45EF-8072-3356CAF8CCD7} = {B161892C-93C5-4F89-8C43-7E9BE5DD4AE4}
{B161892C-93C5-4F89-8C43-7E9BE5DD4AE4} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
@@ -1335,5 +1325,6 @@ Global
{F3D02050-F39A-4103-8343-09285359A495} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
{BB2B61AF-734A-4DAD-9326-07F4F9EA088F} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
{981574AE-5A5E-4F27-BDF1-1B841E374CFF} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
+ {E02F0C35-FB01-4059-90F9-9AC19DC22FBA} = {D9A0529B-9EC4-4D30-9E05-A5D533739D95}
EndGlobalSection
EndGlobal
diff --git a/mpciconlib.sln b/mpciconlib.sln
index 1fb2e3210..1deac5516 100644
--- a/mpciconlib.sln
+++ b/mpciconlib.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30723.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpciconlib", "src\mpc-hc\mpciconlib\mpciconlib.vcxproj", "{86251DC4-9298-424C-AE6C-07844F79C0B5}"
EndProject
diff --git a/mpcresources.sln b/mpcresources.sln
index 20b7d3cf8..256066f61 100644
--- a/mpcresources.sln
+++ b/mpcresources.sln
@@ -1,11 +1,8 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.40629.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpcresources", "src\mpc-hc\mpcresources\mpcresources.vcxproj", "{A57CBE1A-3703-4237-950A-FC5F594FDB43}"
- ProjectSection(ProjectDependencies) = postProject
- {904017F7-EE7A-49B6-A000-0D2FE5D5809A} = {904017F7-EE7A-49B6-A000-0D2FE5D5809A}
- EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildAll", "src\mpc-hc\mpcresources\BuildAll.vcxproj", "{F0D412BF-C98E-48C7-A032-607AE043B0F7}"
EndProject
diff --git a/src/CmdUI/CmdUI.vcxproj b/src/CmdUI/CmdUI.vcxproj
index 9709007f3..1f1e2449b 100644
--- a/src/CmdUI/CmdUI.vcxproj
+++ b/src/CmdUI/CmdUI.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,39 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
diff --git a/src/CmdUI/CmdUI.vcxproj.filters b/src/CmdUI/CmdUI.vcxproj.filters
index 902af82cb..7816ced3b 100644
--- a/src/CmdUI/CmdUI.vcxproj.filters
+++ b/src/CmdUI/CmdUI.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/DSUtil/ArrayUtils.h b/src/DSUtil/ArrayUtils.h
index 1187bc930..ba1e7dee3 100644
--- a/src/DSUtil/ArrayUtils.h
+++ b/src/DSUtil/ArrayUtils.h
@@ -1,5 +1,5 @@
/*
-* (C) 2015 see Authors.txt
+* (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,7 @@
#pragma once
template <typename... T>
-inline std::array<typename std::common_type<T...>::type, sizeof...(T)> make_array(T... values)
+constexpr std::array<typename std::common_type<T...>::type, sizeof...(T)> make_array(T&& ... values)
{
- return { values... };
+ return { std::forward<T>(values)... };
}
diff --git a/src/DSUtil/AudioTools.h b/src/DSUtil/AudioTools.h
index 2232dc39d..aec430c8f 100644
--- a/src/DSUtil/AudioTools.h
+++ b/src/DSUtil/AudioTools.h
@@ -1,5 +1,5 @@
/*
- * (C) 2013 see Authors.txt
+ * (C) 2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,7 @@
#pragma once
-#include <stdint.h>
+#include <cstdint>
#define INT24_MAX 8388607
#define INT24_MIN (-8388608)
diff --git a/src/DSUtil/DSUtil.cpp b/src/DSUtil/DSUtil.cpp
index 3283c5d61..dd6c415cd 100644
--- a/src/DSUtil/DSUtil.cpp
+++ b/src/DSUtil/DSUtil.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,15 +26,14 @@
#include "winddk/ntddcdrm.h"
#include "DSUtil.h"
#include "Mpeg2Def.h"
-#include "vd.h"
-#include "moreuuids.h"
#include <emmintrin.h>
-#include <math.h>
-#include <InitGuid.h>
#include <d3d9types.h>
+#include "NullRenderers.h"
+
+#include <initguid.h>
+#include "moreuuids.h"
#include <dxva.h>
#include <dxva2api.h>
-#include <intrin.h>
int CountPins(IBaseFilter* pBF, int& nIn, int& nOut, int& nInC, int& nOutC)
{
@@ -1483,699 +1482,6 @@ CStringW LocalToStringW(const char* S)
return str;
}
-static struct {
- LPCSTR name, iso6392, iso6391;
- LCID lcid;
-} s_isolangs[] = { // TODO : fill LCID !!!
- {"Abkhazian", "abk", "ab"},
- {"Achinese", "ace", ""},
- {"Acoli", "ach", ""},
- {"Adangme", "ada", ""},
- {"Afar", "aar", "aa"},
- {"Afrihili", "afh", ""},
- {"Afrikaans", "afr", "af", MAKELCID(MAKELANGID(LANG_AFRIKAANS, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Afro-Asiatic (Other)", "afa", ""},
- {"Akan", "aka", "ak"},
- {"Akkadian", "akk", ""},
- {"Albanian", "alb", "sq"},
- {"Albanian", "sqi", "sq", MAKELCID(MAKELANGID(LANG_ALBANIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Aleut", "ale", ""},
- {"Algonquian languages", "alg", ""},
- {"Altaic (Other)", "tut", ""},
- {"Amharic", "amh", "am"},
- {"Apache languages", "apa", ""},
- {"Arabic", "ara", "ar", MAKELCID(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Aragonese", "arg", "an"},
- {"Aramaic", "arc", ""},
- {"Arapaho", "arp", ""},
- {"Araucanian", "arn", ""},
- {"Arawak", "arw", ""},
- {"Armenian", "arm", "hy", MAKELCID(MAKELANGID(LANG_ARMENIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Armenian", "hye", "hy", MAKELCID(MAKELANGID(LANG_ARMENIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Artificial (Other)", "art", ""},
- {"Assamese", "asm", "as", MAKELCID(MAKELANGID(LANG_ASSAMESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Asturian; Bable", "ast", ""},
- {"Athapascan languages", "ath", ""},
- {"Australian languages", "aus", ""},
- {"Austronesian (Other)", "map", ""},
- {"Avaric", "ava", "av"},
- {"Avestan", "ave", "ae"},
- {"Awadhi", "awa", ""},
- {"Aymara", "aym", "ay"},
- {"Azerbaijani", "aze", "az", MAKELCID(MAKELANGID(LANG_AZERI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Bable; Asturian", "ast", ""},
- {"Balinese", "ban", ""},
- {"Baltic (Other)", "bat", ""},
- {"Baluchi", "bal", ""},
- {"Bambara", "bam", "bm"},
- {"Bamileke languages", "bai", ""},
- {"Banda", "bad", ""},
- {"Bantu (Other)", "bnt", ""},
- {"Basa", "bas", ""},
- {"Bashkir", "bak", "ba", MAKELCID(MAKELANGID(LANG_BASHKIR, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Basque", "baq", "eu", MAKELCID(MAKELANGID(LANG_BASQUE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Basque", "eus", "eu", MAKELCID(MAKELANGID(LANG_BASQUE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Batak (Indonesia)", "btk", ""},
- {"Beja", "bej", ""},
- {"Belarusian", "bel", "be", MAKELCID(MAKELANGID(LANG_BELARUSIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Bemba", "bem", ""},
- {"Bengali", "ben", "bn", MAKELCID(MAKELANGID(LANG_BENGALI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Berber (Other)", "ber", ""},
- {"Bhojpuri", "bho", ""},
- {"Bihari", "bih", "bh"},
- {"Bikol", "bik", ""},
- {"Bini", "bin", ""},
- {"Bislama", "bis", "bi"},
- {"Bokmål, Norwegian; Norwegian Bokmål", "nob", "nb"},
- {"Bosnian", "bos", "bs"},
- {"Braj", "bra", ""},
- {"Brazilian", "pob", "pb"}, // unofficial codes for Brazilian Portuguese language
- {"Breton", "bre", "br", MAKELCID(MAKELANGID(LANG_BRETON, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Buginese", "bug", ""},
- {"Bulgarian", "bul", "bg", MAKELCID(MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Buriat", "bua", ""},
- {"Burmese", "bur", "my"},
- {"Burmese", "mya", "my"},
- {"Caddo", "cad", ""},
- {"Carib", "car", ""},
- {"Spanish; Castilian", "spa", "es", MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Catalan", "cat", "ca", MAKELCID(MAKELANGID(LANG_CATALAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Caucasian (Other)", "cau", ""},
- {"Cebuano", "ceb", ""},
- {"Celtic (Other)", "cel", ""},
- {"Central American Indian (Other)", "cai", ""},
- {"Chagatai", "chg", ""},
- {"Chamic languages", "cmc", ""},
- {"Chamorro", "cha", "ch"},
- {"Chechen", "che", "ce"},
- {"Cherokee", "chr", ""},
- {"Chewa; Chichewa; Nyanja", "nya", "ny"},
- {"Cheyenne", "chy", ""},
- {"Chibcha", "chb", ""},
- {"Chichewa; Chewa; Nyanja", "nya", "ny"},
- {"Chinese", "chi", "zh", MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Chinese", "zho", "zh"},
- {"Chinook jargon", "chn", ""},
- {"Chipewyan", "chp", ""},
- {"Choctaw", "cho", ""},
- {"Chuang; Zhuang", "zha", "za"},
- {"Church Slavic; Old Church Slavonic", "chu", "cu"},
- {"Old Church Slavonic; Old Slavonic; ", "chu", "cu"},
- {"Church Slavonic; Old Bulgarian; Church Slavic;", "chu", "cu"},
- {"Old Slavonic; Church Slavonic; Old Bulgarian;", "chu", "cu"},
- {"Church Slavic; Old Church Slavonic", "chu", "cu"},
- {"Chuukese", "chk", ""},
- {"Chuvash", "chv", "cv"},
- {"Coptic", "cop", ""},
- {"Cornish", "cor", "kw"},
- {"Corsican", "cos", "co", MAKELCID(MAKELANGID(LANG_CORSICAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Cree", "cre", "cr"},
- {"Creek", "mus", ""},
- {"Creoles and pidgins (Other)", "crp", ""},
- {"Creoles and pidgins,", "cpe", ""},
- // {"English-based (Other)", "", ""},
- {"Creoles and pidgins,", "cpf", ""},
- // {"French-based (Other)", "", ""},
- {"Creoles and pidgins,", "cpp", ""},
- // {"Portuguese-based (Other)", "", ""},
- {"Croatian", "scr", "hr", MAKELCID(MAKELANGID(LANG_CROATIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Croatian", "hrv", "hr", MAKELCID(MAKELANGID(LANG_CROATIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Cushitic (Other)", "cus", ""},
- {"Czech", "cze", "cs", MAKELCID(MAKELANGID(LANG_CZECH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Czech", "ces", "cs", MAKELCID(MAKELANGID(LANG_CZECH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Dakota", "dak", ""},
- {"Danish", "dan", "da", MAKELCID(MAKELANGID(LANG_DANISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Dargwa", "dar", ""},
- {"Dayak", "day", ""},
- {"Delaware", "del", ""},
- {"Dinka", "din", ""},
- {"Divehi", "div", "dv", MAKELCID(MAKELANGID(LANG_DIVEHI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Dogri", "doi", ""},
- {"Dogrib", "dgr", ""},
- {"Dravidian (Other)", "dra", ""},
- {"Duala", "dua", ""},
- {"Dutch; Flemish", "dut", "nl", MAKELCID(MAKELANGID(LANG_DUTCH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Dutch; Flemish", "nld", "nl", MAKELCID(MAKELANGID(LANG_DUTCH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Dutch, Middle (ca. 1050-1350)", "dum", ""},
- {"Dyula", "dyu", ""},
- {"Dzongkha", "dzo", "dz"},
- {"Efik", "efi", ""},
- {"Egyptian (Ancient)", "egy", ""},
- {"Ekajuk", "eka", ""},
- {"Elamite", "elx", ""},
- {"English", "eng", "en", MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"English, Middle (1100-1500)", "enm", ""},
- {"English, Old (ca.450-1100)", "ang", ""},
- {"Esperanto", "epo", "eo"},
- {"Estonian", "est", "et", MAKELCID(MAKELANGID(LANG_ESTONIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ewe", "ewe", "ee"},
- {"Ewondo", "ewo", ""},
- {"Fang", "fan", ""},
- {"Fanti", "fat", ""},
- {"Faroese", "fao", "fo", MAKELCID(MAKELANGID(LANG_FAEROESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Fijian", "fij", "fj"},
- {"Finnish", "fin", "fi", MAKELCID(MAKELANGID(LANG_FINNISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Finno-Ugrian (Other)", "fiu", ""},
- {"Flemish; Dutch", "dut", "nl"},
- {"Flemish; Dutch", "nld", "nl"},
- {"Fon", "fon", ""},
- {"French", "fre", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"French", "fra*", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"French", "fra", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"French, Middle (ca.1400-1600)", "frm", ""},
- {"French, Old (842-ca.1400)", "fro", ""},
- {"Frisian", "fry", "fy", MAKELCID(MAKELANGID(LANG_FRISIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Friulian", "fur", ""},
- {"Fulah", "ful", "ff"},
- {"Ga", "gaa", ""},
- {"Gaelic; Scottish Gaelic", "gla", "gd", MAKELCID(MAKELANGID(LANG_GALICIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Gallegan", "glg", "gl"},
- {"Ganda", "lug", "lg"},
- {"Gayo", "gay", ""},
- {"Gbaya", "gba", ""},
- {"Geez", "gez", ""},
- {"Georgian", "geo", "ka", MAKELCID(MAKELANGID(LANG_GEORGIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Georgian", "kat", "ka", MAKELCID(MAKELANGID(LANG_GEORGIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"German", "ger", "de", MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"German", "deu", "de", MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"German, Low; Saxon, Low; Low German; Low Saxon", "nds", ""},
- {"German, Middle High (ca.1050-1500)", "gmh", ""},
- {"German, Old High (ca.750-1050)", "goh", ""},
- {"Germanic (Other)", "gem", ""},
- {"Gikuyu; Kikuyu", "kik", "ki"},
- {"Gilbertese", "gil", ""},
- {"Gondi", "gon", ""},
- {"Gorontalo", "gor", ""},
- {"Gothic", "got", ""},
- {"Grebo", "grb", ""},
- {"Greek, Ancient (to 1453)", "grc", "", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Greek, Modern (1453-)", "gre", "el", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Greek, Modern (1453-)", "ell", "el", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Greenlandic; Kalaallisut", "kal", "kl", MAKELCID(MAKELANGID(LANG_GREENLANDIC, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Guarani", "grn", "gn"},
- {"Gujarati", "guj", "gu", MAKELCID(MAKELANGID(LANG_GUJARATI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Gwich’in", "gwi", ""},
- {"Haida", "hai", ""},
- {"Hausa", "hau", "ha", MAKELCID(MAKELANGID(LANG_HAUSA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Hawaiian", "haw", ""},
- {"Hebrew", "heb", "he", MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Herero", "her", "hz"},
- {"Hiligaynon", "hil", ""},
- {"Himachali", "him", ""},
- {"Hindi", "hin", "hi", MAKELCID(MAKELANGID(LANG_HINDI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Hiri Motu", "hmo", "ho"},
- {"Hittite", "hit", ""},
- {"Hmong", "hmn", ""},
- {"Hungarian", "hun", "hu", MAKELCID(MAKELANGID(LANG_HUNGARIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Hupa", "hup", ""},
- {"Iban", "iba", ""},
- {"Icelandic", "ice", "is", MAKELCID(MAKELANGID(LANG_ICELANDIC, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Icelandic", "isl", "is", MAKELCID(MAKELANGID(LANG_ICELANDIC, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ido", "ido", "io"},
- {"Igbo", "ibo", "ig", MAKELCID(MAKELANGID(LANG_IGBO, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ijo", "ijo", ""},
- {"Iloko", "ilo", ""},
- {"Inari Sami", "smn", ""},
- {"Indic (Other)", "inc", ""},
- {"Indo-European (Other)", "ine", ""},
- {"Indonesian", "ind", "id", MAKELCID(MAKELANGID(LANG_INDONESIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ingush", "inh", ""},
- {"Interlingua (International", "ina", "ia"},
- // {"Auxiliary Language Association)", "", ""},
- {"Interlingue", "ile", "ie"},
- {"Inuktitut", "iku", "iu", MAKELCID(MAKELANGID(LANG_INUKTITUT, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Inupiaq", "ipk", "ik"},
- {"Iranian (Other)", "ira", ""},
- {"Irish", "gle", "ga", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Irish, Middle (900-1200)", "mga", "", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Irish, Old (to 900)", "sga", "", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Iroquoian languages", "iro", ""},
- {"Italian", "ita", "it", MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Japanese", "jpn", "ja", MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Javanese", "jav", "jv"},
- {"Judeo-Arabic", "jrb", ""},
- {"Judeo-Persian", "jpr", ""},
- {"Kabardian", "kbd", ""},
- {"Kabyle", "kab", ""},
- {"Kachin", "kac", ""},
- {"Kalaallisut; Greenlandic", "kal", "kl"},
- {"Kamba", "kam", ""},
- {"Kannada", "kan", "kn", MAKELCID(MAKELANGID(LANG_KANNADA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Kanuri", "kau", "kr"},
- {"Kara-Kalpak", "kaa", ""},
- {"Karen", "kar", ""},
- {"Kashmiri", "kas", "ks", MAKELCID(MAKELANGID(LANG_KASHMIRI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Kawi", "kaw", ""},
- {"Kazakh", "kaz", "kk", MAKELCID(MAKELANGID(LANG_KAZAK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Khasi", "kha", ""},
- {"Khmer", "khm", "km", MAKELCID(MAKELANGID(LANG_KHMER, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Khoisan (Other)", "khi", ""},
- {"Khotanese", "kho", ""},
- {"Kikuyu; Gikuyu", "kik", "ki"},
- {"Kimbundu", "kmb", ""},
- {"Kinyarwanda", "kin", "rw", MAKELCID(MAKELANGID(LANG_KINYARWANDA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Kirghiz", "kir", "ky"},
- {"Komi", "kom", "kv"},
- {"Kongo", "kon", "kg"},
- {"Konkani", "kok", "", MAKELCID(MAKELANGID(LANG_KONKANI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Korean", "kor", "ko", MAKELCID(MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Kosraean", "kos", ""},
- {"Kpelle", "kpe", ""},
- {"Kru", "kro", ""},
- {"Kuanyama; Kwanyama", "kua", "kj"},
- {"Kumyk", "kum", ""},
- {"Kurdish", "kur", "ku"},
- {"Kurukh", "kru", ""},
- {"Kutenai", "kut", ""},
- {"Kwanyama, Kuanyama", "kua", "kj"},
- {"Ladino", "lad", ""},
- {"Lahnda", "lah", ""},
- {"Lamba", "lam", ""},
- {"Lao", "lao", "lo", MAKELCID(MAKELANGID(LANG_LAO, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Latin", "lat", "la"},
- {"Latvian", "lav", "lv", MAKELCID(MAKELANGID(LANG_LATVIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Letzeburgesch; Luxembourgish", "ltz", "lb"},
- {"Lezghian", "lez", ""},
- {"Limburgan; Limburger; Limburgish", "lim", "li"},
- {"Limburger; Limburgan; Limburgish;", "lim", "li"},
- {"Limburgish; Limburger; Limburgan", "lim", "li"},
- {"Lingala", "lin", "ln"},
- {"Lithuanian", "lit", "lt", MAKELCID(MAKELANGID(LANG_LITHUANIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Low German; Low Saxon; German, Low; Saxon, Low", "nds", ""},
- {"Low Saxon; Low German; Saxon, Low; German, Low", "nds", ""},
- {"Lozi", "loz", ""},
- {"Luba-Katanga", "lub", "lu"},
- {"Luba-Lulua", "lua", ""},
- {"Luiseno", "lui", ""},
- {"Lule Sami", "smj", ""},
- {"Lunda", "lun", ""},
- {"Luo (Kenya and Tanzania)", "luo", ""},
- {"Lushai", "lus", ""},
- {"Luxembourgish; Letzeburgesch", "ltz", "lb", MAKELCID(MAKELANGID(LANG_LUXEMBOURGISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Macedonian", "mac", "mk", MAKELCID(MAKELANGID(LANG_MACEDONIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Macedonian", "mkd", "mk", MAKELCID(MAKELANGID(LANG_MACEDONIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Madurese", "mad", ""},
- {"Magahi", "mag", ""},
- {"Maithili", "mai", ""},
- {"Makasar", "mak", ""},
- {"Malagasy", "mlg", "mg"},
- {"Malay", "may", "ms", MAKELCID(MAKELANGID(LANG_MALAY, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Malay", "msa", "ms", MAKELCID(MAKELANGID(LANG_MALAY, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Malayalam", "mal", "ml", MAKELCID(MAKELANGID(LANG_MALAYALAM, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Maltese", "mlt", "mt", MAKELCID(MAKELANGID(LANG_MALTESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Manchu", "mnc", ""},
- {"Mandar", "mdr", ""},
- {"Mandingo", "man", ""},
- {"Manipuri", "mni", "", MAKELCID(MAKELANGID(LANG_MANIPURI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Manobo languages", "mno", ""},
- {"Manx", "glv", "gv"},
- {"Maori", "mao", "mi", MAKELCID(MAKELANGID(LANG_MAORI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Maori", "mri", "mi", MAKELCID(MAKELANGID(LANG_MAORI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Marathi", "mar", "mr", MAKELCID(MAKELANGID(LANG_MARATHI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Mari", "chm", ""},
- {"Marshallese", "mah", "mh"},
- {"Marwari", "mwr", ""},
- {"Masai", "mas", ""},
- {"Mayan languages", "myn", ""},
- {"Mende", "men", ""},
- {"Micmac", "mic", ""},
- {"Minangkabau", "min", ""},
- {"Miscellaneous languages", "mis", ""},
- {"Mohawk", "moh", "", MAKELCID(MAKELANGID(LANG_MOHAWK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Moldavian", "mol", "mo"},
- {"Mon-Khmer (Other)", "mkh", ""},
- {"Mongo", "lol", ""},
- {"Mongolian", "mon", "mn", MAKELCID(MAKELANGID(LANG_MONGOLIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Mossi", "mos", ""},
- {"Multiple languages", "mul", ""},
- {"Munda languages", "mun", ""},
- {"Nahuatl", "nah", ""},
- {"Nauru", "nau", "na"},
- {"Navaho, Navajo", "nav", "nv"},
- {"Navajo; Navaho", "nav", "nv"},
- {"Ndebele, North", "nde", "nd"},
- {"Ndebele, South", "nbl", "nr"},
- {"Ndonga", "ndo", "ng"},
- {"Neapolitan", "nap", ""},
- {"Nepali", "nep", "ne", MAKELCID(MAKELANGID(LANG_NEPALI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Newari", "new", ""},
- {"Nias", "nia", ""},
- {"Niger-Kordofanian (Other)", "nic", ""},
- {"Nilo-Saharan (Other)", "ssa", ""},
- {"Niuean", "niu", ""},
- {"Norse, Old", "non", ""},
- {"North American Indian (Other)", "nai", ""},
- {"Northern Sami", "sme", "se"},
- {"North Ndebele", "nde", "nd"},
- {"Norwegian", "nor", "no", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Norwegian Bokmål; Bokmål, Norwegian", "nob", "nb", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Norwegian Nynorsk; Nynorsk, Norwegian", "nno", "nn", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Nubian languages", "nub", ""},
- {"Nyamwezi", "nym", ""},
- {"Nyanja; Chichewa; Chewa", "nya", "ny"},
- {"Nyankole", "nyn", ""},
- {"Nynorsk, Norwegian; Norwegian Nynorsk", "nno", "nn"},
- {"Nyoro", "nyo", ""},
- {"Nzima", "nzi", ""},
- {"Occitan (post 1500},; Provençal", "oci", "oc", MAKELCID(MAKELANGID(LANG_OCCITAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ojibwa", "oji", "oj"},
- {"Old Bulgarian; Old Slavonic; Church Slavonic;", "chu", "cu"},
- {"Oriya", "ori", "or"},
- {"Oromo", "orm", "om"},
- {"Osage", "osa", ""},
- {"Ossetian; Ossetic", "oss", "os"},
- {"Ossetic; Ossetian", "oss", "os"},
- {"Otomian languages", "oto", ""},
- {"Pahlavi", "pal", ""},
- {"Palauan", "pau", ""},
- {"Pali", "pli", "pi"},
- {"Pampanga", "pam", ""},
- {"Pangasinan", "pag", ""},
- {"Panjabi", "pan", "pa"},
- {"Papiamento", "pap", ""},
- {"Papuan (Other)", "paa", ""},
- {"Persian", "per", "fa", MAKELCID(MAKELANGID(LANG_PERSIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Persian", "fas", "fa", MAKELCID(MAKELANGID(LANG_PERSIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Persian, Old (ca.600-400 B.C.)", "peo", ""},
- {"Philippine (Other)", "phi", ""},
- {"Phoenician", "phn", ""},
- {"Pohnpeian", "pon", ""},
- {"Polish", "pol", "pl", MAKELCID(MAKELANGID(LANG_POLISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Portuguese", "por", "pt", MAKELCID(MAKELANGID(LANG_PORTUGUESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Prakrit languages", "pra", ""},
- {"Provençal; Occitan (post 1500)", "oci", "oc"},
- {"Provençal, Old (to 1500)", "pro", ""},
- {"Pushto", "pus", "ps"},
- {"Quechua", "que", "qu", MAKELCID(MAKELANGID(LANG_QUECHUA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Raeto-Romance", "roh", "rm"},
- {"Rajasthani", "raj", ""},
- {"Rapanui", "rap", ""},
- {"Rarotongan", "rar", ""},
- {"Reserved for local use", "qaa-qtz", ""},
- {"Romance (Other)", "roa", ""},
- {"Romanian", "rum", "ro", MAKELCID(MAKELANGID(LANG_ROMANIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Romanian", "ron", "ro", MAKELCID(MAKELANGID(LANG_ROMANIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Romany", "rom", ""},
- {"Rundi", "run", "rn"},
- {"Russian", "rus", "ru", MAKELCID(MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Salishan languages", "sal", ""},
- {"Samaritan Aramaic", "sam", ""},
- {"Sami languages (Other)", "smi", ""},
- {"Samoan", "smo", "sm"},
- {"Sandawe", "sad", ""},
- {"Sango", "sag", "sg"},
- {"Sanskrit", "san", "sa", MAKELCID(MAKELANGID(LANG_SANSKRIT, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Santali", "sat", ""},
- {"Sardinian", "srd", "sc"},
- {"Sasak", "sas", ""},
- {"Saxon, Low; German, Low; Low Saxon; Low German", "nds", ""},
- {"Scots", "sco", ""},
- {"Scottish Gaelic; Gaelic", "gla", "gd"},
- {"Selkup", "sel", ""},
- {"Semitic (Other)", "sem", ""},
- {"Serbian", "scc", "sr", MAKELCID(MAKELANGID(LANG_SERBIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Serbian", "srp", "sr", MAKELCID(MAKELANGID(LANG_SERBIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Serer", "srr", ""},
- {"Shan", "shn", ""},
- {"Shona", "sna", "sn"},
- {"Sichuan Yi", "iii", "ii"},
- {"Sidamo", "sid", ""},
- {"Sign languages", "sgn", ""},
- {"Siksika", "bla", ""},
- {"Sindhi", "snd", "sd", MAKELCID(MAKELANGID(LANG_SINDHI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Sinhalese", "sin", "si", MAKELCID(MAKELANGID(LANG_SINHALESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Sino-Tibetan (Other)", "sit", ""},
- {"Siouan languages", "sio", ""},
- {"Skolt Sami", "sms", ""},
- {"Slave (Athapascan)", "den", ""},
- {"Slavic (Other)", "sla", ""},
- {"Slovak", "slo", "sk", MAKELCID(MAKELANGID(LANG_SLOVAK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Slovak", "slk", "sk", MAKELCID(MAKELANGID(LANG_SLOVAK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Slovenian", "slv", "sl", MAKELCID(MAKELANGID(LANG_SLOVENIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Sogdian", "sog", ""},
- {"Somali", "som", "so"},
- {"Songhai", "son", ""},
- {"Soninke", "snk", ""},
- {"Sorbian languages", "wen", ""},
- {"Sotho, Northern", "nso", "", MAKELCID(MAKELANGID(LANG_SOTHO, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Sotho, Southern", "sot", "st", MAKELCID(MAKELANGID(LANG_SOTHO, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"South American Indian (Other)", "sai", ""},
- {"Southern Sami", "sma", ""},
- {"South Ndebele", "nbl", "nr"},
- {"Spanish; Castilian", "spa", "es", MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Sukuma", "suk", ""},
- {"Sumerian", "sux", ""},
- {"Sundanese", "sun", "su"},
- {"Susu", "sus", ""},
- {"Swahili", "swa", "sw", MAKELCID(MAKELANGID(LANG_SWAHILI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Swati", "ssw", "ss"},
- {"Swedish", "swe", "sv", MAKELCID(MAKELANGID(LANG_SWEDISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Syriac", "syr", "", MAKELCID(MAKELANGID(LANG_SYRIAC, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tagalog", "tgl", "tl"},
- {"Tahitian", "tah", "ty"},
- {"Tai (Other)", "tai", ""},
- {"Tajik", "tgk", "tg", MAKELCID(MAKELANGID(LANG_TAJIK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tamashek", "tmh", ""},
- {"Tamil", "tam", "ta", MAKELCID(MAKELANGID(LANG_TAMIL, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tatar", "tat", "tt", MAKELCID(MAKELANGID(LANG_TATAR, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Telugu", "tel", "te", MAKELCID(MAKELANGID(LANG_TELUGU, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tereno", "ter", ""},
- {"Tetum", "tet", ""},
- {"Thai", "tha", "th", MAKELCID(MAKELANGID(LANG_THAI, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tibetan", "tib", "bo", MAKELCID(MAKELANGID(LANG_TIBETAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tibetan", "bod", "bo", MAKELCID(MAKELANGID(LANG_TIBETAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tigre", "tig", ""},
- {"Tigrinya", "tir", "ti", MAKELCID(MAKELANGID(LANG_TIGRIGNA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Timne", "tem", ""},
- {"Tiv", "tiv", ""},
- {"Tlingit", "tli", ""},
- {"Tok Pisin", "tpi", ""},
- {"Tokelau", "tkl", ""},
- {"Tonga (Nyasa)", "tog", ""},
- {"Tonga (Tonga Islands)", "ton", "to"},
- {"Tsimshian", "tsi", ""},
- {"Tsonga", "tso", "ts"},
- {"Tswana", "tsn", "tn", MAKELCID(MAKELANGID(LANG_TSWANA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tumbuka", "tum", ""},
- {"Tupi languages", "tup", ""},
- {"Turkish", "tur", "tr", MAKELCID(MAKELANGID(LANG_TURKISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Turkish, Ottoman (1500-1928)", "ota", "", MAKELCID(MAKELANGID(LANG_TURKISH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Turkmen", "tuk", "tk", MAKELCID(MAKELANGID(LANG_TURKMEN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Tuvalu", "tvl", ""},
- {"Tuvinian", "tyv", ""},
- {"Twi", "twi", "tw"},
- {"Ugaritic", "uga", ""},
- {"Uighur", "uig", "ug", MAKELCID(MAKELANGID(LANG_UIGHUR, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Ukrainian", "ukr", "uk", MAKELCID(MAKELANGID(LANG_UKRAINIAN, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Umbundu", "umb", ""},
- {"Undetermined", "und", ""},
- {"Urdu", "urd", "ur", MAKELCID(MAKELANGID(LANG_URDU, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Uzbek", "uzb", "uz", MAKELCID(MAKELANGID(LANG_UZBEK, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Vai", "vai", ""},
- {"Venda", "ven", "ve"},
- {"Vietnamese", "vie", "vi", MAKELCID(MAKELANGID(LANG_VIETNAMESE, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Volapuk", "vol", "vo"},
- {"Votic", "vot", ""},
- {"Wakashan languages", "wak", ""},
- {"Walamo", "wal", ""},
- {"Walloon", "wln", "wa"},
- {"Waray", "war", ""},
- {"Washo", "was", ""},
- {"Welsh", "wel", "cy", MAKELCID(MAKELANGID(LANG_WELSH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Welsh", "cym", "cy", MAKELCID(MAKELANGID(LANG_WELSH, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Wolof", "wol", "wo", MAKELCID(MAKELANGID(LANG_WOLOF, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Xhosa", "xho", "xh", MAKELCID(MAKELANGID(LANG_XHOSA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Yakut", "sah", "", MAKELCID(MAKELANGID(LANG_YAKUT, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Yao", "yao", ""},
- {"Yapese", "yap", ""},
- {"Yiddish", "yid", "yi"},
- {"Yoruba", "yor", "yo", MAKELCID(MAKELANGID(LANG_YORUBA, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Yupik languages", "ypk", ""},
- {"Zande", "znd", ""},
- {"Zapotec", "zap", ""},
- {"Zenaga", "zen", ""},
- {"Zhuang; Chuang", "zha", "za"},
- {"Zulu", "zul", "zu", MAKELCID(MAKELANGID(LANG_ZULU, SUBLANG_DEFAULT), SORT_DEFAULT)},
- {"Zuni", "zun", ""},
- {"Classical Newari", "nwc", ""},
- {"Klingon", "tlh", ""},
- {"Blin", "byn", ""},
- {"Lojban", "jbo", ""},
- {"Lower Sorbian", "dsb", ""},
- {"Upper Sorbian", "hsb", ""},
- {"Kashubian", "csb", ""},
- {"Crimean Turkish", "crh", ""},
- {"Erzya", "myv", ""},
- {"Moksha", "mdf", ""},
- {"Karachay-Balkar", "krc", ""},
- {"Adyghe", "ady", ""},
- {"Udmurt", "udm", ""},
- {"Dargwa", "dar", ""},
- {"Ingush", "inh", ""},
- {"Nogai", "nog", ""},
- {"Haitian", "hat", "ht"},
- {"Kalmyk", "xal", ""},
- {"", "", ""},
- {"No subtitles", "---", "", (LCID)LCID_NOSUBTITLES},
-};
-
-CString ISO6391ToLanguage(LPCSTR code)
-{
- CHAR tmp[2 + 1];
- strncpy_s(tmp, code, 2);
- tmp[2] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6391, tmp)) {
- CString ret = CString(CStringA(s_isolangs[i].name));
- int k = ret.Find(';');
- if (k > 0) {
- ret = ret.Left(k);
- }
- return ret;
- }
- }
- return _T("");
-}
-
-CString ISO6392ToLanguage(LPCSTR code)
-{
- CHAR tmp[3 + 1];
- strncpy_s(tmp, code, 3);
- tmp[3] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6392, tmp)) {
- CString ret = CString(CStringA(s_isolangs[i].name));
- int k = ret.Find(';');
- if (k > 0) {
- ret = ret.Left(k);
- }
- return ret;
- }
- }
- return CString(code);
-}
-
-bool IsISO639Language(LPCSTR code)
-{
- size_t nLen = strlen(code) + 1;
- LPSTR tmp = DEBUG_NEW CHAR[nLen];
- strncpy_s(tmp, nLen, code, nLen);
- _strlwr_s(tmp, nLen);
- tmp[0] = (CHAR)toupper(tmp[0]);
-
- bool bFound = false;
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].name, tmp)) {
- bFound = true;
- break;
- }
- }
-
- delete [] tmp;
-
- return bFound;
-}
-
-CString ISO639XToLanguage(LPCSTR code, bool bCheckForFullLangName /*= false*/)
-{
- CString lang;
-
- switch (size_t nLen = strlen(code)) {
- case 2:
- lang = ISO6391ToLanguage(code);
- break;
- case 3:
- lang = ISO6392ToLanguage(code);
- if (lang == code) { // When it can't find a match, ISO6392ToLanguage returns the input string
- lang.Empty();
- }
- break;
- default:
- if (bCheckForFullLangName && nLen > 3) {
- if (IsISO639Language(code)) {
- lang = code;
- }
- }
- }
-
- return lang;
-}
-
-LCID ISO6391ToLcid(LPCSTR code)
-{
- CHAR tmp[3 + 1];
- strncpy_s(tmp, code, 3);
- tmp[3] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6391, code)) {
- return s_isolangs[i].lcid;
- }
- }
- return 0;
-}
-
-LCID ISO6392ToLcid(LPCSTR code)
-{
- CHAR tmp[3 + 1];
- strncpy_s(tmp, code, 3);
- tmp[3] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6392, tmp)) {
- return s_isolangs[i].lcid;
- }
- }
- return 0;
-}
-
-CString ISO6391To6392(LPCSTR code)
-{
- CHAR tmp[2 + 1];
- strncpy_s(tmp, code, 2);
- tmp[2] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6391, tmp)) {
- return CString(CStringA(s_isolangs[i].iso6392));
- }
- }
- return _T("");
-}
-
-CString ISO6392To6391(LPCSTR code)
-{
- CHAR tmp[3 + 1];
- strncpy_s(tmp, code, 3);
- tmp[3] = 0;
- _strlwr_s(tmp);
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- if (!strcmp(s_isolangs[i].iso6392, tmp)) {
- return CString(CStringA(s_isolangs[i].iso6391));
- }
- }
- return _T("");
-}
-
-CString LanguageToISO6392(LPCTSTR lang)
-{
- CString str = lang;
- str.MakeLower();
- for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
- CAtlList<CString> sl;
- Explode(CString(s_isolangs[i].name), sl, ';');
- POSITION pos = sl.GetHeadPosition();
- while (pos) {
- if (!str.CompareNoCase(sl.GetNext(pos))) {
- return CString(s_isolangs[i].iso6392);
- }
- }
- }
- return _T("");
-}
-
BOOL CFileGetStatus(LPCTSTR lpszFileName, CFileStatus& status)
{
try {
diff --git a/src/DSUtil/DSUtil.h b/src/DSUtil/DSUtil.h
index 64a78a856..a66f51da0 100644
--- a/src/DSUtil/DSUtil.h
+++ b/src/DSUtil/DSUtil.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,14 +21,13 @@
#pragma once
-#include <afxstr.h>
-#include <atlpath.h>
-#include "NullRenderers.h"
#include "HdmvClipInfo.h"
-#include "H264Nalu.h"
#include "MediaTypeEx.h"
-#include "vd.h"
#include "text.h"
+#include "vd.h"
+#include "BaseClasses/streams.h"
+#include <atlcoll.h>
+#include <atlpath.h>
#define LCID_NOSUBTITLES -1
@@ -104,15 +103,6 @@ extern CStringW UTF8To16(LPCSTR utf8);
extern CStringA UTF16To8(LPCWSTR utf16);
extern CStringW UTF8ToStringW(const char* S);
extern CStringW LocalToStringW(const char* S);
-extern CString ISO6391ToLanguage(LPCSTR code);
-extern CString ISO6392ToLanguage(LPCSTR code);
-extern bool IsISO639Language(LPCSTR code);
-extern CString ISO639XToLanguage(LPCSTR code, bool bCheckForFullLangName = false);
-extern LCID ISO6391ToLcid(LPCSTR code);
-extern LCID ISO6392ToLcid(LPCSTR code);
-extern CString ISO6391To6392(LPCSTR code);
-extern CString ISO6392To6391(LPCSTR code);
-extern CString LanguageToISO6392(LPCTSTR lang);
extern BOOL CFileGetStatus(LPCTSTR lpszFileName, CFileStatus& status);
extern bool DeleteRegKey(LPCTSTR pszKey, LPCTSTR pszSubkey);
extern bool SetRegKeyValue(LPCTSTR pszKey, LPCTSTR pszSubkey, LPCTSTR pszValueName, LPCTSTR pszValue);
@@ -248,13 +238,14 @@ public:
#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p) = nullptr; } }
#define SAFE_CLOSE_HANDLE(p) { if (p) { if ((p) != INVALID_HANDLE_VALUE) VERIFY(CloseHandle(p)); (p) = nullptr; } }
-#define ResStr(id) CString(MAKEINTRESOURCE(id))
+#define StrRes(id) MAKEINTRESOURCE(id)
+#define ResStr(id) CString(StrRes(id))
-template <typename T> __inline void INITDDSTRUCT(T& dd)
-{
- ZeroMemory(&dd, sizeof(dd));
- dd.dwSize = sizeof(dd);
-}
+#define UNREACHABLE_CODE() \
+ do { \
+ ASSERT(false); \
+ __assume(false); \
+ } while (false)
template <class T>
static CUnknown* WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT* phr)
@@ -292,6 +283,42 @@ typename std::enable_if<std::is_signed<T>::value, T>::type GCD(T a, T b)
return T(GCD(uT(std::abs(a)), uT(std::abs(b))));
}
+template<class T>
+constexpr typename std::enable_if<std::is_integral<T>::value, bool>::type IsEqual(T a, T b)
+{
+ return a == b;
+}
+
+template<class T>
+constexpr typename std::enable_if<std::is_floating_point<T>::value, bool>::type IsEqual(T a, T b)
+{
+ return std::abs(a - b) < std::numeric_limits<T>::epsilon();
+}
+
+template<class T>
+constexpr typename std::enable_if<std::is_floating_point<T>::value, bool>::type IsNearlyEqual(T a, T b, T epsilon)
+{
+ return std::abs(a - b) < epsilon;
+}
+
+template <class T>
+constexpr typename std::enable_if < std::is_integral<T>::value&& std::is_unsigned<T>::value, int >::type SGN(T n)
+{
+ return T(0) < n;
+}
+
+template <typename T>
+constexpr typename std::enable_if < std::is_integral<T>::value&& std::is_signed<T>::value, int >::type SGN(T n)
+{
+ return (T(0) < n) - (n < T(0));
+}
+
+template <typename T>
+constexpr typename std::enable_if <std::is_floating_point<T>::value, int>::type SGN(T n)
+{
+ return IsEqual(n, T(0)) ? 0 : (n > 0 ? 1 : -1);
+}
+
namespace CStringUtils
{
struct IgnoreCaseLess {
diff --git a/src/DSUtil/DSUtil.vcxproj b/src/DSUtil/DSUtil.vcxproj
index 030207e3a..535800065 100644
--- a/src/DSUtil/DSUtil.vcxproj
+++ b/src/DSUtil/DSUtil.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,61 +34,20 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Lib>
<AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
@@ -116,6 +60,7 @@
<ClCompile Include="GolombBuffer.cpp" />
<ClCompile Include="H264Nalu.cpp" />
<ClCompile Include="HdmvClipInfo.cpp" />
+ <ClCompile Include="ISOLang.cpp" />
<ClCompile Include="MediaTypeEx.cpp" />
<ClCompile Include="MediaTypes.cpp" />
<ClCompile Include="NullRenderers.cpp" />
@@ -141,6 +86,7 @@
<ClInclude Include="GolombBuffer.h" />
<ClInclude Include="H264Nalu.h" />
<ClInclude Include="HdmvClipInfo.h" />
+ <ClInclude Include="ISOLang.h" />
<ClInclude Include="MediaTypeEx.h" />
<ClInclude Include="MediaTypes.h" />
<ClInclude Include="MhookHelper.h" />
diff --git a/src/DSUtil/DSUtil.vcxproj.filters b/src/DSUtil/DSUtil.vcxproj.filters
index 71e5c5c11..6ce084b64 100644
--- a/src/DSUtil/DSUtil.vcxproj.filters
+++ b/src/DSUtil/DSUtil.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{7a9014bb-a149-4bb1-be1b-b988a38f79d0}</UniqueIdentifier>
@@ -68,6 +68,9 @@
<ClCompile Include="PathUtils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="ISOLang.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="DSMPropertyBag.h">
@@ -139,5 +142,8 @@
<ClInclude Include="MhookHelper.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="ISOLang.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/DSUtil/FileVersionInfo.cpp b/src/DSUtil/FileVersionInfo.cpp
index 95e39c8a5..8b5302ac0 100644
--- a/src/DSUtil/FileVersionInfo.cpp
+++ b/src/DSUtil/FileVersionInfo.cpp
@@ -77,7 +77,7 @@ QWORD FileVersionInfo::GetFileVersionNum(LPCTSTR filePath)
CString FileVersionInfo::FormatVersionString(DWORD dwVersionNumberLow, DWORD dwVersionNumberHigh)
{
CString strFileVersion;
- strFileVersion.Format(_T("%u.%u.%u.%u"),
+ strFileVersion.Format(_T("%lu.%lu.%lu.%lu"),
(dwVersionNumberHigh & 0xFFFF0000) >> 16,
(dwVersionNumberHigh & 0x0000FFFF),
(dwVersionNumberLow & 0xFFFF0000) >> 16,
diff --git a/src/DSUtil/HdmvClipInfo.cpp b/src/DSUtil/HdmvClipInfo.cpp
index c10d4f29b..0c387e3dc 100644
--- a/src/DSUtil/HdmvClipInfo.cpp
+++ b/src/DSUtil/HdmvClipInfo.cpp
@@ -21,8 +21,8 @@
#include "stdafx.h"
#include "HdmvClipInfo.h"
#include "DSUtil.h"
+#include "ISOLang.h"
-extern LCID ISO6392ToLcid(LPCSTR code);
CHdmvClipInfo::CHdmvClipInfo()
: SequenceInfo_start_address(0)
@@ -133,7 +133,7 @@ HRESULT CHdmvClipInfo::ReadProgramInfo()
ReadBuffer((BYTE*)m_Streams[iStream].m_LanguageCode, 3);
m_Streams[iStream].m_LanguageCode[3] = '\0';
- m_Streams[iStream].m_LCID = ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
+ m_Streams[iStream].m_LCID = ISOLang::ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
m_Streams[iStream].m_ChannelLayout = ChannelLayout;
m_Streams[iStream].m_SampleRate = SampleRate;
}
@@ -142,14 +142,14 @@ HRESULT CHdmvClipInfo::ReadProgramInfo()
case INTERACTIVE_GRAPHICS_STREAM: {
ReadBuffer((BYTE*)m_Streams[iStream].m_LanguageCode, 3);
m_Streams[iStream].m_LanguageCode[3] = '\0';
- m_Streams[iStream].m_LCID = ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
+ m_Streams[iStream].m_LCID = ISOLang::ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
}
break;
case SUBTITLE_STREAM: {
ReadByte(); // Should this really be here?
ReadBuffer((BYTE*)m_Streams[iStream].m_LanguageCode, 3);
m_Streams[iStream].m_LanguageCode[3] = '\0';
- m_Streams[iStream].m_LCID = ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
+ m_Streams[iStream].m_LCID = ISOLang::ISO6392ToLcid(m_Streams[iStream].m_LanguageCode);
}
break;
default:
diff --git a/src/DSUtil/HdmvClipInfo.h b/src/DSUtil/HdmvClipInfo.h
index 261c7c4b7..7d8f51738 100644
--- a/src/DSUtil/HdmvClipInfo.h
+++ b/src/DSUtil/HdmvClipInfo.h
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2013 see Authors.txt
+ * (C) 2008-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,7 @@
#pragma once
#include "Mpeg2Def.h"
+#include <atlcoll.h>
enum BDVM_VideoFormat {
BDVM_VideoFormat_Unknown = 0,
diff --git a/src/DSUtil/ISOLang.cpp b/src/DSUtil/ISOLang.cpp
new file mode 100644
index 000000000..46dc28442
--- /dev/null
+++ b/src/DSUtil/ISOLang.cpp
@@ -0,0 +1,762 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "ISOLang.h"
+#include "DSUtil.h"
+#include "text.h"
+
+namespace
+{
+ ISOLang s_isolangs[] = { // TODO : fill LCID !!!
+ // {"Auxiliary Language Association)", "", ""},
+ // {"English-based (Other)", "", ""},
+ // {"French-based (Other)", "", ""},
+ // {"Portuguese-based (Other)", "", ""},
+ { "Abkhazian", "abk", "ab" },
+ { "Achinese", "ace", "" },
+ { "Acoli", "ach", "" },
+ { "Adangme", "ada", "" },
+ { "Adyghe", "ady", "" },
+ { "Afar", "aar", "aa" },
+ { "Afrihili", "afh", "" },
+ { "Afrikaans", "afr", "af", MAKELCID(MAKELANGID(LANG_AFRIKAANS, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Afro-Asiatic (Other)", "afa", "" },
+ { "Akan", "aka", "ak" },
+ { "Akkadian", "akk", "" },
+ { "Albanian", "alb", "sq" },
+ { "Albanian", "sqi", "sq", MAKELCID(MAKELANGID(LANG_ALBANIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Aleut", "ale", "" },
+ { "Algonquian languages", "alg", "" },
+ { "Altaic (Other)", "tut", "" },
+ { "Amharic", "amh", "am" },
+ { "Apache languages", "apa", "" },
+ { "Arabic", "ara", "ar", MAKELCID(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Aragonese", "arg", "an" },
+ { "Aramaic", "arc", "" },
+ { "Arapaho", "arp", "" },
+ { "Araucanian", "arn", "" },
+ { "Arawak", "arw", "" },
+ { "Armenian", "arm", "hy", MAKELCID(MAKELANGID(LANG_ARMENIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Armenian", "hye", "hy", MAKELCID(MAKELANGID(LANG_ARMENIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Artificial (Other)", "art", "" },
+ { "Assamese", "asm", "as", MAKELCID(MAKELANGID(LANG_ASSAMESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Asturian; Bable", "ast", "at" },
+ { "Athapascan languages", "ath", "" },
+ { "Australian languages", "aus", "" },
+ { "Austronesian (Other)", "map", "" },
+ { "Avaric", "ava", "av" },
+ { "Avestan", "ave", "ae" },
+ { "Awadhi", "awa", "" },
+ { "Aymara", "aym", "ay" },
+ { "Azerbaijani", "aze", "az", MAKELCID(MAKELANGID(LANG_AZERI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Balinese", "ban", "" },
+ { "Baltic (Other)", "bat", "" },
+ { "Baluchi", "bal", "" },
+ { "Bambara", "bam", "bm" },
+ { "Bamileke languages", "bai", "" },
+ { "Banda", "bad", "" },
+ { "Bantu (Other)", "bnt", "" },
+ { "Basa", "bas", "" },
+ { "Bashkir", "bak", "ba", MAKELCID(MAKELANGID(LANG_BASHKIR, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Basque", "baq", "eu", MAKELCID(MAKELANGID(LANG_BASQUE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Basque", "eus", "eu", MAKELCID(MAKELANGID(LANG_BASQUE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Batak (Indonesia)", "btk", "" },
+ { "Beja", "bej", "" },
+ { "Belarusian", "bel", "be", MAKELCID(MAKELANGID(LANG_BELARUSIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Bemba", "bem", "" },
+ { "Bengali", "ben", "bn", MAKELCID(MAKELANGID(LANG_BENGALI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Berber (Other)", "ber", "" },
+ { "Bhojpuri", "bho", "" },
+ { "Bihari", "bih", "bh" },
+ { "Bikol", "bik", "" },
+ { "Bini", "bin", "" },
+ { "Bislama", "bis", "bi" },
+ { "Blin", "byn", "" },
+ { "Bokml, Norwegian; Norwegian Bokml", "nob", "nb" },
+ { "Bosnian", "bos", "bs" },
+ { "Braj", "bra", "" },
+ // unofficial codes for Brazilian Portuguese language
+ { "Portuguese (BR)", "pob", "pb", MAKELCID(MAKELANGID(LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN), SORT_DEFAULT) },
+ { "Breton", "bre", "br", MAKELCID(MAKELANGID(LANG_BRETON, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Buginese", "bug", "" },
+ { "Bulgarian", "bul", "bg", MAKELCID(MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Buriat", "bua", "" },
+ { "Burmese", "bur", "my" },
+ { "Burmese", "mya", "my" },
+ { "Caddo", "cad", "" },
+ { "Carib", "car", "" },
+ { "Catalan", "cat", "ca", MAKELCID(MAKELANGID(LANG_CATALAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Caucasian (Other)", "cau", "" },
+ { "Cebuano", "ceb", "" },
+ { "Celtic (Other)", "cel", "" },
+ { "Central American Indian (Other)", "cai", "" },
+ { "Chagatai", "chg", "" },
+ { "Chamic languages", "cmc", "" },
+ { "Chamorro", "cha", "ch" },
+ { "Chechen", "che", "ce" },
+ { "Cherokee", "chr", "" },
+ { "Chewa; Chichewa; Nyanja", "nya", "ny" },
+ { "Cheyenne", "chy", "" },
+ { "Chibcha", "chb", "" },
+ { "Chichewa; Chewa; Nyanja", "nya", "ny" },
+ { "Chinese (traditional)", "zht", "zt" },
+ { "Chinese bilingual", "zhe", "ze" },
+ { "Chinese (simplified)", "chi", "zh", MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Chinese", "zho", "zh" },
+ { "Chinook jargon", "chn", "" },
+ { "Chipewyan", "chp", "" },
+ { "Choctaw", "cho", "" },
+ { "Chuang; Zhuang", "zha", "za" },
+ { "Church Slavic; Old Church Slavonic", "chu", "cu" },
+ { "Church Slavic; Old Church Slavonic", "chu", "cu" },
+ { "Church Slavonic; Old Bulgarian; Church Slavic;", "chu", "cu" },
+ { "Chuukese", "chk", "" },
+ { "Chuvash", "chv", "cv" },
+ { "Classical Newari", "nwc", "" },
+ { "Coptic", "cop", "" },
+ { "Cornish", "cor", "kw" },
+ { "Corsican", "cos", "co", MAKELCID(MAKELANGID(LANG_CORSICAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Cree", "cre", "cr" },
+ { "Creek", "mus", "" },
+ { "Creoles and pidgins (Other)", "crp", "" },
+ { "Creoles and pidgins,", "cpe", "" },
+ { "Creoles and pidgins,", "cpf", "" },
+ { "Creoles and pidgins,", "cpp", "" },
+ { "Crimean Turkish", "crh", "" },
+ { "Croatian", "hrv", "hr", MAKELCID(MAKELANGID(LANG_CROATIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Croatian", "scr", "hr", MAKELCID(MAKELANGID(LANG_CROATIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Cushitic (Other)", "cus", "" },
+ { "Czech", "cze", "cs", MAKELCID(MAKELANGID(LANG_CZECH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Czech", "ces", "cs", MAKELCID(MAKELANGID(LANG_CZECH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Dakota", "dak", "" },
+ { "Danish", "dan", "da", MAKELCID(MAKELANGID(LANG_DANISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Dargwa", "dar", "" },
+ { "Dayak", "day", "" },
+ { "Delaware", "del", "" },
+ { "Dinka", "din", "" },
+ { "Divehi", "div", "dv", MAKELCID(MAKELANGID(LANG_DIVEHI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Dogri", "doi", "" },
+ { "Dogrib", "dgr", "" },
+ { "Dravidian (Other)", "dra", "" },
+ { "Duala", "dua", "" },
+ { "Dutch, Middle (ca. 1050-1350)", "dum", "" },
+ { "Dutch; Flemish", "dut", "nl", MAKELCID(MAKELANGID(LANG_DUTCH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Dutch; Flemish", "nld", "nl", MAKELCID(MAKELANGID(LANG_DUTCH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Dyula", "dyu", "" },
+ { "Dzongkha", "dzo", "dz" },
+ { "Efik", "efi", "" },
+ { "Egyptian (Ancient)", "egy", "" },
+ { "Ekajuk", "eka", "" },
+ { "Elamite", "elx", "" },
+ { "English", "eng", "en", MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "English, Middle (1100-1500)", "enm", "" },
+ { "English, Old (ca.450-1100)", "ang", "" },
+ { "Erzya", "myv", "" },
+ { "Extremaduran", "ext", "ex" },
+ { "Esperanto", "epo", "eo" },
+ { "Estonian", "est", "et", MAKELCID(MAKELANGID(LANG_ESTONIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ewe", "ewe", "ee" },
+ { "Ewondo", "ewo", "" },
+ { "Fang", "fan", "" },
+ { "Fanti", "fat", "" },
+ { "Faroese", "fao", "fo", MAKELCID(MAKELANGID(LANG_FAEROESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Fijian", "fij", "fj" },
+ { "Finnish", "fin", "fi", MAKELCID(MAKELANGID(LANG_FINNISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Finno-Ugrian (Other)", "fiu", "" },
+ { "Flemish; Dutch", "dut", "nl" },
+ { "Flemish; Dutch", "nld", "nl" },
+ { "Fon", "fon", "" },
+ { "French", "fre", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "French", "fra*", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "French", "fra", "fr", MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "French, Middle (ca.1400-1600)", "frm", "" },
+ { "French, Old (842-ca.1400)", "fro", "" },
+ { "Frisian", "fry", "fy", MAKELCID(MAKELANGID(LANG_FRISIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Friulian", "fur", "" },
+ { "Fulah", "ful", "ff" },
+ { "Ga", "gaa", "" },
+ { "Gaelic; Scottish Gaelic", "gla", "gd", MAKELCID(MAKELANGID(LANG_GALICIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Galician", "glg", "gl" },
+ { "Ganda", "lug", "lg" },
+ { "Gayo", "gay", "" },
+ { "Gbaya", "gba", "" },
+ { "Geez", "gez", "" },
+ { "Georgian", "geo", "ka", MAKELCID(MAKELANGID(LANG_GEORGIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Georgian", "kat", "ka", MAKELCID(MAKELANGID(LANG_GEORGIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "German", "ger", "de", MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "German", "deu", "de", MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "German, Low; Saxon, Low; Low German; Low Saxon", "nds", "" },
+ { "German, Middle High (ca.1050-1500)", "gmh", "" },
+ { "German, Old High (ca.750-1050)", "goh", "" },
+ { "Germanic (Other)", "gem", "" },
+ { "Gikuyu; Kikuyu", "kik", "ki" },
+ { "Gilbertese", "gil", "" },
+ { "Gondi", "gon", "" },
+ { "Gorontalo", "gor", "" },
+ { "Gothic", "got", "" },
+ { "Grebo", "grb", "" },
+ { "Greek", "ell", "el", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Greek", "gre", "el", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Greek, Ancient (to 1453)", "grc", "", MAKELCID(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Greenlandic; Kalaallisut", "kal", "kl", MAKELCID(MAKELANGID(LANG_GREENLANDIC, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Guarani", "grn", "gn" },
+ { "Gujarati", "guj", "gu", MAKELCID(MAKELANGID(LANG_GUJARATI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Gwichin", "gwi", "" },
+ { "Haida", "hai", "" },
+ { "Haitian", "hat", "ht" },
+ { "Hausa", "hau", "ha", MAKELCID(MAKELANGID(LANG_HAUSA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Hawaiian", "haw", "" },
+ { "Hebrew", "heb", "he", MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Herero", "her", "hz" },
+ { "Hiligaynon", "hil", "" },
+ { "Himachali", "him", "" },
+ { "Hindi", "hin", "hi", MAKELCID(MAKELANGID(LANG_HINDI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Hiri Motu", "hmo", "ho" },
+ { "Hittite", "hit", "" },
+ { "Hmong", "hmn", "" },
+ { "Hungarian", "hun", "hu", MAKELCID(MAKELANGID(LANG_HUNGARIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Hupa", "hup", "" },
+ { "Iban", "iba", "" },
+ { "Icelandic", "ice", "is", MAKELCID(MAKELANGID(LANG_ICELANDIC, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Icelandic", "isl", "is", MAKELCID(MAKELANGID(LANG_ICELANDIC, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ido", "ido", "io" },
+ { "Igbo", "ibo", "ig", MAKELCID(MAKELANGID(LANG_IGBO, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ijo", "ijo", "" },
+ { "Iloko", "ilo", "" },
+ { "Inari Sami", "smn", "" },
+ { "Indic (Other)", "inc", "" },
+ { "Indo-European (Other)", "ine", "" },
+ { "Indonesian", "ind", "id", MAKELCID(MAKELANGID(LANG_INDONESIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ingush", "inh", "" },
+ { "Interlingua (International", "ina", "ia" },
+ { "Interlingue", "ile", "ie" },
+ { "Inuktitut", "iku", "iu", MAKELCID(MAKELANGID(LANG_INUKTITUT, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Inupiaq", "ipk", "ik" },
+ { "Iranian (Other)", "ira", "" },
+ { "Irish", "gle", "ga", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Irish, Middle (900-1200)", "mga", "", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Irish, Old (to 900)", "sga", "", MAKELCID(MAKELANGID(LANG_IRISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Iroquoian languages", "iro", "" },
+ { "Italian", "ita", "it", MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Japanese", "jpn", "ja", MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Javanese", "jav", "jv" },
+ { "Judeo-Arabic", "jrb", "" },
+ { "Judeo-Persian", "jpr", "" },
+ { "Kabardian", "kbd", "" },
+ { "Kabyle", "kab", "" },
+ { "Kachin", "kac", "" },
+ { "Kalaallisut; Greenlandic", "kal", "kl" },
+ { "Kalmyk", "xal", "" },
+ { "Kamba", "kam", "" },
+ { "Kannada", "kan", "kn", MAKELCID(MAKELANGID(LANG_KANNADA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Kanuri", "kau", "kr" },
+ { "Kara-Kalpak", "kaa", "" },
+ { "Karachay-Balkar", "krc", "" },
+ { "Karen", "kar", "" },
+ { "Kashmiri", "kas", "ks", MAKELCID(MAKELANGID(LANG_KASHMIRI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Kashubian", "csb", "" },
+ { "Kawi", "kaw", "" },
+ { "Kazakh", "kaz", "kk", MAKELCID(MAKELANGID(LANG_KAZAK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Khasi", "kha", "" },
+ { "Khmer", "khm", "km", MAKELCID(MAKELANGID(LANG_KHMER, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Khoisan (Other)", "khi", "" },
+ { "Khotanese", "kho", "" },
+ { "Kikuyu; Gikuyu", "kik", "ki" },
+ { "Kimbundu", "kmb", "" },
+ { "Kinyarwanda", "kin", "rw", MAKELCID(MAKELANGID(LANG_KINYARWANDA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Kirghiz", "kir", "ky" },
+ { "Klingon", "tlh", "" },
+ { "Komi", "kom", "kv" },
+ { "Kongo", "kon", "kg" },
+ { "Konkani", "kok", "", MAKELCID(MAKELANGID(LANG_KONKANI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Korean", "kor", "ko", MAKELCID(MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Kosraean", "kos", "" },
+ { "Kpelle", "kpe", "" },
+ { "Kru", "kro", "" },
+ { "Kuanyama; Kwanyama", "kua", "kj" },
+ { "Kumyk", "kum", "" },
+ { "Kurdish", "kur", "ku" },
+ { "Kurukh", "kru", "" },
+ { "Kutenai", "kut", "" },
+ { "Kwanyama, Kuanyama", "kua", "kj" },
+ { "Ladino", "lad", "" },
+ { "Lahnda", "lah", "" },
+ { "Lamba", "lam", "" },
+ { "Lao", "lao", "lo", MAKELCID(MAKELANGID(LANG_LAO, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Latin", "lat", "la" },
+ { "Latvian", "lav", "lv", MAKELCID(MAKELANGID(LANG_LATVIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Lezghian", "lez", "" },
+ { "Limburgan; Limburger; Limburgish", "lim", "li" },
+ { "Limburger; Limburgan; Limburgish;", "lim", "li" },
+ { "Limburgish; Limburger; Limburgan", "lim", "li" },
+ { "Lingala", "lin", "ln" },
+ { "Lithuanian", "lit", "lt", MAKELCID(MAKELANGID(LANG_LITHUANIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Lojban", "jbo", "" },
+ { "Low German; Low Saxon; German, Low; Saxon, Low", "nds", "" },
+ { "Low Saxon; Low German; Saxon, Low; German, Low", "nds", "" },
+ { "Lower Sorbian", "dsb", "" },
+ { "Lozi", "loz", "" },
+ { "Luba-Katanga", "lub", "lu" },
+ { "Luba-Lulua", "lua", "" },
+ { "Luiseno", "lui", "" },
+ { "Lule Sami", "smj", "" },
+ { "Lunda", "lun", "" },
+ { "Luo (Kenya and Tanzania)", "luo", "" },
+ { "Lushai", "lus", "" },
+ { "Luxembourgish", "ltz", "lb", MAKELCID(MAKELANGID(LANG_LUXEMBOURGISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Macedonian", "mac", "mk", MAKELCID(MAKELANGID(LANG_MACEDONIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Macedonian", "mkd", "mk", MAKELCID(MAKELANGID(LANG_MACEDONIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Madurese", "mad", "" },
+ { "Magahi", "mag", "" },
+ { "Maithili", "mai", "" },
+ { "Makasar", "mak", "" },
+ { "Malagasy", "mlg", "mg" },
+ { "Malay", "may", "ms", MAKELCID(MAKELANGID(LANG_MALAY, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Malay", "msa", "ms", MAKELCID(MAKELANGID(LANG_MALAY, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Malayalam", "mal", "ml", MAKELCID(MAKELANGID(LANG_MALAYALAM, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Maltese", "mlt", "mt", MAKELCID(MAKELANGID(LANG_MALTESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Manchu", "mnc", "" },
+ { "Mandar", "mdr", "" },
+ { "Mandingo", "man", "" },
+ { "Manipuri", "mni", "ma", MAKELCID(MAKELANGID(LANG_MANIPURI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Manobo languages", "mno", "" },
+ { "Manx", "glv", "gv" },
+ { "Maori", "mao", "mi", MAKELCID(MAKELANGID(LANG_MAORI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Maori", "mri", "mi", MAKELCID(MAKELANGID(LANG_MAORI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Marathi", "mar", "mr", MAKELCID(MAKELANGID(LANG_MARATHI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Mari", "chm", "" },
+ { "Marshallese", "mah", "mh" },
+ { "Marwari", "mwr", "" },
+ { "Masai", "mas", "" },
+ { "Mayan languages", "myn", "" },
+ { "Mende", "men", "" },
+ { "Micmac", "mic", "" },
+ { "Minangkabau", "min", "" },
+ { "Miscellaneous languages", "mis", "" },
+ { "Mohawk", "moh", "", MAKELCID(MAKELANGID(LANG_MOHAWK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Moksha", "mdf", "" },
+ { "Moldavian", "mol", "mo" },
+ { "Mon-Khmer (Other)", "mkh", "" },
+ { "Mongo", "lol", "" },
+ { "Mongolian", "mon", "mn", MAKELCID(MAKELANGID(LANG_MONGOLIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Montenegrin", "mne", "me" },
+ { "Mossi", "mos", "" },
+ { "Multiple languages", "mul", "" },
+ { "Munda languages", "mun", "" },
+ { "Nahuatl", "nah", "" },
+ { "Nauru", "nau", "na" },
+ { "Navaho, Navajo", "nav", "nv" },
+ { "Navajo; Navaho", "nav", "nv" },
+ { "Ndebele, North", "nde", "nd" },
+ { "Ndebele, South", "nbl", "nr" },
+ { "Ndonga", "ndo", "ng" },
+ { "Neapolitan", "nap", "" },
+ { "Nepali", "nep", "ne", MAKELCID(MAKELANGID(LANG_NEPALI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Newari", "new", "" },
+ { "Nias", "nia", "" },
+ { "Niger-Kordofanian (Other)", "nic", "" },
+ { "Nilo-Saharan (Other)", "ssa", "" },
+ { "Niuean", "niu", "" },
+ { "Nogai", "nog", "" },
+ { "Norse, Old", "non", "" },
+ { "North American Indian (Other)", "nai", "" },
+ { "North Ndebele", "nde", "nd" },
+ { "Northern Sami", "sme", "se" },
+ { "Norwegian Bokml; Bokml, Norwegian", "nob", "nb", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Norwegian Nynorsk; Nynorsk, Norwegian", "nno", "nn", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Norwegian", "nor", "no", MAKELCID(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Nubian languages", "nub", "" },
+ { "Nyamwezi", "nym", "" },
+ { "Nyanja; Chichewa; Chewa", "nya", "ny" },
+ { "Nyankole", "nyn", "" },
+ { "Nynorsk, Norwegian; Norwegian Nynorsk", "nno", "nn" },
+ { "Nyoro", "nyo", "" },
+ { "Nzima", "nzi", "" },
+ { "Occitan (post 1500},; Provenal", "oci", "oc", MAKELCID(MAKELANGID(LANG_OCCITAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ojibwa", "oji", "oj" },
+ { "Old Bulgarian; Old Slavonic; Church Slavonic;", "chu", "cu" },
+ { "Old Church Slavonic; Old Slavonic; ", "chu", "cu" },
+ { "Old Slavonic; Church Slavonic; Old Bulgarian;", "chu", "cu" },
+ { "Oriya", "ori", "or" },
+ { "Oromo", "orm", "om" },
+ { "Osage", "osa", "" },
+ { "Ossetian; Ossetic", "oss", "os" },
+ { "Ossetic; Ossetian", "oss", "os" },
+ { "Otomian languages", "oto", "" },
+ { "Pahlavi", "pal", "" },
+ { "Palauan", "pau", "" },
+ { "Pali", "pli", "pi" },
+ { "Pampanga", "pam", "" },
+ { "Pangasinan", "pag", "" },
+ { "Panjabi", "pan", "pa" },
+ { "Papiamento", "pap", "" },
+ { "Papuan (Other)", "paa", "" },
+ { "Persian", "per", "fa", MAKELCID(MAKELANGID(LANG_PERSIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Persian", "fas", "fa", MAKELCID(MAKELANGID(LANG_PERSIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Persian, Old (ca.600-400 B.C.)", "peo", "" },
+ { "Philippine (Other)", "phi", "" },
+ { "Phoenician", "phn", "" },
+ { "Pohnpeian", "pon", "" },
+ { "Polish", "pol", "pl", MAKELCID(MAKELANGID(LANG_POLISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Portuguese", "por", "pt", MAKELCID(MAKELANGID(LANG_PORTUGUESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Mozambican Portuguese", "pom", "pm" }, // Custom codes compatible with OpenSubtitles database
+ { "Prakrit languages", "pra", "" },
+ { "Provenal, Old (to 1500)", "pro", "" },
+ { "Provenal; Occitan (post 1500)", "oci", "oc" },
+ { "Pushto", "pus", "ps" },
+ { "Quechua", "que", "qu", MAKELCID(MAKELANGID(LANG_QUECHUA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Raeto-Romance", "roh", "rm" },
+ { "Rajasthani", "raj", "" },
+ { "Rapanui", "rap", "" },
+ { "Rarotongan", "rar", "" },
+ { "Reserved for local use", "qaa-qtz", "" },
+ { "Romance (Other)", "roa", "" },
+ { "Romanian", "rum", "ro", MAKELCID(MAKELANGID(LANG_ROMANIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Romanian", "ron", "ro", MAKELCID(MAKELANGID(LANG_ROMANIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Romany", "rom", "" },
+ { "Rundi", "run", "rn" },
+ { "Russian", "rus", "ru", MAKELCID(MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Salishan languages", "sal", "" },
+ { "Samaritan Aramaic", "sam", "" },
+ { "Sami languages (Other)", "smi", "" },
+ { "Samoan", "smo", "sm" },
+ { "Sandawe", "sad", "" },
+ { "Sango", "sag", "sg" },
+ { "Sanskrit", "san", "sa", MAKELCID(MAKELANGID(LANG_SANSKRIT, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Santali", "sat", "" },
+ { "Sardinian", "srd", "sc" },
+ { "Sasak", "sas", "" },
+ { "Saxon, Low; German, Low; Low Saxon; Low German", "nds", "" },
+ { "Scots", "sco", "" },
+ { "Scottish Gaelic; Gaelic", "gla", "gd" },
+ { "Selkup", "sel", "" },
+ { "Semitic (Other)", "sem", "" },
+ { "Serbian", "scc", "sr", MAKELCID(LANG_SERBIAN_NEUTRAL, SORT_DEFAULT) },
+ { "Serbian", "srp", "sr", MAKELCID(LANG_SERBIAN_NEUTRAL, SORT_DEFAULT) },
+ { "Serer", "srr", "" },
+ { "Shan", "shn", "" },
+ { "Shona", "sna", "sn" },
+ { "Sichuan Yi", "iii", "ii" },
+ { "Sidamo", "sid", "" },
+ { "Sign languages", "sgn", "" },
+ { "Siksika", "bla", "" },
+ { "Sindhi", "snd", "sd", MAKELCID(MAKELANGID(LANG_SINDHI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Sinhalese", "sin", "si", MAKELCID(MAKELANGID(LANG_SINHALESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Sino-Tibetan (Other)", "sit", "" },
+ { "Siouan languages", "sio", "" },
+ { "Skolt Sami", "sms", "" },
+ { "Slave (Athapascan)", "den", "" },
+ { "Slavic (Other)", "sla", "" },
+ { "Slovak", "slo", "sk", MAKELCID(MAKELANGID(LANG_SLOVAK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Slovak", "slk", "sk", MAKELCID(MAKELANGID(LANG_SLOVAK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Slovenian", "slv", "sl", MAKELCID(MAKELANGID(LANG_SLOVENIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Sogdian", "sog", "" },
+ { "Somali", "som", "so" },
+ { "Songhai", "son", "" },
+ { "Soninke", "snk", "" },
+ { "Sorbian languages", "wen", "" },
+ { "Sotho, Northern", "nso", "", MAKELCID(MAKELANGID(LANG_SOTHO, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Sotho, Southern", "sot", "st", MAKELCID(MAKELANGID(LANG_SOTHO, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "South American Indian (Other)", "sai", "" },
+ { "South Ndebele", "nbl", "nr" },
+ { "Southern Sami", "sma", "" },
+ { "Spanish; Castilian", "spa", "es", MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Sukuma", "suk", "" },
+ { "Sumerian", "sux", "" },
+ { "Sundanese", "sun", "su" },
+ { "Susu", "sus", "" },
+ { "Swahili", "swa", "sw", MAKELCID(MAKELANGID(LANG_SWAHILI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Swati", "ssw", "ss" },
+ { "Swedish", "swe", "sv", MAKELCID(MAKELANGID(LANG_SWEDISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Syriac", "syr", "sy", MAKELCID(MAKELANGID(LANG_SYRIAC, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tagalog", "tgl", "tl" },
+ { "Tahitian", "tah", "ty" },
+ { "Tai (Other)", "tai", "" },
+ { "Tajik", "tgk", "tg", MAKELCID(MAKELANGID(LANG_TAJIK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tamashek", "tmh", "" },
+ { "Tamil", "tam", "ta", MAKELCID(MAKELANGID(LANG_TAMIL, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tatar", "tat", "tt", MAKELCID(MAKELANGID(LANG_TATAR, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Telugu", "tel", "te", MAKELCID(MAKELANGID(LANG_TELUGU, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tereno", "ter", "" },
+ { "Tetum", "tet", "" },
+ { "Thai", "tha", "th", MAKELCID(MAKELANGID(LANG_THAI, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tibetan", "tib", "bo", MAKELCID(MAKELANGID(LANG_TIBETAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tibetan", "bod", "bo", MAKELCID(MAKELANGID(LANG_TIBETAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tigre", "tig", "" },
+ { "Tigrinya", "tir", "ti", MAKELCID(MAKELANGID(LANG_TIGRIGNA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Timne", "tem", "" },
+ { "Tiv", "tiv", "" },
+ { "Tlingit", "tli", "" },
+ { "Tok Pisin", "tpi", "" },
+ { "Tokelau", "tkl", "" },
+ { "Tonga (Nyasa)", "tog", "" },
+ { "Tonga (Tonga Islands)", "ton", "to" },
+ { "Tsimshian", "tsi", "" },
+ { "Tsonga", "tso", "ts" },
+ { "Tswana", "tsn", "tn", MAKELCID(MAKELANGID(LANG_TSWANA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tumbuka", "tum", "" },
+ { "Tupi languages", "tup", "" },
+ { "Turkish", "tur", "tr", MAKELCID(MAKELANGID(LANG_TURKISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Turkish, Ottoman (1500-1928)", "ota", "", MAKELCID(MAKELANGID(LANG_TURKISH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Turkmen", "tuk", "tk", MAKELCID(MAKELANGID(LANG_TURKMEN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Tuvalu", "tvl", "" },
+ { "Tuvinian", "tyv", "" },
+ { "Twi", "twi", "tw" },
+ { "Udmurt", "udm", "" },
+ { "Ugaritic", "uga", "" },
+ { "Uighur", "uig", "ug", MAKELCID(MAKELANGID(LANG_UIGHUR, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Ukrainian", "ukr", "uk", MAKELCID(MAKELANGID(LANG_UKRAINIAN, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Umbundu", "umb", "" },
+ { "Undetermined", "und", "" },
+ { "Upper Sorbian", "hsb", "" },
+ { "Urdu", "urd", "ur", MAKELCID(MAKELANGID(LANG_URDU, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Uzbek", "uzb", "uz", MAKELCID(MAKELANGID(LANG_UZBEK, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Vai", "vai", "" },
+ { "Venda", "ven", "ve" },
+ { "Vietnamese", "vie", "vi", MAKELCID(MAKELANGID(LANG_VIETNAMESE, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Volapuk", "vol", "vo" },
+ { "Votic", "vot", "" },
+ { "Wakashan languages", "wak", "" },
+ { "Walamo", "wal", "" },
+ { "Walloon", "wln", "wa" },
+ { "Waray", "war", "" },
+ { "Washo", "was", "" },
+ { "Welsh", "wel", "cy", MAKELCID(MAKELANGID(LANG_WELSH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Welsh", "cym", "cy", MAKELCID(MAKELANGID(LANG_WELSH, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Wolof", "wol", "wo", MAKELCID(MAKELANGID(LANG_WOLOF, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Xhosa", "xho", "xh", MAKELCID(MAKELANGID(LANG_XHOSA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Yakut", "sah", "", MAKELCID(MAKELANGID(LANG_YAKUT, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Yao", "yao", "" },
+ { "Yapese", "yap", "" },
+ { "Yiddish", "yid", "yi" },
+ { "Yoruba", "yor", "yo", MAKELCID(MAKELANGID(LANG_YORUBA, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Yupik languages", "ypk", "" },
+ { "Zande", "znd", "" },
+ { "Zapotec", "zap", "" },
+ { "Zenaga", "zen", "" },
+ { "Zhuang; Chuang", "zha", "za" },
+ { "Zulu", "zul", "zu", MAKELCID(MAKELANGID(LANG_ZULU, SUBLANG_DEFAULT), SORT_DEFAULT) },
+ { "Zuni", "zun", "" },
+ { "", "", "" },
+ { "No subtitles", "---", "", (LCID)LCID_NOSUBTITLES },
+ };
+};
+
+CString ISOLang::ISO6391ToLanguage(LPCSTR code)
+{
+ CHAR tmp[2 + 1];
+ strncpy_s(tmp, code, 2);
+ tmp[2] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6391, tmp)) {
+ CString ret = CString(CStringA(s_isolangs[i].name));
+ int k = ret.Find(';');
+ if (k > 0) {
+ ret = ret.Left(k);
+ }
+ return ret;
+ }
+ }
+ return _T("");
+}
+
+CString ISOLang::ISO6392ToLanguage(LPCSTR code)
+{
+ CHAR tmp[3 + 1];
+ strncpy_s(tmp, code, 3);
+ tmp[3] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6392, tmp)) {
+ CString ret = CString(CStringA(s_isolangs[i].name));
+ int k = ret.Find(';');
+ if (k > 0) {
+ ret = ret.Left(k);
+ }
+ return ret;
+ }
+ }
+ return CString(code);
+}
+
+bool ISOLang::IsISO639Language(LPCSTR code)
+{
+ size_t nLen = strlen(code) + 1;
+ LPSTR tmp = DEBUG_NEW CHAR[nLen];
+ strncpy_s(tmp, nLen, code, nLen);
+ _strlwr_s(tmp, nLen);
+ tmp[0] = (CHAR)toupper(tmp[0]);
+
+ bool bFound = false;
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].name, tmp)) {
+ bFound = true;
+ break;
+ }
+ }
+
+ delete[] tmp;
+
+ return bFound;
+}
+
+CString ISOLang::ISO639XToLanguage(LPCSTR code, bool bCheckForFullLangName /*= false*/)
+{
+ CString lang;
+
+ switch (size_t nLen = strlen(code)) {
+ case 2:
+ lang = ISO6391ToLanguage(code);
+ break;
+ case 3:
+ lang = ISO6392ToLanguage(code);
+ if (lang == code) { // When it can't find a match, ISO6392ToLanguage returns the input string
+ lang.Empty();
+ }
+ break;
+ default:
+ if (bCheckForFullLangName && nLen > 3) {
+ if (IsISO639Language(code)) {
+ lang = code;
+ }
+ }
+ }
+
+ return lang;
+}
+
+LCID ISOLang::ISO6391ToLcid(LPCSTR code)
+{
+ CHAR tmp[2 + 1];
+ strncpy_s(tmp, code, 2);
+ tmp[2] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6391, tmp)) {
+ return s_isolangs[i].lcid;
+ }
+ }
+ return 0;
+}
+
+LCID ISOLang::ISO6392ToLcid(LPCSTR code)
+{
+ CHAR tmp[3 + 1];
+ strncpy_s(tmp, code, 3);
+ tmp[3] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6392, tmp)) {
+ return s_isolangs[i].lcid;
+ }
+ }
+ return 0;
+}
+
+CStringA ISOLang::ISO6391To6392(LPCSTR code)
+{
+ CHAR tmp[2 + 1];
+ strncpy_s(tmp, code, 2);
+ tmp[2] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6391, tmp)) {
+ return CStringA(s_isolangs[i].iso6392);
+ }
+ }
+ return "";
+}
+
+CString ISOLang::ISO6392To6391(LPCSTR code)
+{
+ CHAR tmp[3 + 1];
+ strncpy_s(tmp, code, 3);
+ tmp[3] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6392, tmp)) {
+ return CString(s_isolangs[i].iso6391);
+ }
+ }
+ return _T("");
+}
+
+CString ISOLang::LanguageToISO6392(LPCTSTR lang)
+{
+ CString str = lang;
+ str.MakeLower();
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ CAtlList<CString> sl;
+ Explode(CString(s_isolangs[i].name), sl, _T(';'));
+ POSITION pos = sl.GetHeadPosition();
+ while (pos) {
+ if (!str.CompareNoCase(sl.GetNext(pos))) {
+ return CString(s_isolangs[i].iso6392);
+ }
+ }
+ }
+ return _T("");
+}
+
+ISOLang ISOLang::ISO6391ToISOLang(LPCSTR code)
+{
+ CHAR tmp[2 + 1];
+ strncpy_s(tmp, code, 2);
+ tmp[2] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6391, tmp)) {
+ return s_isolangs[i];
+ }
+ }
+ return ISOLang();
+}
+
+ISOLang ISOLang::ISO6392ToISOLang(LPCSTR code)
+{
+ CHAR tmp[3 + 1];
+ strncpy_s(tmp, code, 3);
+ tmp[3] = 0;
+ _strlwr_s(tmp);
+ for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
+ if (!strcmp(s_isolangs[i].iso6392, tmp)) {
+ return s_isolangs[i];
+ }
+ }
+ return ISOLang();
+}
+
+ISOLang ISOLang::ISO639XToISOLang(LPCSTR code)
+{
+ ISOLang lang;
+
+ switch (strlen(code)) {
+ case 2:
+ lang = ISO6391ToISOLang(code);
+ break;
+ case 3:
+ lang = ISO6392ToISOLang(code);
+ break;
+ }
+
+ return lang;
+}
diff --git a/src/DSUtil/ISOLang.h b/src/DSUtil/ISOLang.h
new file mode 100644
index 000000000..5fb3fd2f2
--- /dev/null
+++ b/src/DSUtil/ISOLang.h
@@ -0,0 +1,65 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include <afxstr.h>
+
+template<typename StringType>
+struct ISOLangT {
+ StringType name, iso6392, iso6391;
+ LCID lcid;
+
+ ISOLangT(StringType name = nullptr, StringType iso6392 = nullptr, StringType iso6391 = nullptr, LCID lcid = 0)
+ : name(name), iso6392(iso6392), iso6391(iso6391), lcid(lcid)
+ {};
+
+ template<typename StringType2>
+ ISOLangT(const ISOLangT<StringType2>& isoLang)
+ : name(isoLang.name), iso6392(isoLang.iso6392), iso6391(isoLang.iso6391), lcid(isoLang.lcid)
+ {};
+
+ template<typename StringType2>
+ ISOLangT& operator=(const ISOLangT<StringType2>& isoLang) {
+ name = isoLang.name;
+ iso6392 = isoLang.iso6392;
+ iso6391 = isoLang.iso6391;
+ lcid = isoLang.lcid;
+
+ return *this;
+ };
+};
+
+struct ISOLang : public ISOLangT<LPCSTR> {
+ using ISOLangT::ISOLangT;
+
+ static CString ISO6391ToLanguage(LPCSTR code);
+ static CString ISO6392ToLanguage(LPCSTR code);
+ static bool IsISO639Language(LPCSTR code);
+ static CString ISO639XToLanguage(LPCSTR code, bool bCheckForFullLangName = false);
+ static LCID ISO6391ToLcid(LPCSTR code);
+ static LCID ISO6392ToLcid(LPCSTR code);
+ static CStringA ISO6391To6392(LPCSTR code);
+ static CString ISO6392To6391(LPCSTR code);
+ static CString LanguageToISO6392(LPCTSTR lang);
+ static ISOLang ISO6391ToISOLang(LPCSTR code);
+ static ISOLang ISO6392ToISOLang(LPCSTR code);
+ static ISOLang ISO639XToISOLang(LPCSTR code);
+};
diff --git a/src/DSUtil/MediaTypeEx.cpp b/src/DSUtil/MediaTypeEx.cpp
index 36fd7df39..53d864f42 100644
--- a/src/DSUtil/MediaTypeEx.cpp
+++ b/src/DSUtil/MediaTypeEx.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,7 +25,6 @@
#include "MediaTypeEx.h"
#include <MMReg.h>
-#include <InitGuid.h>
#include "moreuuids.h"
#pragma pack(push, 1)
@@ -469,11 +468,11 @@ void CMediaTypeEx::Dump(CAtlList<CString>& sl)
sl.AddTail(ToString() + _T("\n"));
sl.AddTail(_T("AM_MEDIA_TYPE: "));
- str.Format(_T("majortype: %s %s"), CString(GuidNames[majortype]), major);
+ str.Format(_T("majortype: %S %s"), GuidNames[majortype], major);
sl.AddTail(str);
- str.Format(_T("subtype: %s %s"), CString(GuidNames[subtype]), sub);
+ str.Format(_T("subtype: %S %s"), GuidNames[subtype], sub);
sl.AddTail(str);
- str.Format(_T("formattype: %s %s"), CString(GuidNames[formattype]), format);
+ str.Format(_T("formattype: %S %s"), GuidNames[formattype], format);
sl.AddTail(str);
str.Format(_T("bFixedSizeSamples: %d"), bFixedSizeSamples);
sl.AddTail(str);
@@ -734,12 +733,12 @@ void CMediaTypeEx::Dump(CAtlList<CString>& sl)
str += _T(" ");
}
- str += ' ';
+ str += _T(' ');
for (ptrdiff_t k = i, l = std::min(i + 16, (ptrdiff_t)cbFormat); k < l; k++) {
unsigned char c = (unsigned char)pbFormat[k];
- CStringA ch;
- ch.Format("%c", c >= 0x20 ? c : '.');
+ CString ch;
+ ch.Format(_T("%C"), c >= 0x20 ? c : '.');
str += ch;
}
diff --git a/src/DSUtil/MediaTypeEx.h b/src/DSUtil/MediaTypeEx.h
index e94b58a39..63ec7e0c1 100644
--- a/src/DSUtil/MediaTypeEx.h
+++ b/src/DSUtil/MediaTypeEx.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,8 @@
#pragma once
+#include <atlcoll.h>
+
class CMediaTypeEx : public CMediaType
{
public:
diff --git a/src/DSUtil/MediaTypes.cpp b/src/DSUtil/MediaTypes.cpp
index 9c751c86a..d3a6d63b7 100644
--- a/src/DSUtil/MediaTypes.cpp
+++ b/src/DSUtil/MediaTypes.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2012, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,6 @@
*/
#include "stdafx.h"
-#include <InitGuid.h>
#include "moreuuids.h"
#include "MediaTypes.h"
#include "DSUtil.h"
@@ -401,7 +400,7 @@ UINT VIHSIZE = _countof(vihs);
CString VIH2String(int i)
{
- CString ret = CString(GuidNames[*vihs[i].subtype]);
+ CString ret(GuidNames[*vihs[i].subtype]);
if (!ret.Left(13).CompareNoCase(_T("MEDIASUBTYPE_"))) {
ret = ret.Mid(13);
}
@@ -416,7 +415,7 @@ CString VIH2String(int i)
CString Subtype2String(const GUID& subtype)
{
- CString ret = CString(GuidNames[subtype]);
+ CString ret(GuidNames[subtype]);
if (!ret.Left(13).CompareNoCase(_T("MEDIASUBTYPE_"))) {
ret = ret.Mid(13);
}
diff --git a/src/DSUtil/NullRenderers.cpp b/src/DSUtil/NullRenderers.cpp
index c8619a42e..a745c2d0f 100644
--- a/src/DSUtil/NullRenderers.cpp
+++ b/src/DSUtil/NullRenderers.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -86,25 +86,55 @@ public:
// IMFVideoDisplayControl
- STDMETHODIMP GetNativeVideoSize(SIZE* pszVideo, SIZE* pszARVideo) { return E_NOTIMPL; };
- STDMETHODIMP GetIdealVideoSize(SIZE* pszMin, SIZE* pszMax) { return E_NOTIMPL; };
+ STDMETHODIMP GetNativeVideoSize(SIZE* pszVideo, SIZE* pszARVideo) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP GetIdealVideoSize(SIZE* pszMin, SIZE* pszMax) {
+ return E_NOTIMPL;
+ };
STDMETHODIMP SetVideoPosition(const MFVideoNormalizedRect* pnrcSource,
- const LPRECT prcDest) { return E_NOTIMPL; };
+ const LPRECT prcDest) {
+ return E_NOTIMPL;
+ };
STDMETHODIMP GetVideoPosition(MFVideoNormalizedRect* pnrcSource,
- LPRECT prcDest) { return E_NOTIMPL; };
- STDMETHODIMP SetAspectRatioMode(DWORD dwAspectRatioMode) { return E_NOTIMPL; };
- STDMETHODIMP GetAspectRatioMode(DWORD* pdwAspectRatioMode) { return E_NOTIMPL; };
- STDMETHODIMP SetVideoWindow(HWND hwndVideo) { return E_NOTIMPL; };
+ LPRECT prcDest) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP SetAspectRatioMode(DWORD dwAspectRatioMode) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP GetAspectRatioMode(DWORD* pdwAspectRatioMode) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP SetVideoWindow(HWND hwndVideo) {
+ return E_NOTIMPL;
+ };
STDMETHODIMP GetVideoWindow(HWND* phwndVideo);
- STDMETHODIMP RepaintVideo() { return E_NOTIMPL; };
+ STDMETHODIMP RepaintVideo() {
+ return E_NOTIMPL;
+ };
STDMETHODIMP GetCurrentImage(BITMAPINFOHEADER* pBih, BYTE** pDib,
- DWORD* pcbDib, LONGLONG* pTimeStamp) { return E_NOTIMPL; };
- STDMETHODIMP SetBorderColor(COLORREF Clr) { return E_NOTIMPL; };
- STDMETHODIMP GetBorderColor(COLORREF* pClr) { return E_NOTIMPL; };
- STDMETHODIMP SetRenderingPrefs(DWORD dwRenderFlags) { return E_NOTIMPL; };
- STDMETHODIMP GetRenderingPrefs(DWORD* pdwRenderFlags) { return E_NOTIMPL; };
- STDMETHODIMP SetFullscreen(BOOL fFullscreen) { return E_NOTIMPL; };
- STDMETHODIMP GetFullscreen(BOOL* pfFullscreen) { return E_NOTIMPL; };
+ DWORD* pcbDib, LONGLONG* pTimeStamp) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP SetBorderColor(COLORREF Clr) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP GetBorderColor(COLORREF* pClr) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP SetRenderingPrefs(DWORD dwRenderFlags) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP GetRenderingPrefs(DWORD* pdwRenderFlags) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP SetFullscreen(BOOL fFullscreen) {
+ return E_NOTIMPL;
+ };
+ STDMETHODIMP GetFullscreen(BOOL* pfFullscreen) {
+ return E_NOTIMPL;
+ };
private:
HMODULE m_hDXVA2Lib;
@@ -158,7 +188,7 @@ void CNullVideoRendererInputPin::CreateSurface()
D3DDISPLAYMODE d3ddm;
ZeroMemory(&d3ddm, sizeof(d3ddm));
- m_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm);
+ VERIFY(SUCCEEDED(m_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)));
D3DPRESENT_PARAMETERS pp;
ZeroMemory(&pp, sizeof(pp));
diff --git a/src/DSUtil/SharedInclude.h b/src/DSUtil/SharedInclude.h
index ac2e59a98..3668639b3 100644
--- a/src/DSUtil/SharedInclude.h
+++ b/src/DSUtil/SharedInclude.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,6 +25,10 @@
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
+#ifndef STRICT_TYPED_ITEMIDS
+#define STRICT_TYPED_ITEMIDS
+#endif
+
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC // include Microsoft memory leak detection procedures
#include <crtdbg.h>
diff --git a/src/DSUtil/WinAPIUtils.cpp b/src/DSUtil/WinAPIUtils.cpp
index f5de3c0d8..badf20243 100644
--- a/src/DSUtil/WinAPIUtils.cpp
+++ b/src/DSUtil/WinAPIUtils.cpp
@@ -136,7 +136,7 @@ bool ExportRegistryKey(CStdioFile& file, HKEY hKeyRoot, CString keyName)
file.WriteString(_T("\n"));
break;
case REG_DWORD:
- buffer.Format(_T("\"%s\"=dword:%08x\n"), valueName, *((DWORD*)data));
+ buffer.Format(_T("\"%s\"=dword:%08lx\n"), valueName, *((DWORD*)data));
file.WriteString(buffer);
break;
default: {
diff --git a/src/DSUtil/WinAPIUtils.h b/src/DSUtil/WinAPIUtils.h
index 4ebaa40d2..6a5ce5251 100644
--- a/src/DSUtil/WinAPIUtils.h
+++ b/src/DSUtil/WinAPIUtils.h
@@ -1,5 +1,5 @@
/*
- * (C) 2011-2014 see Authors.txt
+ * (C) 2011-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,8 +20,6 @@
#pragma once
-#include <Windows.h>
-
struct IDirect3D9;
diff --git a/src/DSUtil/WinapiFunc.h b/src/DSUtil/WinapiFunc.h
index de212fcc8..934061ef4 100644
--- a/src/DSUtil/WinapiFunc.h
+++ b/src/DSUtil/WinapiFunc.h
@@ -1,5 +1,5 @@
/*
- * (C) 2014 see Authors.txt
+ * (C) 2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,27 +24,23 @@ template <typename>
class WinapiFunc;
template <typename ReturnType, typename...Args>
-class WinapiFunc<ReturnType WINAPI(Args...)> final
-{
-public:
+struct WinapiFunc<ReturnType WINAPI(Args...)> final {
typedef ReturnType(WINAPI* WinapiFuncType)(Args...);
WinapiFunc() = delete;
WinapiFunc(const WinapiFunc&) = delete;
WinapiFunc& operator=(const WinapiFunc&) = delete;
- WinapiFunc(const CString& dll, const CStringA& func) {
- ASSERT(!dll.IsEmpty());
- ASSERT(!func.IsEmpty());
- m_hLib = LoadLibrary(dll);
- m_pWinapiFunc = reinterpret_cast<WinapiFuncType>(GetProcAddress(m_hLib, func));
+ inline WinapiFunc(LPCTSTR dll, LPCSTR func)
+ : m_hLib(LoadLibrary(dll))
+ , m_pWinapiFunc(reinterpret_cast<WinapiFuncType>(GetProcAddress(m_hLib, func))) {
}
- ~WinapiFunc() {
+ inline ~WinapiFunc() {
FreeLibrary(m_hLib);
}
- explicit inline operator bool() const {
+ inline explicit operator bool() const {
return !!m_pWinapiFunc;
}
@@ -53,6 +49,6 @@ public:
}
private:
- HMODULE m_hLib = nullptr;
- WinapiFuncType m_pWinapiFunc = nullptr;
+ const HMODULE m_hLib;
+ const WinapiFuncType m_pWinapiFunc;
};
diff --git a/src/DSUtil/text.cpp b/src/DSUtil/text.cpp
index 63dc0c160..e3be087bc 100644
--- a/src/DSUtil/text.cpp
+++ b/src/DSUtil/text.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -33,7 +33,7 @@ DWORD CharSetToCodePage(DWORD dwCharSet)
}
CHARSETINFO cs;
ZeroMemory(&cs, sizeof(CHARSETINFO));
- ::TranslateCharsetInfo((DWORD*)dwCharSet, &cs, TCI_SRCCHARSET);
+ ::TranslateCharsetInfo((DWORD*)(DWORD_PTR)dwCharSet, &cs, TCI_SRCCHARSET);
return cs.ciACP;
}
@@ -176,6 +176,18 @@ CStringA HtmlSpecialChars(CStringA str, bool bQuotes /*= false*/)
return str;
}
+CStringA HtmlSpecialCharsDecode(CStringA str)
+{
+ str.Replace("&amp;", "&");
+ str.Replace("&quot;", "\"");
+ str.Replace("&#039;", "\'");
+ str.Replace("&lt;", "<");
+ str.Replace("&gt;", ">");
+ str.Replace("&rsquo;", "'");
+
+ return str;
+}
+
CAtlList<CString>& MakeLower(CAtlList<CString>& sl)
{
POSITION pos = sl.GetHeadPosition();
diff --git a/src/DSUtil/text.h b/src/DSUtil/text.h
index 22863a6dd..a0dde4cf2 100644
--- a/src/DSUtil/text.h
+++ b/src/DSUtil/text.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#pragma once
#include <atlcoll.h>
+#include <string>
template<class T, typename SEP>
T Explode(const T& str, CAtlList<T>& sl, SEP sep, size_t limit = 0)
@@ -133,6 +134,7 @@ extern CStringA UrlEncode(const CStringA& strIn);
extern CStringA EscapeJSONString(const CStringA& str);
extern CStringA UrlDecode(const CStringA& strIn);
extern CStringA HtmlSpecialChars(CStringA str, bool bQuotes = false);
+extern CStringA HtmlSpecialCharsDecode(CStringA str);
extern DWORD CharSetToCodePage(DWORD dwCharSet);
extern CAtlList<CString>& MakeLower(CAtlList<CString>& sl);
extern CAtlList<CString>& MakeUpper(CAtlList<CString>& sl);
diff --git a/src/DeCSS/DeCSS.vcxproj b/src/DeCSS/DeCSS.vcxproj
index e1c562607..d13569ecc 100644
--- a/src/DeCSS/DeCSS.vcxproj
+++ b/src/DeCSS/DeCSS.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/DeCSS/DeCSS.vcxproj.filters b/src/DeCSS/DeCSS.vcxproj.filters
index d2d9e216e..101c20ecd 100644
--- a/src/DeCSS/DeCSS.vcxproj.filters
+++ b/src/DeCSS/DeCSS.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{ad1b8b81-9c26-4439-a44f-daa5cc1dce41}</UniqueIdentifier>
diff --git a/src/DeCSS/DeCSSInputPin.cpp b/src/DeCSS/DeCSSInputPin.cpp
index 41f78df16..15fc5885a 100644
--- a/src/DeCSS/DeCSSInputPin.cpp
+++ b/src/DeCSS/DeCSSInputPin.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -31,7 +31,6 @@
#include "CSSauth.h"
#include "CSSscramble.h"
-#include <InitGuid.h>
#include "moreuuids.h"
//
diff --git a/src/DeCSS/VobFile.cpp b/src/DeCSS/VobFile.cpp
index 8a8ef473e..3ef313181 100644
--- a/src/DeCSS/VobFile.cpp
+++ b/src/DeCSS/VobFile.cpp
@@ -8,6 +8,7 @@
#include "../DSUtil/GolombBuffer.h"
#include "../DSUtil/DSUtil.h"
+#include "../DSUtil/ISOLang.h"
#define AUDIO_BLOCK_SIZE 66
#define SUBTITLE_BLOCK_SIZE 194
@@ -517,7 +518,7 @@ bool CVobFile::Open(CString fn, CAtlList<CString>& vobs, ULONG nProgNum /*= 1*/,
gb.ReadBuffer((BYTE*)lang, 2);
gb.ReadDword();// skip
if (ToAdd) {
- m_pStream_Lang[ToAdd + i] = ISO6391ToLanguage(lang);
+ m_pStream_Lang[ToAdd + i] = ISOLang::ISO6391ToLanguage(lang);
}
}
@@ -531,7 +532,7 @@ bool CVobFile::Open(CString fn, CAtlList<CString>& vobs, ULONG nProgNum /*= 1*/,
char lang[2];
gb_s.ReadBuffer((BYTE*)lang, 2);
gb_s.ReadShort();
- m_pStream_Lang[0x20 + i] = ISO6391ToLanguage(lang);
+ m_pStream_Lang[0x20 + i] = ISOLang::ISO6391ToLanguage(lang);
}
// Chapters ...
@@ -695,7 +696,7 @@ bool CVobFile::Authenticate()
break;
}
- if (tp_udf_file f = udf_find_file(m_hDrive, 0, CStringA(m_files[i].fn.Mid(m_files[i].fn.Find(':') + 1)))) {
+ if (tp_udf_file f = udf_find_file(m_hDrive, 0, CStringA(m_files[i].fn.Mid(m_files[i].fn.Find(_T(':')) + 1)))) {
DWORD start, end;
if (udf_get_lba(m_hDrive, f, &start, &end)) {
if (BeginSession()) {
@@ -721,7 +722,7 @@ bool CVobFile::Authenticate()
break;
}
- if (tp_udf_file f = udf_find_file(m_hDrive, 0, CStringA(m_files[i].fn.Mid(m_files[i].fn.Find(':') + 1)))) {
+ if (tp_udf_file f = udf_find_file(m_hDrive, 0, CStringA(m_files[i].fn.Mid(m_files[i].fn.Find(_T(':')) + 1)))) {
DWORD start, end;
if (udf_get_lba(m_hDrive, f, &start, &end)) {
if (BeginSession()) {
diff --git a/src/MPCTestAPI/MPCTestAPI.sln b/src/MPCTestAPI/MPCTestAPI.sln
index af7cfe83a..90832366c 100644
--- a/src/MPCTestAPI/MPCTestAPI.sln
+++ b/src/MPCTestAPI/MPCTestAPI.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30723.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MPCTestAPI", "MPCTestAPI.vcxproj", "{A1F84246-B9A1-455F-97E4-D730AB089947}"
EndProject
diff --git a/src/MPCTestAPI/MPCTestAPI.vcxproj b/src/MPCTestAPI/MPCTestAPI.vcxproj
index 9d1ecb2eb..51c325e84 100644
--- a/src/MPCTestAPI/MPCTestAPI.vcxproj
+++ b/src/MPCTestAPI/MPCTestAPI.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,61 +34,15 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\</IntDir>
+ <OutDir>$(SolutionDir)bin\$(Configuration)_$(Platform)\</OutDir>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_AFX_NO_MFC_CONTROLS_IN_DIALOGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\MPCTestAPI.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_AFX_NO_MFC_CONTROLS_IN_DIALOGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\MPCTestAPI.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_AFX_NO_MFC_CONTROLS_IN_DIALOGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\MPCTestAPI.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_AFX_NO_MFC_CONTROLS_IN_DIALOGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
diff --git a/src/MPCTestAPI/MPCTestAPI.vcxproj.filters b/src/MPCTestAPI/MPCTestAPI.vcxproj.filters
index 15a195893..c41d5ada2 100644
--- a/src/MPCTestAPI/MPCTestAPI.vcxproj.filters
+++ b/src/MPCTestAPI/MPCTestAPI.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{964fcf6f-5fba-4c1a-a7f3-fe297436533d}</UniqueIdentifier>
diff --git a/src/MPCTestAPI/MPCTestAPIDlg.cpp b/src/MPCTestAPI/MPCTestAPIDlg.cpp
index c47278e65..6a286e6e5 100644
--- a/src/MPCTestAPI/MPCTestAPIDlg.cpp
+++ b/src/MPCTestAPI/MPCTestAPIDlg.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2014 see Authors.txt
+ * (C) 2008-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
diff --git a/src/MathLibFix/MathLibFix.cpp b/src/MathLibFix/MathLibFix.cpp
deleted file mode 100644
index 32154e0d0..000000000
--- a/src/MathLibFix/MathLibFix.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * (C) 2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <math.h>
-#include "MathLibFix.h"
-
-
-void WorkAroundMathLibraryBug()
-{
-#ifdef _WIN64
- // Temporary disable the use of FMA3 to work around a bug affecting the x64 math library
- // See http://connect.microsoft.com/VisualStudio/feedback/details/811093
- _set_FMA3_enable(0);
-#if (_MSC_FULL_VER > 180021005)
-#pragma message("WARNING: Check if bug http://connect.microsoft.com/VisualStudio/feedback/details/811093 is fixed")
-#endif
-#endif
-}
diff --git a/src/MathLibFix/MathLibFix.h b/src/MathLibFix/MathLibFix.h
deleted file mode 100644
index 76d3c07cb..000000000
--- a/src/MathLibFix/MathLibFix.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * (C) 2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-
-void WorkAroundMathLibraryBug();
diff --git a/src/MathLibFix/MathLibFix.vcxproj b/src/MathLibFix/MathLibFix.vcxproj
deleted file mode 100644
index 8fd636961..000000000
--- a/src/MathLibFix/MathLibFix.vcxproj
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{FC9FC17F-70BF-4ACA-8285-C24D1889BACB}</ProjectGuid>
- <RootNamespace>DSUtil</RootNamespace>
- <Keyword>MFCProj</Keyword>
- <ProjectName>MathLibFix</ProjectName>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="MathLibFix.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="MathLibFix.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/src/MathLibFix/MathLibFix.vcxproj.filters b/src/MathLibFix/MathLibFix.vcxproj.filters
deleted file mode 100644
index 000728e1f..000000000
--- a/src/MathLibFix/MathLibFix.vcxproj.filters
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{7a9014bb-a149-4bb1-be1b-b988a38f79d0}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{2b09c18b-87fc-47da-a366-3e14c0b9d40f}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="MathLibFix.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="MathLibFix.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/src/SubPic/CoordGeom.cpp b/src/SubPic/CoordGeom.cpp
index 28a6e978d..4bb5dfaaa 100644
--- a/src/SubPic/CoordGeom.cpp
+++ b/src/SubPic/CoordGeom.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,23 +20,29 @@
*/
#include "stdafx.h"
-#include <math.h>
#include "CoordGeom.h"
+#include "../DSUtil/DSUtil.h"
+#include <cmath>
+
+static bool IsZero(float d)
+{
+ return IsEqual(d, 0.0f);
+}
//
// Vector
//
-Vector::Vector(float x, float y, float z)
- : x(x), y(y), z(z)
+Vector::Vector(float _x, float _y, float _z)
+ : x(_x), y(_y), z(_z)
{
}
-void Vector::Set(float x, float y, float z)
+void Vector::Set(float _x, float _y, float _z)
{
- this->x = x;
- this->y = y;
- this->z = z;
+ x = _x;
+ y = _y;
+ z = _z;
}
float Vector::Length() const
@@ -101,11 +107,11 @@ void Vector::Angle(float& u, float& v) const
u = asin(n.y);
if (IsZero(n.z)) {
- v = (float)M_PI_2 * Sgn(n.x);
+ v = (float)M_PI_2 * SGN(n.x);
} else if (n.z > 0) {
v = atan(n.x / n.z);
} else if (n.z < 0) {
- v = IsZero(n.x) ? (float)M_PI : ((float)M_PI * Sgn(n.x) + atan(n.x / n.z));
+ v = IsZero(n.x) ? (float)M_PI : ((float)M_PI * SGN(n.x) + atan(n.x / n.z));
}
}
@@ -343,23 +349,23 @@ Vector& Vector::operator /= (const Vector& v)
// Ray
//
-Ray::Ray(const Vector& p, const Vector& d)
- : p(p)
- , d(d)
+Ray::Ray(const Vector& _p, const Vector& _d)
+ : p(_p)
+ , d(_d)
{
}
-void Ray::Set(const Vector& p, const Vector& d)
+void Ray::Set(const Vector& _p, const Vector& _d)
{
- this->p = p;
- this->d = d;
+ p = _p;
+ d = _d;
}
float Ray::GetDistanceFrom(const Ray& r) const
{
float t = (d | r.d);
if (IsZero(t)) {
- return -BIGNUMBER; // plane is parallel to the ray, return -infinite
+ return -std::numeric_limits<float>::infinity(); // plane is parallel to the ray, return -infinite
}
return (((r.p - p) | r.d) / t);
}
diff --git a/src/SubPic/CoordGeom.h b/src/SubPic/CoordGeom.h
index bc20606e0..987a30d82 100644
--- a/src/SubPic/CoordGeom.h
+++ b/src/SubPic/CoordGeom.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,15 +21,9 @@
#pragma once
-#include <math.h>
+#include <cmath>
#include <array>
-#define EPSILON (1e-7)
-#define BIGNUMBER (1e+9)
-#define IsZero(d) (fabs(d) < EPSILON)
-#define Sgn(d) (IsZero(d) ? 0 : (d) > 0 ? 1 : -1)
-//#define SgnPow(d, p) (IsZero(d) ? 0 : (pow(fabs(d), p) * Sgn(d)))
-
class Vector
{
public:
diff --git a/src/SubPic/DX7SubPic.cpp b/src/SubPic/DX7SubPic.cpp
deleted file mode 100644
index 9598799d7..000000000
--- a/src/SubPic/DX7SubPic.cpp
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "DX7SubPic.h"
-#include <ddraw.h>
-
-//
-// CDX7SubPic
-//
-
-CDX7SubPic::CDX7SubPic(IDirect3DDevice7* pD3DDev, IDirectDrawSurface7* pSurface)
- : m_pD3DDev(pD3DDev)
- , m_pSurface(pSurface)
-{
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pSurface->GetSurfaceDesc(&ddsd))) {
- m_maxsize.SetSize(ddsd.dwWidth, ddsd.dwHeight);
- m_rcDirty.SetRect(0, 0, ddsd.dwWidth, ddsd.dwHeight);
- }
-}
-
-// ISubPic
-
-STDMETHODIMP_(void*) CDX7SubPic::GetObject()
-{
- return (IDirectDrawSurface7*)m_pSurface;
-}
-
-STDMETHODIMP CDX7SubPic::GetDesc(SubPicDesc& spd)
-{
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(m_pSurface->GetSurfaceDesc(&ddsd))) {
- return E_FAIL;
- }
-
- spd.type = 0;
- spd.w = m_size.cx;
- spd.h = m_size.cy;
- spd.bpp = (WORD)ddsd.ddpfPixelFormat.dwRGBBitCount;
- spd.pitch = ddsd.lPitch;
- spd.bits = (BYTE*)ddsd.lpSurface; // should be NULL
- spd.vidrect = m_vidrect;
-
- return S_OK;
-}
-
-STDMETHODIMP CDX7SubPic::CopyTo(ISubPic* pSubPic)
-{
- HRESULT hr;
- if (FAILED(hr = __super::CopyTo(pSubPic))) {
- return hr;
- }
-
- CPoint p = m_rcDirty.TopLeft();
- hr = m_pD3DDev->Load((IDirectDrawSurface7*)pSubPic->GetObject(), &p, m_pSurface, m_rcDirty, 0);
-
- return SUCCEEDED(hr) ? S_OK : E_FAIL;
-}
-
-STDMETHODIMP CDX7SubPic::ClearDirtyRect(DWORD color)
-{
- if (m_rcDirty.IsRectEmpty()) {
- return S_FALSE;
- }
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = color;
- m_pSurface->Blt(&m_rcDirty, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- m_rcDirty.SetRectEmpty();
-
- return S_OK;
-}
-
-STDMETHODIMP CDX7SubPic::Lock(SubPicDesc& spd)
-{
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(m_pSurface->Lock(nullptr, &ddsd, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, nullptr))) {
- return E_FAIL;
- }
-
- spd.type = 0;
- spd.w = m_size.cx;
- spd.h = m_size.cy;
- spd.bpp = (WORD)ddsd.ddpfPixelFormat.dwRGBBitCount;
- spd.pitch = ddsd.lPitch;
- spd.bits = (BYTE*)ddsd.lpSurface;
- spd.vidrect = m_vidrect;
-
- return S_OK;
-}
-
-STDMETHODIMP CDX7SubPic::Unlock(RECT* pDirtyRect)
-{
- m_pSurface->Unlock(nullptr);
-
- if (pDirtyRect) {
- m_rcDirty = *pDirtyRect;
- m_rcDirty.InflateRect(1, 1);
- m_rcDirty &= CRect(CPoint(0, 0), m_size);
- } else {
- m_rcDirty = CRect(CPoint(0, 0), m_size);
- }
-
- return S_OK;
-}
-
-STDMETHODIMP CDX7SubPic::AlphaBlt(RECT* pSrc, RECT* pDst, SubPicDesc* pTarget)
-{
- ASSERT(pTarget == nullptr);
-
- if (!m_pD3DDev || !m_pSurface || !pSrc || !pDst) {
- return E_POINTER;
- }
-
- CRect src(*pSrc), dst(*pDst);
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(m_pSurface->GetSurfaceDesc(&ddsd))) {
- return E_FAIL;
- }
-
- float w = (float)ddsd.dwWidth;
- float h = (float)ddsd.dwHeight;
-
- // Be careful with the code that follows. Some compilers (e.g. Visual Studio 2012) used to miscompile
- // it in some cases (namely x64 with optimizations /O2 /Ot). This bug led pVertices not to be correctly
- // initialized and thus the subtitles weren't shown.
- struct {
- float x, y, z, rhw;
- float tu, tv;
- } pVertices[] = {
- {(float)dst.left, (float)dst.top, 0.5f, 2.0f, (float)src.left / w, (float)src.top / h},
- {(float)dst.right, (float)dst.top, 0.5f, 2.0f, (float)src.right / w, (float)src.top / h},
- {(float)dst.left, (float)dst.bottom, 0.5f, 2.0f, (float)src.left / w, (float)src.bottom / h},
- {(float)dst.right, (float)dst.bottom, 0.5f, 2.0f, (float)src.right / w, (float)src.bottom / h},
- };
-
- for (size_t i = 0; i < _countof(pVertices); i++) {
- pVertices[i].x -= 0.5f;
- pVertices[i].y -= 0.5f;
- }
-
- m_pD3DDev->SetTexture(0, m_pSurface);
-
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_CULLMODE, D3DCULL_NONE);
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_LIGHTING, FALSE);
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_BLENDENABLE, TRUE);
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE); // pre-multiplied src and ...
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_DESTBLEND, m_bInvAlpha ? D3DBLEND_INVSRCALPHA : D3DBLEND_SRCALPHA); // ... inverse alpha channel for dst
-
- m_pD3DDev->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
- m_pD3DDev->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
- m_pD3DDev->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
-
- if (src == dst) {
- m_pD3DDev->SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTFG_POINT);
- m_pD3DDev->SetTextureStageState(0, D3DTSS_MINFILTER, D3DTFG_POINT);
- } else {
- m_pD3DDev->SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTFG_LINEAR);
- m_pD3DDev->SetTextureStageState(0, D3DTSS_MINFILTER, D3DTFG_LINEAR);
- }
- m_pD3DDev->SetTextureStageState(0, D3DTSS_MIPFILTER, D3DTFP_NONE);
-
- m_pD3DDev->SetTextureStageState(0, D3DTSS_ADDRESS, D3DTADDRESS_CLAMP);
-
- /*//
- D3DDEVICEDESC7 d3ddevdesc;
- m_pD3DDev->GetCaps(&d3ddevdesc);
- if (d3ddevdesc.dpcTriCaps.dwAlphaCmpCaps & D3DPCMPCAPS_LESS)
- {
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_ALPHAREF, (DWORD)0x000000FE);
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_ALPHATESTENABLE, TRUE);
- m_pD3DDev->SetRenderState(D3DRENDERSTATE_ALPHAFUNC, D3DPCMPCAPS_LESS);
- }
- *///
-
- if (FAILED(m_pD3DDev->BeginScene())) {
- return E_FAIL;
- }
-
- m_pD3DDev->DrawPrimitive(D3DPT_TRIANGLESTRIP,
- D3DFVF_XYZRHW | D3DFVF_TEX1,
- pVertices, 4, D3DDP_WAIT);
- m_pD3DDev->EndScene();
-
- m_pD3DDev->SetTexture(0, nullptr);
-
- return S_OK;
-}
-
-//
-// CDX7SubPicAllocator
-//
-
-CDX7SubPicAllocator::CDX7SubPicAllocator(IDirect3DDevice7* pD3DDev, SIZE maxsize)
- : CSubPicAllocatorImpl(maxsize, true)
- , m_pD3DDev(pD3DDev)
- , m_maxsize(maxsize)
-{
-}
-
-// ISubPicAllocator
-
-STDMETHODIMP CDX7SubPicAllocator::ChangeDevice(IUnknown* pDev)
-{
- CComQIPtr<IDirect3DDevice7, &IID_IDirect3DDevice7> pD3DDev = pDev;
- CheckPointer(pD3DDev, E_NOINTERFACE);
-
- CAutoLock cAutoLock(this);
- HRESULT hr = S_FALSE;
- if (m_pD3DDev != pD3DDev) {
- m_pD3DDev = pD3DDev;
- hr = __super::ChangeDevice(pDev);
- }
-
- return hr;
-}
-
-STDMETHODIMP CDX7SubPicAllocator::SetMaxTextureSize(SIZE maxTextureSize)
-{
- CAutoLock cAutoLock(this);
- if (m_maxsize != maxTextureSize) {
- m_maxsize = maxTextureSize;
- }
-
- return SetCurSize(m_maxsize);
-}
-
-// ISubPicAllocatorImpl
-
-bool CDX7SubPicAllocator::Alloc(bool fStatic, ISubPic** ppSubPic)
-{
- if (!ppSubPic) {
- return false;
- }
-
- if (m_maxsize.cx <= 0 || m_maxsize.cy <= 0) {
- return false;
- }
-
- CAutoLock cAutoLock(this);
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_TEXTURE | (fStatic ? DDSCAPS_SYSTEMMEMORY : 0);
- ddsd.ddsCaps.dwCaps2 = fStatic ? 0 : (DDSCAPS2_TEXTUREMANAGE | DDSCAPS2_HINTSTATIC);
- ddsd.dwWidth = m_maxsize.cx;
- ddsd.dwHeight = m_maxsize.cy;
- ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
- ddsd.ddpfPixelFormat.dwRGBBitCount = 32;
- ddsd.ddpfPixelFormat.dwRGBAlphaBitMask = 0xFF000000;
- ddsd.ddpfPixelFormat.dwRBitMask = 0x00FF0000;
- ddsd.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
- ddsd.ddpfPixelFormat.dwBBitMask = 0x000000FF;
-
- CComPtr<IDirect3D7> pD3D;
- CComQIPtr<IDirectDraw7, &IID_IDirectDraw7> pDD;
- if (FAILED(m_pD3DDev->GetDirect3D(&pD3D)) || !pD3D || !(pDD = pD3D)) {
- return false;
- }
-
- CComPtr<IDirectDrawSurface7> pSurface;
- if (FAILED(pDD->CreateSurface(&ddsd, &pSurface, nullptr))) {
- return false;
- }
-
- try {
- *ppSubPic = DEBUG_NEW CDX7SubPic(m_pD3DDev, pSurface);
- } catch (CMemoryException* e) {
- e->Delete();
- return false;
- }
-
- (*ppSubPic)->AddRef();
-
- return true;
-}
diff --git a/src/SubPic/DX7SubPic.h b/src/SubPic/DX7SubPic.h
deleted file mode 100644
index 8ea1ce7e4..000000000
--- a/src/SubPic/DX7SubPic.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "SubPicImpl.h"
-#include "SubPicAllocatorPresenterImpl.h"
-#include "dx/d3d.h"
-
-// CDX7SubPic
-
-class CDX7SubPic : public CSubPicImpl
-{
- CComPtr<IDirect3DDevice7> m_pD3DDev;
- CComPtr<IDirectDrawSurface7> m_pSurface;
-
-protected:
- STDMETHODIMP_(void*) GetObject(); // returns IDirectDrawSurface7*
-
-public:
- CDX7SubPic(IDirect3DDevice7* pD3DDev, IDirectDrawSurface7* pSurface);
-
- // ISubPic
- STDMETHODIMP GetDesc(SubPicDesc& spd);
- STDMETHODIMP CopyTo(ISubPic* pSubPic);
- STDMETHODIMP ClearDirtyRect(DWORD color);
- STDMETHODIMP Lock(SubPicDesc& spd);
- STDMETHODIMP Unlock(RECT* pDirtyRect);
- STDMETHODIMP AlphaBlt(RECT* pSrc, RECT* pDst, SubPicDesc* pTarget);
-};
-
-// CDX7SubPicAllocator
-
-class CDX7SubPicAllocator : public CSubPicAllocatorImpl, public CCritSec
-{
- CComPtr<IDirect3DDevice7> m_pD3DDev;
- CSize m_maxsize;
-
- bool Alloc(bool fStatic, ISubPic** ppSubPic);
-
-public:
- CDX7SubPicAllocator(IDirect3DDevice7* pD3DDev, SIZE maxsize);
-
- // ISubPicAllocator
- STDMETHODIMP ChangeDevice(IUnknown* pDev);
- STDMETHODIMP SetMaxTextureSize(SIZE MaxTextureSize);
-};
diff --git a/src/SubPic/ISubPic.h b/src/SubPic/ISubPic.h
index 0238ea5b6..f767dc4cd 100644
--- a/src/SubPic/ISubPic.h
+++ b/src/SubPic/ISubPic.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -34,7 +34,7 @@ struct SubPicDesc {
BYTE* bitsV;
RECT vidrect; // video rectangle
- struct SubPicDesc()
+ SubPicDesc()
: type(0)
, w(0)
, h(0)
@@ -87,7 +87,8 @@ public IUnknown {
STDMETHOD(AlphaBlt)(RECT * pSrc, RECT * pDst, SubPicDesc* pTarget = nullptr /*[in]*/) PURE;
STDMETHOD(GetSourceAndDest)(RECT rcWindow /*[in]*/, RECT rcVideo /*[in]*/,
RECT* pRcSource /*[out]*/, RECT* pRcDest /*[out]*/,
- const double videoStretchFactor = 1.0 /*[in]*/) const PURE;
+ const double videoStretchFactor = 1.0 /*[in]*/,
+ int xOffsetInPixels = 1 /*[in]*/) const PURE;
STDMETHOD(SetVirtualTextureSize)(const SIZE pSize, const POINT pTopLeft) PURE;
STDMETHOD(GetRelativeTo)(RelativeTo* pRelativeTo /*[out]*/) const PURE;
STDMETHOD(SetRelativeTo)(RelativeTo relativeTo /*[in]*/) PURE;
@@ -207,6 +208,8 @@ public ISubPicAllocatorPresenter {
STDMETHOD_(bool, IsRendering)() PURE;
STDMETHOD(SetIsRendering)(bool bIsRendering) PURE;
+
+ STDMETHOD(SetDefaultVideoAngle)(Vector v) PURE;
};
//
diff --git a/src/SubPic/ISubRender.h b/src/SubPic/ISubRender.h
index f4266875e..f2ad2f19b 100644
--- a/src/SubPic/ISubRender.h
+++ b/src/SubPic/ISubRender.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -55,6 +55,18 @@ DECLARE_INTERFACE_IID_(ISubRenderCallback3, ISubRenderCallback2, "BAC4273A-3EAD-
const double videoStretchFactor = 1.0) PURE;
};
+// const static DWORD SUBRENDER_LEFT_EYE = 1;
+// const static DWORD SUBRENDER_RIGHT_EYE = 2;
+
+DECLARE_INTERFACE_IID_(ISubRenderCallback4, ISubRenderCallback3, "C89CF1D4-29C5-4A96-8AAC-528EC6F7AF1E")
+{
+ STDMETHOD(RenderEx3)(REFERENCE_TIME rtStart, REFERENCE_TIME rtStop,
+ REFERENCE_TIME avgTimePerFrame, RECT croppedVideoRect,
+ RECT originalVideoRect, RECT viewportRect,
+ const double videoStretchFactor = 1.0,
+ int xOffsetInPixels = 0, DWORD flags = 0) PURE;
+};
+
DECLARE_INTERFACE_IID_(ISubRender, IUnknown, "9CC7F9F7-3ED1-493c-AF65-527EA1D9947F")
{
STDMETHOD(SetCallback)(ISubRenderCallback* cb) PURE;
diff --git a/src/SubPic/SubPic.vcxproj b/src/SubPic/SubPic.vcxproj
index 49471dac4..82ff35e00 100644
--- a/src/SubPic/SubPic.vcxproj
+++ b/src/SubPic/SubPic.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -92,7 +47,6 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="CoordGeom.cpp" />
- <ClCompile Include="DX7SubPic.cpp" />
<ClCompile Include="DX9SubPic.cpp" />
<ClCompile Include="MemSubPic.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -107,7 +61,6 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="CoordGeom.h" />
- <ClInclude Include="DX7SubPic.h" />
<ClInclude Include="DX9SubPic.h" />
<ClInclude Include="SubPicQueueSettings.h" />
<ClInclude Include="ISubPic.h" />
diff --git a/src/SubPic/SubPic.vcxproj.filters b/src/SubPic/SubPic.vcxproj.filters
index 545969aea..5970e178b 100644
--- a/src/SubPic/SubPic.vcxproj.filters
+++ b/src/SubPic/SubPic.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{bbd07979-c9e6-4936-b818-b36901e0eca8}</UniqueIdentifier>
@@ -14,9 +14,6 @@
<ClCompile Include="CoordGeom.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="DX7SubPic.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="DX9SubPic.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -49,9 +46,6 @@
<ClInclude Include="CoordGeom.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="DX7SubPic.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="DX9SubPic.h">
<Filter>Header Files</Filter>
</ClInclude>
diff --git a/src/SubPic/SubPicAllocatorPresenterImpl.cpp b/src/SubPic/SubPicAllocatorPresenterImpl.cpp
index 636d7f08a..5f5c63999 100644
--- a/src/SubPic/SubPicAllocatorPresenterImpl.cpp
+++ b/src/SubPic/SubPicAllocatorPresenterImpl.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,7 +24,7 @@
#include "../DSUtil/DSUtil.h"
#include "../filters/renderer/VideoRenderers/RenderersSettings.h"
#include "../mpc-hc/VersionInfo.h"
-#include <math.h>
+#include <cmath>
#include "XySubPicQueueImpl.h"
#include "XySubPicProvider.h"
#include <d3d9.h>
@@ -46,11 +46,12 @@ CSubPicAllocatorPresenterImpl::CSubPicAllocatorPresenterImpl(HWND hWnd, HRESULT&
, m_bDeviceResetRequested(false)
, m_bPendingResetDevice(false)
, m_SubtitleTextureLimit(STATIC)
+ , m_bDefaultVideoAngleSwitchAR(false)
{
if (!IsWindow(m_hWnd)) {
hr = E_INVALIDARG;
if (_pError) {
- *_pError += "Invalid window handle in ISubPicAllocatorPresenterImpl\n";
+ *_pError += _T("Invalid window handle in ISubPicAllocatorPresenterImpl\n");
}
return;
}
@@ -120,12 +121,14 @@ void CSubPicAllocatorPresenterImpl::InitMaxSubtitleTextureSize(int maxSize, CSiz
void CSubPicAllocatorPresenterImpl::AlphaBltSubPic(const CRect& windowRect,
const CRect& videoRect,
SubPicDesc* pTarget /*= nullptr*/,
- const double videoStretchFactor /*= 1.0*/)
+ const double videoStretchFactor /*= 1.0*/,
+ int xOffsetInPixels /*= 0*/)
{
CComPtr<ISubPic> pSubPic;
if (m_pSubPicQueue->LookupSubPic(m_rtNow, !IsRendering(), pSubPic)) {
CRect rcSource, rcDest;
- if (SUCCEEDED(pSubPic->GetSourceAndDest(windowRect, videoRect, rcSource, rcDest, videoStretchFactor))) {
+ if (SUCCEEDED(pSubPic->GetSourceAndDest(windowRect, videoRect, rcSource, rcDest,
+ videoStretchFactor, xOffsetInPixels))) {
pSubPic->AlphaBlt(rcSource, rcDest, pTarget);
}
}
@@ -155,13 +158,17 @@ STDMETHODIMP_(void) CSubPicAllocatorPresenterImpl::SetVideoSize(CSize szVideo, C
STDMETHODIMP_(SIZE) CSubPicAllocatorPresenterImpl::GetVideoSize(bool bCorrectAR) const
{
- CSize VideoSize(GetVisibleVideoSize());
+ CSize videoSize(GetVisibleVideoSize());
if (bCorrectAR && m_aspectRatio.cx > 0 && m_aspectRatio.cy > 0) {
- VideoSize.cx = (LONGLONG(VideoSize.cy) * LONGLONG(m_aspectRatio.cx)) / LONGLONG(m_aspectRatio.cy);
+ videoSize.cx = (LONGLONG(videoSize.cy) * LONGLONG(m_aspectRatio.cx)) / LONGLONG(m_aspectRatio.cy);
}
- return VideoSize;
+ if (m_bDefaultVideoAngleSwitchAR) {
+ std::swap(videoSize.cx, videoSize.cy);
+ }
+
+ return videoSize;
}
STDMETHODIMP_(void) CSubPicAllocatorPresenterImpl::SetPosition(RECT w, RECT v)
@@ -205,7 +212,13 @@ STDMETHODIMP_(void) CSubPicAllocatorPresenterImpl::SetTime(REFERENCE_TIME rtNow)
STDMETHODIMP_(void) CSubPicAllocatorPresenterImpl::SetSubtitleDelay(int delayMs)
{
- m_rtSubtitleDelay = delayMs * 10000i64;
+ REFERENCE_TIME delay = MILLISECONDS_TO_100NS_UNITS(delayMs);
+ if (m_rtSubtitleDelay != delay) {
+ REFERENCE_TIME oldDelay = m_rtSubtitleDelay;
+ m_rtSubtitleDelay = delay;
+ SetTime(m_rtNow + oldDelay);
+ Paint(false);
+ }
}
STDMETHODIMP_(int) CSubPicAllocatorPresenterImpl::GetSubtitleDelay() const
@@ -266,17 +279,132 @@ void CSubPicAllocatorPresenterImpl::Transform(CRect r, Vector v[4])
}
}
+STDMETHODIMP CSubPicAllocatorPresenterImpl::SetDefaultVideoAngle(Vector v)
+{
+ if (m_defaultVideoAngle != v) {
+ constexpr float pi_2 = float(M_PI_2);
+
+ // In theory it should be a multiple of 90
+ int zAnglePi2 = std::lround(v.z / pi_2);
+ ASSERT(zAnglePi2 * pi_2 == v.z);
+
+ // Normalize the Z angle
+ zAnglePi2 %= 4;
+ if (zAnglePi2 < 0) {
+ zAnglePi2 += 4;
+ }
+ v.z = zAnglePi2 * pi_2;
+
+ // Check if the default rotation change the AR
+ m_bDefaultVideoAngleSwitchAR = (v.z == pi_2 || v.z == 3.0f * pi_2);
+
+ m_defaultVideoAngle = v;
+ UpdateXForm();
+ return S_OK;
+ }
+ return S_FALSE;
+}
+
STDMETHODIMP CSubPicAllocatorPresenterImpl::SetVideoAngle(Vector v)
{
- XForm xform(Ray(Vector(), v), Vector(1, 1, 1), false);
- if (m_xform != xform) {
- m_xform = xform;
- Paint(false);
+ if (m_videoAngle != v) {
+ m_videoAngle = v;
+ UpdateXForm();
return S_OK;
}
return S_FALSE;
}
+void CSubPicAllocatorPresenterImpl::UpdateXForm()
+{
+ Vector v = m_defaultVideoAngle + m_videoAngle;
+
+ auto normalizeAngle = [](float & rad) {
+ constexpr float twoPi = float(2.0 * M_PI);
+
+ while (rad < 0.0f) {
+ rad += twoPi;
+ }
+ while (rad > twoPi) {
+ rad -= twoPi;
+ }
+ };
+
+ normalizeAngle(v.x);
+ normalizeAngle(v.y);
+ normalizeAngle(v.z);
+
+ CSize AR = GetVideoSize(true);
+ float fARCorrection = m_bDefaultVideoAngleSwitchAR ? float(AR.cx) / AR.cy : 1.0f;
+
+ m_xform = XForm(Ray(Vector(), v), Vector(1.0f / fARCorrection, fARCorrection, 1.0f), false);
+
+ Paint(false);
+}
+
+HRESULT CSubPicAllocatorPresenterImpl::CreateDIBFromSurfaceData(D3DSURFACE_DESC desc, D3DLOCKED_RECT r, BYTE* lpDib) const
+{
+ bool bNeedRotation = !IsEqual(m_defaultVideoAngle.z, 0.0f);
+
+ BITMAPINFOHEADER* bih = (BITMAPINFOHEADER*)lpDib;
+ ZeroMemory(bih, sizeof(BITMAPINFOHEADER));
+ bih->biSize = sizeof(BITMAPINFOHEADER);
+ bih->biWidth = desc.Width;
+ bih->biHeight = desc.Height;
+ bih->biBitCount = 32;
+ bih->biPlanes = 1;
+ bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
+
+ UINT* pBits;
+ if (bNeedRotation) {
+ pBits = (UINT*)malloc(bih->biSizeImage);
+ if (!pBits) {
+ return E_OUTOFMEMORY;
+ }
+ } else {
+ pBits = (UINT*)(bih + 1);
+ }
+
+ BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
+ (BYTE*)pBits, bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
+ (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -r.Pitch, 32);
+
+ if (bNeedRotation) {
+ constexpr float pi_2 = float(M_PI_2);
+
+ if (m_bDefaultVideoAngleSwitchAR) {
+ std::swap(bih->biWidth, bih->biHeight);
+ }
+
+ std::function<size_t(UINT, UINT)> convCoordinates;
+ if (IsEqual(m_defaultVideoAngle.z, pi_2)) {
+ convCoordinates = [desc](UINT x, UINT y) {
+ return x * desc.Height + desc.Height - 1 - y;
+ };
+ } else if (IsEqual(m_defaultVideoAngle.z, 2 * pi_2)) {
+ convCoordinates = [desc](UINT x, UINT y) {
+ return desc.Width - 1 - x + (desc.Height - 1 - y) * desc.Width;
+ };
+ } else {
+ ASSERT(IsEqual(m_defaultVideoAngle.z, 3 * pi_2));
+ convCoordinates = [desc](UINT x, UINT y) {
+ return (desc.Width - 1 - x) * desc.Height + y;
+ };
+ }
+
+ UINT* pBitsDest = (UINT*)(bih + 1);
+ for (UINT x = 0; x < desc.Width; x++) {
+ for (UINT y = 0; y < desc.Height; y++) {
+ pBitsDest[convCoordinates(x, y)] = pBits[x + y * desc.Width];
+ }
+ }
+
+ free(pBits);
+ }
+
+ return S_OK;
+}
+
// ISubRenderOptions
STDMETHODIMP CSubPicAllocatorPresenterImpl::GetBool(LPCSTR field, bool* value)
@@ -495,7 +623,9 @@ STDMETHODIMP CSubPicAllocatorPresenterImpl::Connect(ISubRenderProvider* subtitle
if (!m_pAllocator) {
std::mutex mutexAllocator;
std::unique_lock<std::mutex> lock(mutexAllocator);
- if (!m_condAllocatorReady.wait_for(lock, std::chrono::seconds(1), [&]() {return !!m_pAllocator;})) {
+ if (!m_condAllocatorReady.wait_for(lock, std::chrono::seconds(1), [&]() {
+ return !!m_pAllocator;
+ })) {
// Return early, CXySubPicQueueNoThread ctor would fail anyway.
ASSERT(FALSE);
return E_FAIL;
diff --git a/src/SubPic/SubPicAllocatorPresenterImpl.h b/src/SubPic/SubPicAllocatorPresenterImpl.h
index 2a9fa3cf1..0e1acd891 100644
--- a/src/SubPic/SubPicAllocatorPresenterImpl.h
+++ b/src/SubPic/SubPicAllocatorPresenterImpl.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -69,8 +69,14 @@ protected:
void AlphaBltSubPic(const CRect& windowRect,
const CRect& videoRect,
SubPicDesc* pTarget = nullptr,
- const double videoStretchFactor = 1.0);
+ const double videoStretchFactor = 1.0,
+ int xOffsetInPixels = 0);
+ void UpdateXForm();
+ HRESULT CreateDIBFromSurfaceData(D3DSURFACE_DESC desc, D3DLOCKED_RECT r, BYTE* lpDib) const;
+
+ Vector m_defaultVideoAngle, m_videoAngle;
+ bool m_bDefaultVideoAngleSwitchAR;
XForm m_xform;
void Transform(CRect r, Vector v[4]);
@@ -119,6 +125,8 @@ public:
STDMETHODIMP SetIsRendering(bool bIsRendering) { return E_NOTIMPL; }
+ STDMETHODIMP SetDefaultVideoAngle(Vector v);
+
// ISubRenderOptions
STDMETHODIMP GetBool(LPCSTR field, bool* value);
diff --git a/src/SubPic/SubPicImpl.cpp b/src/SubPic/SubPicImpl.cpp
index bc06cf3ac..a51e5fd8d 100644
--- a/src/SubPic/SubPicImpl.cpp
+++ b/src/SubPic/SubPicImpl.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -120,19 +120,20 @@ STDMETHODIMP CSubPicImpl::GetDirtyRect(RECT* pDirtyRect) const
STDMETHODIMP CSubPicImpl::GetSourceAndDest(RECT rcWindow, RECT rcVideo,
RECT* pRcSource, RECT* pRcDest,
- const double videoStretchFactor /*= 1.0*/) const
+ const double videoStretchFactor /*= 1.0*/,
+ int xOffsetInPixels /*= 0*/) const
{
CheckPointer(pRcSource, E_POINTER);
CheckPointer(pRcDest, E_POINTER);
if (m_size.cx > 0 && m_size.cy > 0) {
CPoint offset(0, 0);
- double scaleX = 1.0, scaleY = 1.0;
+ double scaleX, scaleY;
// Enable best fit only for HD contents since SD contents
// are often anamorphic and thus break the auto-fit logic
if (m_relativeTo == BEST_FIT && m_virtualTextureSize.cx > 720) {
- double scaleFactor = 1.0;
+ double scaleFactor;
CRect videoRect(rcVideo);
LONG stretch = lround(videoRect.Width() * (1.0 - videoStretchFactor) / 2.0);
videoRect.left += stretch;
@@ -166,7 +167,8 @@ STDMETHODIMP CSubPicImpl::GetSourceAndDest(RECT rcWindow, RECT rcVideo,
CRect rcTemp = m_rcDirty;
*pRcSource = rcTemp;
- rcTemp.OffsetRect(m_virtualTextureTopLeft);
+ rcTemp.OffsetRect(m_virtualTextureTopLeft + CPoint(xOffsetInPixels, 0));
+
rcTemp = CRect(lround(rcTemp.left * scaleX),
lround(rcTemp.top * scaleY),
lround(rcTemp.right * scaleX),
@@ -180,9 +182,9 @@ STDMETHODIMP CSubPicImpl::GetSourceAndDest(RECT rcWindow, RECT rcVideo,
*pRcDest = rcTemp;
return S_OK;
- } else {
- return E_INVALIDARG;
}
+
+ return E_INVALIDARG;
}
STDMETHODIMP CSubPicImpl::SetDirtyRect(const RECT* pDirtyRect)
diff --git a/src/SubPic/SubPicImpl.h b/src/SubPic/SubPicImpl.h
index 7d17243f1..5d42902eb 100644
--- a/src/SubPic/SubPicImpl.h
+++ b/src/SubPic/SubPicImpl.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -97,7 +97,8 @@ public:
STDMETHODIMP SetVirtualTextureSize(const SIZE pSize, const POINT pTopLeft);
STDMETHODIMP GetSourceAndDest(RECT rcWindow, RECT rcVideo, RECT* pRcSource,
- RECT* pRcDest, const double videoStretchFactor = 1.0) const;
+ RECT* pRcDest, const double videoStretchFactor = 1.0,
+ int xOffsetInPixels = 1) const;
STDMETHODIMP GetRelativeTo(RelativeTo* pRelativeTo) const;
STDMETHODIMP SetRelativeTo(RelativeTo relativeTo);
diff --git a/src/SubPic/SubPicQueueSettings.h b/src/SubPic/SubPicQueueSettings.h
index ddaef5f29..6625d3492 100644
--- a/src/SubPic/SubPicQueueSettings.h
+++ b/src/SubPic/SubPicQueueSettings.h
@@ -1,5 +1,5 @@
/*
-* (C) 2014 see Authors.txt
+* (C) 2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,8 +20,6 @@
#pragma once
-#include "stdafx.h"
-
struct SubPicQueueSettings {
int nSize;
int nMaxRes;
diff --git a/src/Subtitles/CCDecoder.cpp b/src/Subtitles/CCDecoder.cpp
index cd89c56dc..5a54f73d1 100644
--- a/src/Subtitles/CCDecoder.cpp
+++ b/src/Subtitles/CCDecoder.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -88,7 +88,7 @@ void CCDecoder::SaveDisp(__int64 time)
if (m_disp[row][col]) {
CStringW str2(&m_disp[row][col]);
if (fNonEmptyRow) {
- str += ' ';
+ str += L' ';
}
str += str2;
col += str2.GetLength();
@@ -97,7 +97,7 @@ void CCDecoder::SaveDisp(__int64 time)
}
if (fNonEmptyRow) {
- str += '\n';
+ str += L'\n';
}
}
diff --git a/src/Subtitles/DVBSub.cpp b/src/Subtitles/DVBSub.cpp
index c5d453a0a..79d1e6c81 100644
--- a/src/Subtitles/DVBSub.cpp
+++ b/src/Subtitles/DVBSub.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -40,7 +40,7 @@ CDVBSub::CDVBSub(CCritSec* pLock, const CString& name, LCID lcid)
, m_pBuffer(nullptr)
{
if (m_name.IsEmpty() || m_name == _T("Unknown")) {
- m_name = "DVB Embedded Subtitle";
+ m_name = _T("DVB Embedded Subtitle");
}
}
@@ -430,7 +430,9 @@ CDVBSub::RegionList::const_iterator CDVBSub::FindRegion(const CAutoPtr<DVB_PAGE>
ENSURE(pPage);
return std::find_if(pPage->regions.cbegin(), pPage->regions.cend(),
- [bRegionId](const std::unique_ptr<DVB_REGION>& pRegion) { return pRegion->id == bRegionId; });
+ [bRegionId](const std::unique_ptr<DVB_REGION>& pRegion) {
+ return pRegion->id == bRegionId;
+ });
}
CDVBSub::ClutList::const_iterator CDVBSub::FindClut(const CAutoPtr<DVB_PAGE>& pPage, BYTE bClutId) const
@@ -438,7 +440,9 @@ CDVBSub::ClutList::const_iterator CDVBSub::FindClut(const CAutoPtr<DVB_PAGE>& pP
ENSURE(pPage);
return std::find_if(pPage->CLUTs.cbegin(), pPage->CLUTs.cend(),
- [bClutId](const std::unique_ptr<DVB_CLUT>& pCLUT) { return pCLUT->id == bClutId; });
+ [bClutId](const std::unique_ptr<DVB_CLUT>& pCLUT) {
+ return pCLUT->id == bClutId;
+ });
}
CDVBSub::CompositionObjectList::const_iterator CDVBSub::FindObject(const CAutoPtr<DVB_PAGE>& pPage, short sObjectId) const
@@ -446,7 +450,9 @@ CDVBSub::CompositionObjectList::const_iterator CDVBSub::FindObject(const CAutoPt
ENSURE(pPage);
return std::find_if(pPage->objects.cbegin(), pPage->objects.cend(),
- [sObjectId](const std::unique_ptr<CompositionObject>& pObject) { return pObject->m_object_id_ref == sObjectId; });
+ [sObjectId](const std::unique_ptr<CompositionObject>& pObject) {
+ return pObject->m_object_id_ref == sObjectId;
+ });
}
HRESULT CDVBSub::ParsePage(CGolombBuffer& gb, WORD wSegLength, CAutoPtr<DVB_PAGE>& pPage)
diff --git a/src/Subtitles/Ellipse.cpp b/src/Subtitles/Ellipse.cpp
index cec0788a6..bf8b8c281 100644
--- a/src/Subtitles/Ellipse.cpp
+++ b/src/Subtitles/Ellipse.cpp
@@ -1,5 +1,5 @@
/*
-* (C) 2014 see Authors.txt
+* (C) 2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -106,8 +106,12 @@ void CEllipseCenterGroup::AddPoint(CAtlList<EllipseCenter>& centers, IntersectFu
void CEllipseCenterGroup::AddSpan(int y, int xLeft, int xRight)
{
- AddPoint(m_leftCenters, [this](int dx, int dy) { return m_pEllipse->GetLeftIntersect(dx, dy); }, xLeft, y);
- AddPoint(m_rightCenters, [this](int dx, int dy) { return m_pEllipse->GetRightIntersect(dx, dy); }, xRight, y);
+ AddPoint(m_leftCenters, [this](int dx, int dy) {
+ return m_pEllipse->GetLeftIntersect(dx, dy);
+ }, xLeft, y);
+ AddPoint(m_rightCenters, [this](int dx, int dy) {
+ return m_pEllipse->GetRightIntersect(dx, dy);
+ }, xRight, y);
}
CEllipseCenterGroup::Position CEllipseCenterGroup::GetRelativePosition(int xLeft, int y)
diff --git a/src/Subtitles/PGSSub.cpp b/src/Subtitles/PGSSub.cpp
index d2abfd0f2..047030aaa 100644
--- a/src/Subtitles/PGSSub.cpp
+++ b/src/Subtitles/PGSSub.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -41,7 +41,7 @@ CPGSSub::CPGSSub(CCritSec* pLock, const CString& name, LCID lcid)
, m_nSegSize(0)
{
if (m_name.IsEmpty() || m_name == _T("Unknown")) {
- m_name = "PGS Embedded Subtitle";
+ m_name = _T("PGS Embedded Subtitle");
}
}
@@ -496,8 +496,9 @@ bool CPGSSubFile::Open(CString fn, CString name /*= _T("")*/, CString videoName
{
bool bOpened = false;
+ CString guessed = Subtitle::GuessSubtitleName(fn, videoName, m_lcid, m_eHearingImpaired);
if (name.IsEmpty()) {
- m_name = Subtitle::GuessSubtitleName(fn, videoName);
+ m_name = guessed;
} else {
m_name = name;
}
diff --git a/src/Subtitles/RLECodedSubtitle.cpp b/src/Subtitles/RLECodedSubtitle.cpp
index 328f07b32..b130b0de9 100644
--- a/src/Subtitles/RLECodedSubtitle.cpp
+++ b/src/Subtitles/RLECodedSubtitle.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2015 see Authors.txt
+ * (C) 2008-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -27,6 +27,7 @@ CRLECodedSubtitle::CRLECodedSubtitle(CCritSec* pLock, const CString& name, LCID
: CSubPicProviderImpl(pLock)
, m_name(name)
, m_lcid(lcid)
+ , m_eHearingImpaired(Subtitle::HI_UNKNOWN)
{
}
diff --git a/src/Subtitles/RLECodedSubtitle.h b/src/Subtitles/RLECodedSubtitle.h
index 7f5d31e6a..b71e8538c 100644
--- a/src/Subtitles/RLECodedSubtitle.h
+++ b/src/Subtitles/RLECodedSubtitle.h
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2015 see Authors.txt
+ * (C) 2008-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "../SubPic/SubPicProviderImpl.h"
#include "ColorConvTable.h"
+#include "SubtitleHelpers.h"
class __declspec(uuid("FCA68599-C83E-4ea5-94A3-C2E1B0E326B9"))
@@ -60,6 +61,7 @@ protected:
CString m_name;
LCID m_lcid;
+ Subtitle::HearingImpairedType m_eHearingImpaired;
ColorConvTable::YuvMatrixType m_eSourceMatrix = ColorConvTable::NONE;
};
diff --git a/src/Subtitles/RTS.cpp b/src/Subtitles/RTS.cpp
index ecce8ec72..d52d80ea6 100644
--- a/src/Subtitles/RTS.cpp
+++ b/src/Subtitles/RTS.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,7 @@
*/
#include "stdafx.h"
-#include <math.h>
+#include <cmath>
#include <intrin.h>
#include <algorithm>
#include "ColorConvTable.h"
@@ -2854,18 +2854,20 @@ STDMETHODIMP CRenderedTextSubtitle::NonDelegatingQueryInterface(REFIID riid, voi
STDMETHODIMP_(POSITION) CRenderedTextSubtitle::GetStartPosition(REFERENCE_TIME rt, double fps)
{
int iSegment = -1;
- SearchSubs((int)(rt / 10000), fps, &iSegment, nullptr);
+ SearchSubs(rt, fps, &iSegment, nullptr);
if (iSegment < 0) {
iSegment = 0;
}
- return GetNext((POSITION)iSegment);
+ __assume((INT_PTR)iSegment >= INT_MIN && (INT_PTR)iSegment <= INT_MAX);
+ return GetNext((POSITION)(INT_PTR)iSegment);
}
STDMETHODIMP_(POSITION) CRenderedTextSubtitle::GetNext(POSITION pos)
{
- int iSegment = (int)pos;
+ __assume((INT_PTR)pos >= INT_MIN && (INT_PTR)pos <= INT_MAX);
+ int iSegment = (int)(INT_PTR)pos;
const STSSegment* stss = GetSegment(iSegment);
while (stss && stss->subs.IsEmpty()) {
@@ -2873,22 +2875,25 @@ STDMETHODIMP_(POSITION) CRenderedTextSubtitle::GetNext(POSITION pos)
stss = GetSegment(iSegment);
}
- return (stss ? (POSITION)(iSegment + 1) : nullptr);
+ return (stss ? (POSITION)(INT_PTR)(iSegment + 1) : nullptr);
}
STDMETHODIMP_(REFERENCE_TIME) CRenderedTextSubtitle::GetStart(POSITION pos, double fps)
{
- return (10000i64 * TranslateSegmentStart((int)pos - 1, fps));
+ __assume((INT_PTR)pos - 1 >= INT_MIN && (INT_PTR)pos <= INT_MAX);
+ return TranslateSegmentStart((int)(INT_PTR)pos - 1, fps);
}
STDMETHODIMP_(REFERENCE_TIME) CRenderedTextSubtitle::GetStop(POSITION pos, double fps)
{
- return (10000i64 * TranslateSegmentEnd((int)pos - 1, fps));
+ __assume((INT_PTR)pos - 1 >= INT_MIN && (INT_PTR)pos <= INT_MAX);
+ return TranslateSegmentEnd((int)(INT_PTR)pos - 1, fps);
}
STDMETHODIMP_(bool) CRenderedTextSubtitle::IsAnimated(POSITION pos)
{
- int iSegment = (int)pos - 1;
+ __assume((INT_PTR)pos - 1 >= INT_MIN && (INT_PTR)pos <= INT_MAX);
+ int iSegment = (int)(INT_PTR)pos - 1;
const STSSegment* stss = GetSegment(iSegment);
if (stss) {
@@ -2924,10 +2929,8 @@ STDMETHODIMP CRenderedTextSubtitle::Render(SubPicDesc& spd, REFERENCE_TIME rt, d
Init(CSize(spd.w, spd.h), spd.vidrect);
}
- int time = (int)(rt / 10000);
-
int segment;
- const STSSegment* stss = SearchSubs(time, fps, &segment);
+ const STSSegment* stss = SearchSubs(rt, fps, &segment);
if (!stss) {
return S_FALSE;
}
@@ -2941,7 +2944,7 @@ STDMETHODIMP CRenderedTextSubtitle::Render(SubPicDesc& spd, REFERENCE_TIME rt, d
m_subtitleCache.GetNextAssoc(pos, entry, pSub);
STSEntry& stse = GetAt(entry);
- if (stse.end < time) {
+ if (stse.end < rt) {
delete pSub;
m_subtitleCache.RemoveKey(entry);
}
@@ -2968,9 +2971,9 @@ STDMETHODIMP CRenderedTextSubtitle::Render(SubPicDesc& spd, REFERENCE_TIME rt, d
STSEntry stse = GetAt(entry);
{
- int start = TranslateStart(entry, fps);
- m_time = time - start;
- m_delay = TranslateEnd(entry, fps) - start;
+ REFERENCE_TIME start = TranslateStart(entry, fps);
+ m_time = (int)RT2MS(rt - start);
+ m_delay = (int)RT2MS(TranslateEnd(entry, fps) - start);
}
CSubtitle* s = GetSubtitle(entry);
@@ -3215,26 +3218,35 @@ STDMETHODIMP_(int) CRenderedTextSubtitle::GetStreamCount()
STDMETHODIMP CRenderedTextSubtitle::GetStreamInfo(int iStream, WCHAR** ppName, LCID* pLCID)
{
+ CheckPointer(ppName, E_POINTER);
if (iStream != 0) {
return E_INVALIDARG;
}
- if (ppName) {
- *ppName = (WCHAR*)CoTaskMemAlloc((m_name.GetLength() + 1) * sizeof(WCHAR));
- if (!(*ppName)) {
- return E_OUTOFMEMORY;
- }
+ if (pLCID) {
+ *pLCID = m_lcid;
+ }
- wcscpy_s(*ppName, m_name.GetLength() + 1, CStringW(m_name));
+ CString strLanguage;
+ if (m_lcid && m_lcid != LCID(-1)) {
+ int len = GetLocaleInfo(m_lcid, LOCALE_SENGLANGUAGE, strLanguage.GetBuffer(64), 64);
+ strLanguage.ReleaseBufferSetLength(std::max(len - 1, 0));
+ }
- if (pLCID) {
- *pLCID = ISO6391ToLcid(CW2A(*ppName));
- if (*pLCID == 0) {
- *pLCID = ISO6392ToLcid(CW2A(*ppName));
- }
- }
+ if (!strLanguage.IsEmpty() && m_eHearingImpaired == Subtitle::HI_YES) {
+ strLanguage = '[' + strLanguage + ']';
+ }
+ CStringW strName;
+ if (!m_provider.IsEmpty()) {
+ strName.Format(L"[%s] %s\t%s", m_provider, m_name, strLanguage);
+ } else {
+ strName.Format(L"%s\t%s", m_name, strLanguage);
}
+ *ppName = (WCHAR*)CoTaskMemAlloc((strName.GetLength() + 1) * sizeof(WCHAR));
+ CheckPointer(*ppName, E_OUTOFMEMORY);
+ wcscpy_s(*ppName, strName.GetLength() + 1, strName);
+
return S_OK;
}
diff --git a/src/Subtitles/Rasterizer.cpp b/src/Subtitles/Rasterizer.cpp
index dc28ce7c2..bb5b83ec3 100644
--- a/src/Subtitles/Rasterizer.cpp
+++ b/src/Subtitles/Rasterizer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,7 @@
#include "stdafx.h"
#include <string.h>
-#include <math.h>
+#include <cmath>
#include <vector>
#include <algorithm>
#include <intrin.h>
diff --git a/src/Subtitles/RenderingCache.cpp b/src/Subtitles/RenderingCache.cpp
index 16dd295db..53b27e3bc 100644
--- a/src/Subtitles/RenderingCache.cpp
+++ b/src/Subtitles/RenderingCache.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2014 see Authors.txt
+ * (C) 2013-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,12 +22,6 @@
#include "RenderingCache.h"
#include "RTS.h"
-template<typename T>
-bool NEARLY_EQ(T a, T b, T tol)
-{
- return (abs(a - b) < tol);
-}
-
CTextDimsKey::CTextDimsKey(const CStringW& str, const STSStyle& style)
: m_str(str)
, m_style(DEBUG_NEW STSStyle(style))
@@ -68,8 +62,8 @@ bool CTextDimsKey::operator==(const CTextDimsKey& textDimsKey) const
return m_str == textDimsKey.m_str
&& m_style->charSet == textDimsKey.m_style->charSet
&& m_style->fontName == textDimsKey.m_style->fontName
- && NEARLY_EQ(m_style->fontSize, textDimsKey.m_style->fontSize, 1e-6)
- && NEARLY_EQ(m_style->fontSpacing, textDimsKey.m_style->fontSpacing, 1e-6)
+ && IsNearlyEqual(m_style->fontSize, textDimsKey.m_style->fontSize, 1e-6)
+ && IsNearlyEqual(m_style->fontSpacing, textDimsKey.m_style->fontSpacing, 1e-6)
&& m_style->fontWeight == textDimsKey.m_style->fontWeight
&& m_style->fItalic == textDimsKey.m_style->fItalic
&& m_style->fUnderline == textDimsKey.m_style->fUnderline
@@ -104,8 +98,8 @@ void CPolygonPathKey::UpdateHash()
bool CPolygonPathKey::operator==(const CPolygonPathKey& polygonPathKey) const
{
return m_str == polygonPathKey.m_str
- && NEARLY_EQ(m_scalex, polygonPathKey.m_scalex, 1e-6)
- && NEARLY_EQ(m_scaley, polygonPathKey.m_scaley, 1e-6);
+ && IsNearlyEqual(m_scalex, polygonPathKey.m_scalex, 1e-6)
+ && IsNearlyEqual(m_scaley, polygonPathKey.m_scaley, 1e-6);
}
COutlineKey::COutlineKey(const CWord* word, CPoint org)
@@ -163,21 +157,21 @@ void COutlineKey::UpdateHash()
bool COutlineKey::operator==(const COutlineKey& outLineKey) const
{
return __super::operator==(outLineKey) // CreatePath
- && NEARLY_EQ(m_scalex, outLineKey.m_scalex, 1e-6)
- && NEARLY_EQ(m_scaley, outLineKey.m_scaley, 1e-6)
+ && IsNearlyEqual(m_scalex, outLineKey.m_scalex, 1e-6)
+ && IsNearlyEqual(m_scaley, outLineKey.m_scaley, 1e-6)
// Transform
- && NEARLY_EQ(m_style->fontScaleX, outLineKey.m_style->fontScaleX, 1e-6)
- && NEARLY_EQ(m_style->fontScaleY, outLineKey.m_style->fontScaleY, 1e-6)
- && NEARLY_EQ(m_style->fontAngleX, outLineKey.m_style->fontAngleX, 1e-6)
- && NEARLY_EQ(m_style->fontAngleY, outLineKey.m_style->fontAngleY, 1e-6)
- && NEARLY_EQ(m_style->fontAngleZ, outLineKey.m_style->fontAngleZ, 1e-6)
- && NEARLY_EQ(m_style->fontShiftX, outLineKey.m_style->fontShiftX, 1e-6)
- && NEARLY_EQ(m_style->fontShiftY, outLineKey.m_style->fontShiftY, 1e-6)
+ && IsNearlyEqual(m_style->fontScaleX, outLineKey.m_style->fontScaleX, 1e-6)
+ && IsNearlyEqual(m_style->fontScaleY, outLineKey.m_style->fontScaleY, 1e-6)
+ && IsNearlyEqual(m_style->fontAngleX, outLineKey.m_style->fontAngleX, 1e-6)
+ && IsNearlyEqual(m_style->fontAngleY, outLineKey.m_style->fontAngleY, 1e-6)
+ && IsNearlyEqual(m_style->fontAngleZ, outLineKey.m_style->fontAngleZ, 1e-6)
+ && IsNearlyEqual(m_style->fontShiftX, outLineKey.m_style->fontShiftX, 1e-6)
+ && IsNearlyEqual(m_style->fontShiftY, outLineKey.m_style->fontShiftY, 1e-6)
&& m_org == outLineKey.m_org
// CreateWidenedRegion
&& m_style->borderStyle == outLineKey.m_style->borderStyle
- && NEARLY_EQ(m_style->outlineWidthX, outLineKey.m_style->outlineWidthX, 1e-6)
- && NEARLY_EQ(m_style->outlineWidthY, outLineKey.m_style->outlineWidthY, 1e-6);
+ && IsNearlyEqual(m_style->outlineWidthX, outLineKey.m_style->outlineWidthX, 1e-6)
+ && IsNearlyEqual(m_style->outlineWidthY, outLineKey.m_style->outlineWidthY, 1e-6);
}
COverlayKey::COverlayKey(const CWord* word, CPoint p, CPoint org)
@@ -210,5 +204,5 @@ bool COverlayKey::operator==(const COverlayKey& overlayKey) const
return __super::operator==(overlayKey)
&& m_subp == overlayKey.m_subp
&& m_style->fBlur == overlayKey.m_style->fBlur
- && NEARLY_EQ(m_style->fGaussianBlur, overlayKey.m_style->fGaussianBlur, 1e-6);
+ && IsNearlyEqual(m_style->fGaussianBlur, overlayKey.m_style->fGaussianBlur, 1e-6);
}
diff --git a/src/Subtitles/STS.cpp b/src/Subtitles/STS.cpp
index 701a51535..950a1682c 100644
--- a/src/Subtitles/STS.cpp
+++ b/src/Subtitles/STS.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -302,7 +302,7 @@ static CStringW ToMBCS(CStringW str, DWORD CharSet)
ret += (WCHAR)(BYTE)c[k];
}
} else {
- ret += '?';
+ ret += L'?';
}
}
@@ -519,8 +519,8 @@ static bool OpenSubRipper(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet
ret.Add(SubRipper2SSA(str, CharSet),
file->IsUnicode(),
- (((hh1 * 60 + mm1) * 60) + ss1) * 1000 + ms1,
- (((hh2 * 60 + mm2) * 60) + ss2) * 1000 + ms2);
+ MS2RT((((hh1 * 60i64 + mm1) * 60i64) + ss1) * 1000i64 + ms1),
+ MS2RT((((hh2 * 60i64 + mm2) * 60i64) + ss2) * 1000i64 + ms2));
} else {
return false;
}
@@ -555,8 +555,8 @@ static bool OpenOldSubRipper(CTextFile* file, CSimpleTextSubtitle& ret, int Char
ret.Add(
buff.Mid(buff.Find('}', buff.Find('}') + 1) + 1),
file->IsUnicode(),
- (((hh1 * 60 + mm1) * 60) + ss1) * 1000,
- (((hh2 * 60 + mm2) * 60) + ss2) * 1000);
+ MS2RT((((hh1 * 60i64 + mm1) * 60i64) + ss1) * 1000i64),
+ MS2RT((((hh2 * 60i64 + mm2) * 60i64) + ss2) * 1000i64));
} else if (c != EOF) { // might be another format
return false;
}
@@ -665,8 +665,8 @@ static bool OpenSubViewer(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet
ret.Add(str,
file->IsUnicode(),
- (((hh1 * 60 + mm1) * 60) + ss1) * 1000 + hs1 * 10,
- (((hh2 * 60 + mm2) * 60) + ss2) * 1000 + hs2 * 10);
+ MS2RT((((hh1 * 60i64 + mm1) * 60i64) + ss1) * 1000i64 + hs1 * 10i64),
+ MS2RT((((hh2 * 60i64 + mm2) * 60i64) + ss2) * 1000i64 + hs2 * 10i64));
} else if (c != EOF) { // might be another format
return false;
}
@@ -819,7 +819,7 @@ static CStringW MicroDVD2SSA(CStringW str, bool fUnicode, int CharSet)
code.MakeLower();
- ret += '{';
+ ret += L'{';
if (code.Find('b') >= 0) {
ret += L"\\b1";
fRestore[BOLD] = f;
@@ -836,7 +836,7 @@ static CStringW MicroDVD2SSA(CStringW str, bool fUnicode, int CharSet)
ret += L"\\s1";
fRestore[STRIKEOUT] = f;
}
- ret += '}';
+ ret += L'}';
} else if (!_wcsnicmp(code, L"{o:", 3)) {
code.MakeLower();
@@ -912,11 +912,11 @@ static bool OpenMicroDVD(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
continue;
}
- int start, end;
- int c = swscanf_s(buff, L"{%d}{%d}", &start, &end);
+ LONGLONG start, end;
+ int c = swscanf_s(buff, L"{%lld}{%lld}", &start, &end);
if (c != 2) {
- c = swscanf_s(buff, L"{%d}{}", &start) + 1;
+ c = swscanf_s(buff, L"{%lld}{}", &start) + 1;
end = start + 60;
fCheck = true;
}
@@ -946,11 +946,8 @@ static bool OpenMicroDVD(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
fCheck2 = false;
}
- ret.Add(
- MicroDVD2SSA(buff.Mid(buff.Find('}', buff.Find('}') + 1) + 1), file->IsUnicode(), CharSet),
- file->IsUnicode(),
- start, end,
- style);
+ ret.Add(MicroDVD2SSA(buff.Mid(buff.Find('}', buff.Find('}') + 1) + 1), file->IsUnicode(), CharSet),
+ file->IsUnicode(), start, end, style);
if (fCheck) {
fCheck = false;
@@ -1123,7 +1120,7 @@ static bool OpenSami(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
ret.Add(
SMI2SSA(caption, CharSet),
file->IsUnicode(),
- start_time, time);
+ MS2RT(start_time), MS2RT(time));
start_time = time;
caption.Empty();
@@ -1140,7 +1137,7 @@ static bool OpenSami(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
ret.Add(
SMI2SSA(caption, CharSet),
file->IsUnicode(),
- start_time, MAXLONG);
+ MS2RT(start_time), LONGLONG_MAX);
return true;
}
@@ -1168,8 +1165,8 @@ static bool OpenVPlayer(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
CStringW str = buff.Mid(buff.Find(':', buff.Find(':', buff.Find(':') + 1) + 1) + 1);
ret.Add(str,
file->IsUnicode(),
- (((hh * 60 + mm) * 60) + ss) * 1000,
- (((hh * 60 + mm) * 60) + ss) * 1000 + 1000 + 50 * str.GetLength());
+ MS2RT((((hh * 60i64 + mm) * 60i64) + ss) * 1000i64),
+ MS2RT((((hh * 60i64 + mm) * 60i64) + ss) * 1000i64 + 1000i64 + 50i64 * str.GetLength()));
} else if (c != EOF) { // might be another format
return false;
}
@@ -1429,8 +1426,8 @@ static bool OpenSubStationAlpha(CTextFile* file, CSimpleTextSubtitle& ret, int C
ret.Add(pszBuff,
file->IsUnicode(),
- (((hh1 * 60 + mm1) * 60) + ss1) * 1000 + ms1_div10 * 10,
- (((hh2 * 60 + mm2) * 60) + ss2) * 1000 + ms2_div10 * 10,
+ MS2RT((((hh1 * 60i64 + mm1) * 60i64) + ss1) * 1000i64 + ms1_div10 * 10i64),
+ MS2RT((((hh2 * 60i64 + mm2) * 60i64) + ss2) * 1000i64 + ms2_div10 * 10i64),
style, actor, effect,
marginRect,
layer);
@@ -1715,8 +1712,8 @@ static bool OpenXombieSub(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet
ret.Add(pszBuff,
file->IsUnicode(),
- (((hh1 * 60 + mm1) * 60) + ss1) * 1000 + ms1,
- (((hh2 * 60 + mm2) * 60) + ss2) * 1000 + ms2,
+ MS2RT((((hh1 * 60i64 + mm1) * 60i64) + ss1) * 1000i64 + ms1),
+ MS2RT((((hh2 * 60i64 + mm2) * 60i64) + ss2) * 1000i64 + ms2),
style, actor, _T(""),
marginRect,
layer);
@@ -1775,7 +1772,8 @@ static bool OpenMPL2(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
ret.Add(
MPL22SSA(buff.Mid(buff.Find(']', buff.Find(']') + 1) + 1), file->IsUnicode(), CharSet),
file->IsUnicode(),
- start * 100, end * 100);
+ MS2RT(start * 100i64),
+ MS2RT(end * 100i64));
} else if (c != EOF) { // might be another format
return false;
}
@@ -1817,6 +1815,8 @@ CSimpleTextSubtitle::CSimpleTextSubtitle()
, m_subtitleType(Subtitle::SRT)
, m_mode(TIME)
, m_encoding(CTextFile::DEFAULT_ENCODING)
+ , m_provider(_T("Local"))
+ , m_eHearingImpaired(Subtitle::HI_UNKNOWN)
, m_dstScreenSize(CSize(0, 0))
, m_defaultWrapStyle(0)
, m_collisions(0)
@@ -1860,13 +1860,15 @@ void CSimpleTextSubtitle::Copy(CSimpleTextSubtitle& sts)
m_fScaledBAS = sts.m_fScaledBAS;
m_encoding = sts.m_encoding;
m_fUsingAutoGeneratedDefaultStyle = sts.m_fUsingAutoGeneratedDefaultStyle;
+ m_provider = sts.m_provider;
+ m_eHearingImpaired = sts.m_eHearingImpaired;
CopyStyles(sts.m_styles);
m_segments.Copy(sts.m_segments);
__super::Copy(sts);
}
}
-void CSimpleTextSubtitle::Append(CSimpleTextSubtitle& sts, int timeoff)
+void CSimpleTextSubtitle::Append(CSimpleTextSubtitle& sts, REFERENCE_TIME timeoff)
{
if (timeoff < 0) {
timeoff = !IsEmpty() ? GetAt(GetCount() - 1).end : 0;
@@ -1938,12 +1940,12 @@ void CSimpleTextSubtitle::Empty()
RemoveAll();
}
-static bool SegmentCompStart(const STSSegment& segment, int start)
+static bool SegmentCompStart(const STSSegment& segment, REFERENCE_TIME start)
{
return (segment.start < start);
}
-void CSimpleTextSubtitle::Add(CStringW str, bool fUnicode, int start, int end, CString style, CString actor, CString effect, const CRect& marginRect, int layer, int readorder)
+void CSimpleTextSubtitle::Add(CStringW str, bool fUnicode, REFERENCE_TIME start, REFERENCE_TIME end, CString style, CString actor, CString effect, const CRect& marginRect, int layer, int readorder)
{
FastTrim(str);
if (str.IsEmpty() || start > end) {
@@ -2008,7 +2010,7 @@ void CSimpleTextSubtitle::Add(CStringW str, bool fUnicode, int start, int end, C
i++;
}
- int lastEnd = INT_MAX;
+ REFERENCE_TIME lastEnd = _I64_MAX;
for (; i < m_segments.GetCount() && m_segments[i].start < end; i++) {
STSSegment& s = m_segments[i];
@@ -2186,8 +2188,8 @@ void CSimpleTextSubtitle::ConvertToTimeBased(double fps)
for (size_t i = 0, j = GetCount(); i < j; i++) {
STSEntry& stse = (*this)[i];
- stse.start = (int)(stse.start * 1000.0 / fps + 0.5);
- stse.end = (int)(stse.end * 1000.0 / fps + 0.5);
+ stse.start = std::llround(stse.start * UNITS_FLOAT / fps);
+ stse.end = std::llround(stse.end * UNITS_FLOAT / fps);
}
m_mode = TIME;
@@ -2203,8 +2205,8 @@ void CSimpleTextSubtitle::ConvertToFrameBased(double fps)
for (size_t i = 0, j = GetCount(); i < j; i++) {
STSEntry& stse = (*this)[i];
- stse.start = (int)(stse.start * fps / 1000 + 0.5);
- stse.end = (int)(stse.end * fps / 1000 + 0.5);
+ stse.start = std::llround(stse.start * fps / UNITS);
+ stse.end = std::llround(stse.end * fps / UNITS);
}
m_mode = FRAME;
@@ -2212,7 +2214,7 @@ void CSimpleTextSubtitle::ConvertToFrameBased(double fps)
CreateSegments();
}
-int CSimpleTextSubtitle::SearchSub(int t, double fps)
+int CSimpleTextSubtitle::SearchSub(REFERENCE_TIME t, double fps)
{
int i = 0, j = (int)GetCount() - 1, ret = -1;
@@ -2223,7 +2225,7 @@ int CSimpleTextSubtitle::SearchSub(int t, double fps)
while (i < j) {
int mid = (i + j) >> 1;
- int midt = TranslateStart(mid, fps);
+ REFERENCE_TIME midt = TranslateStart(mid, fps);
if (t == midt) {
while (mid > 0 && t == TranslateStart(mid - 1, fps)) {
@@ -2249,7 +2251,7 @@ int CSimpleTextSubtitle::SearchSub(int t, double fps)
return ret;
}
-const STSSegment* CSimpleTextSubtitle::SearchSubs(int t, double fps, /*[out]*/ int* iSegment, int* nSegments)
+const STSSegment* CSimpleTextSubtitle::SearchSubs(REFERENCE_TIME t, double fps, /*[out]*/ int* iSegment, int* nSegments)
{
int i = 0, j = (int)m_segments.GetCount() - 1, ret = -1;
@@ -2284,7 +2286,7 @@ const STSSegment* CSimpleTextSubtitle::SearchSubs(int t, double fps, /*[out]*/ i
while (i < j) {
int mid = (i + j) >> 1;
- int midt = TranslateSegmentStart(mid, fps);
+ REFERENCE_TIME midt = TranslateSegmentStart(mid, fps);
if (t == midt) {
ret = mid;
@@ -2319,35 +2321,35 @@ const STSSegment* CSimpleTextSubtitle::SearchSubs(int t, double fps, /*[out]*/ i
return nullptr;
}
-int CSimpleTextSubtitle::TranslateStart(int i, double fps)
+REFERENCE_TIME CSimpleTextSubtitle::TranslateStart(int i, double fps)
{
return (i < 0 || GetCount() <= (size_t)i ? -1 :
m_mode == TIME ? GetAt(i).start :
- m_mode == FRAME ? (int)(GetAt(i).start * 1000 / fps) :
+ m_mode == FRAME ? std::llround(GetAt(i).start * UNITS_FLOAT / fps) :
0);
}
-int CSimpleTextSubtitle::TranslateEnd(int i, double fps)
+REFERENCE_TIME CSimpleTextSubtitle::TranslateEnd(int i, double fps)
{
return (i < 0 || GetCount() <= (size_t)i ? -1 :
m_mode == TIME ? GetAt(i).end :
- m_mode == FRAME ? (int)(GetAt(i).end * 1000 / fps) :
+ m_mode == FRAME ? std::llround(GetAt(i).end * UNITS_FLOAT / fps) :
0);
}
-int CSimpleTextSubtitle::TranslateSegmentStart(int i, double fps)
+REFERENCE_TIME CSimpleTextSubtitle::TranslateSegmentStart(int i, double fps)
{
return (i < 0 || m_segments.GetCount() <= (size_t)i ? -1 :
m_mode == TIME ? m_segments[i].start :
- m_mode == FRAME ? (int)(m_segments[i].start * 1000 / fps) :
+ m_mode == FRAME ? std::llround(m_segments[i].start * UNITS_FLOAT / fps) :
0);
}
-int CSimpleTextSubtitle::TranslateSegmentEnd(int i, double fps)
+REFERENCE_TIME CSimpleTextSubtitle::TranslateSegmentEnd(int i, double fps)
{
return (i < 0 || m_segments.GetCount() <= (size_t)i ? -1 :
m_mode == TIME ? m_segments[i].end :
- m_mode == FRAME ? (int)(m_segments[i].end * 1000 / fps) :
+ m_mode == FRAME ? std::llround(m_segments[i].end * UNITS_FLOAT / fps) :
0);
}
@@ -2518,7 +2520,7 @@ void CSimpleTextSubtitle::SetStr(int i, CStringW str, bool fUnicode)
static int comp1(const void* a, const void* b)
{
- int ret = ((STSEntry*)a)->start - ((STSEntry*)b)->start;
+ int ret = SGN(((STSEntry*)a)->start - ((STSEntry*)b)->start);
if (ret == 0) {
ret = ((STSEntry*)a)->layer - ((STSEntry*)b)->layer;
}
@@ -2540,10 +2542,10 @@ void CSimpleTextSubtitle::Sort(bool fRestoreReadorder)
}
struct Breakpoint {
- int t;
+ REFERENCE_TIME t;
bool isStart;
- Breakpoint(int t, bool isStart) : t(t), isStart(isStart) {};
+ Breakpoint(REFERENCE_TIME t, bool isStart) : t(t), isStart(isStart) {};
};
static int BreakpointComp(const void* e1, const void* e2)
@@ -2551,7 +2553,7 @@ static int BreakpointComp(const void* e1, const void* e2)
const Breakpoint* bp1 = (const Breakpoint*)e1;
const Breakpoint* bp2 = (const Breakpoint*)e2;
- return (bp1->t - bp2->t);
+ return SGN(bp1->t - bp2->t);
}
void CSimpleTextSubtitle::CreateSegments()
@@ -2611,8 +2613,9 @@ bool CSimpleTextSubtitle::Open(CString fn, int CharSet, CString name, CString vi
return false;
}
+ CString guessed = Subtitle::GuessSubtitleName(fn, videoName, m_lcid, m_eHearingImpaired);
if (name.IsEmpty()) {
- name = Subtitle::GuessSubtitleName(fn, videoName);
+ name = guessed;
}
return Open(&f, CharSet, name);
@@ -2678,6 +2681,16 @@ bool CSimpleTextSubtitle::Open(CTextFile* f, int CharSet, CString name)
return false;
}
+bool CSimpleTextSubtitle::Open(CString provider, BYTE* data, int len, int CharSet, CString name, Subtitle::HearingImpairedType eHearingImpaired, LCID lcid)
+{
+ bool fRet = Open(data, len, CharSet, name);
+
+ m_provider = provider;
+ m_eHearingImpaired = eHearingImpaired;
+ m_lcid = lcid;
+ return fRet;
+}
+
bool CSimpleTextSubtitle::Open(BYTE* data, int len, int CharSet, CString name)
{
TCHAR path[MAX_PATH];
@@ -2713,7 +2726,7 @@ bool CSimpleTextSubtitle::Open(BYTE* data, int len, int CharSet, CString name)
}
bool CSimpleTextSubtitle::SaveAs(CString fn, Subtitle::SubType type,
- double fps /*= -1*/, int delay /*= 0*/,
+ double fps /*= -1*/, LONGLONG delay /*= 0*/,
CTextFile::enc e /*= CTextFile::DEFAULT_ENCODING*/, bool bCreateExternalStyleFile /*= true*/)
{
LPCTSTR ext = Subtitle::GetSubtitleFileExt(type);
@@ -2840,19 +2853,19 @@ bool CSimpleTextSubtitle::SaveAs(CString fn, Subtitle::SubType type,
// Sort(true);
if (m_mode == FRAME) {
- delay = int(delay * fps / 1000);
+ delay = std::lround(delay * fps / 1000.0);
}
for (int i = 0, j = (int)GetCount(), k = 0; i < j; i++) {
STSEntry& stse = GetAt(i);
- int t1 = TranslateStart(i, fps) + delay;
+ int t1 = (int)(RT2MS(TranslateStart(i, fps)) + delay);
if (t1 < 0) {
k++;
continue;
}
- int t2 = TranslateEnd(i, fps) + delay;
+ int t2 = (int)(RT2MS(TranslateEnd(i, fps)) + delay);
int hh1 = (t1 / 60 / 60 / 1000);
int mm1 = (t1 / 60 / 1000) % 60;
@@ -3163,8 +3176,8 @@ static bool OpenRealText(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
ret.Add(
SubRipper2SSA(i->second.c_str(), CharSet),
file->IsUnicode(),
- i->first.first,
- i->first.second);
+ MS2RT(i->first.first),
+ MS2RT(i->first.second));
}
return !ret.IsEmpty();
diff --git a/src/Subtitles/STS.h b/src/Subtitles/STS.h
index b927b7052..cacec1f2f 100644
--- a/src/Subtitles/STS.h
+++ b/src/Subtitles/STS.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,7 +23,6 @@
#include <atlcoll.h>
#include <array>
-#include "BaseClasses/wxutil.h"
#include "TextFile.h"
#include "SubtitleHelpers.h"
@@ -93,20 +92,20 @@ struct STSEntry {
CString style, actor, effect;
CRect marginRect;
int layer;
- int start, end;
+ REFERENCE_TIME start, end;
int readorder;
};
class STSSegment
{
public:
- int start, end;
+ REFERENCE_TIME start, end;
CAtlArray<int> subs;
STSSegment()
: start(0)
, end(0) {}
- STSSegment(int s, int e) {
+ STSSegment(REFERENCE_TIME s, REFERENCE_TIME e) {
start = s;
end = e;
}
@@ -126,6 +125,7 @@ public:
class CSimpleTextSubtitle : public CAtlArray<STSEntry>
{
friend class CSubtitleEditorDlg;
+ friend class SubtitlesProvider;
protected:
CAtlArray<STSSegment> m_segments;
@@ -139,6 +139,10 @@ public:
CTextFile::enc m_encoding;
CString m_path;
+ CString m_provider;
+
+ Subtitle::HearingImpairedType m_eHearingImpaired;
+
CSize m_dstScreenSize;
int m_defaultWrapStyle;
int m_collisions;
@@ -170,14 +174,15 @@ public:
void Sort(bool fRestoreReadorder = false);
void CreateSegments();
- void Append(CSimpleTextSubtitle& sts, int timeoff = -1);
+ void Append(CSimpleTextSubtitle& sts, REFERENCE_TIME timeoff = -1);
bool Open(CString fn, int CharSet, CString name = _T(""), CString videoName = _T(""));
bool Open(CTextFile* f, int CharSet, CString name);
bool Open(BYTE* data, int len, int CharSet, CString name);
- bool SaveAs(CString fn, Subtitle::SubType type, double fps = -1, int delay = 0, CTextFile::enc e = CTextFile::DEFAULT_ENCODING, bool bCreateExternalStyleFile = true);
+ bool Open(CString provider, BYTE* data, int len, int CharSet, CString name, Subtitle::HearingImpairedType eHearingImpaired, LCID lcid);
+ bool SaveAs(CString fn, Subtitle::SubType type, double fps = -1, LONGLONG delay = 0, CTextFile::enc e = CTextFile::DEFAULT_ENCODING, bool bCreateExternalStyleFile = true);
- void Add(CStringW str, bool fUnicode, int start, int end, CString style = _T("Default"), CString actor = _T(""), CString effect = _T(""), const CRect& marginRect = CRect(0, 0, 0, 0), int layer = 0, int readorder = -1);
+ void Add(CStringW str, bool fUnicode, REFERENCE_TIME start, REFERENCE_TIME end, CString style = _T("Default"), CString actor = _T(""), CString effect = _T(""), const CRect& marginRect = CRect(0, 0, 0, 0), int layer = 0, int readorder = -1);
STSStyle* CreateDefaultStyle(int CharSet);
void ChangeUnknownStylesToDefault();
void AddStyle(CString name, STSStyle* style); // style will be stored and freed in Empty() later
@@ -189,13 +194,13 @@ public:
void ConvertToTimeBased(double fps);
void ConvertToFrameBased(double fps);
- int TranslateStart(int i, double fps);
- int TranslateEnd(int i, double fps);
- int SearchSub(int t, double fps);
+ REFERENCE_TIME TranslateStart(int i, double fps);
+ REFERENCE_TIME TranslateEnd(int i, double fps);
+ int SearchSub(REFERENCE_TIME t, double fps);
- int TranslateSegmentStart(int i, double fps);
- int TranslateSegmentEnd(int i, double fps);
- const STSSegment* SearchSubs(int t, double fps, /*[out]*/ int* iSegment = nullptr, int* nSegments = nullptr);
+ REFERENCE_TIME TranslateSegmentStart(int i, double fps);
+ REFERENCE_TIME TranslateSegmentEnd(int i, double fps);
+ const STSSegment* SearchSubs(REFERENCE_TIME t, double fps, /*[out]*/ int* iSegment = nullptr, int* nSegments = nullptr);
const STSSegment* GetSegment(int iSegment) {
return iSegment >= 0 && iSegment < (int)m_segments.GetCount() ? &m_segments[iSegment] : nullptr;
}
diff --git a/src/Subtitles/SeparableFilter.h b/src/Subtitles/SeparableFilter.h
index 4b272026b..5ecf97795 100644
--- a/src/Subtitles/SeparableFilter.h
+++ b/src/Subtitles/SeparableFilter.h
@@ -1,6 +1,6 @@
/*
* (C) 2007 Niels Martin Hansen
-* (C) 2013-2015 see Authors.txt
+* (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,7 @@
#pragma once
-#include <math.h>
+#include <cmath>
#define LIBDIVIDE_USE_SSE2 1
#pragma warning(push)
diff --git a/src/Subtitles/SubtitleHelpers.cpp b/src/Subtitles/SubtitleHelpers.cpp
index c44567675..4abf1a4e8 100644
--- a/src/Subtitles/SubtitleHelpers.cpp
+++ b/src/Subtitles/SubtitleHelpers.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,29 +20,41 @@
*/
#include "stdafx.h"
-#include <io.h>
-#include <vector>
-#include <regex>
-#include "TextFile.h"
#include "SubtitleHelpers.h"
+#include "TextFile.h"
+#include "../DSUtil/ArrayUtils.h"
+#include "../DSUtil/PathUtils.h"
+#include "../DSUtil/ISOLang.h"
+#include <regex>
-static const std::vector<LPCTSTR> subTypesExt = {
- _T("srt"), _T("sub"), _T("smi"), _T("psb"),
- _T("ssa"), _T("ass"), _T("idx"), _T("usf"),
- _T("xss"), _T("txt"), _T("rt"), _T("sup")
-};
+namespace
+{
+ constexpr auto subTypesExt = make_array(
+ _T("srt"), _T("sub"), _T("smi"), _T("psb"),
+ _T("ssa"), _T("ass"), _T("idx"), _T("usf"),
+ _T("xss"), _T("txt"), _T("rt"), _T("sup")
+ );
-static LPCTSTR separators = _T(".\\-_");
-static LPCTSTR extListVid = _T("(avi)|(mkv)|(mp4)|((m2)?ts)");
+ LPCTSTR separators = _T(".\\-_");
+ LPCTSTR extListVid = _T("(avi)|(mkv)|(mp4)|((m2)?ts)");
+
+ int SubFileCompare(const void* elem1, const void* elem2)
+ {
+ return ((Subtitle::SubFile*)elem1)->fn.CompareNoCase(((Subtitle::SubFile*)elem2)->fn);
+ }
+}
LPCTSTR Subtitle::GetSubtitleFileExt(SubType type)
{
return (type >= 0 && size_t(type) < subTypesExt.size()) ? subTypesExt[type] : nullptr;
}
-static int SubFileCompare(const void* elem1, const void* elem2)
+bool Subtitle::IsTextSubtitleFileName(CString fileName)
{
- return ((Subtitle::SubFile*)elem1)->fn.CompareNoCase(((Subtitle::SubFile*)elem2)->fn);
+ auto fileExt = PathUtils::FileExt(fileName).TrimLeft('.');
+ return std::any_of(subTypesExt.cbegin(), subTypesExt.cend(), [&](LPCTSTR ext) {
+ return fileExt == ext;
+ });
}
void Subtitle::GetSubFileNames(CString fn, const CAtlArray<CString>& paths, CAtlArray<SubFile>& ret)
@@ -94,7 +106,7 @@ void Subtitle::GetSubFileNames(CString fn, const CAtlArray<CString>& paths, CAtl
l = path.GetLength();
if (l > 0 && path[l - 1] != '/') {
- path += '/';
+ path += _T('/');
}
if (path.Find(':') == -1 && path.Find(_T("\\\\")) != 0) {
@@ -161,10 +173,9 @@ void Subtitle::GetSubFileNames(CString fn, const CAtlArray<CString>& paths, CAtl
qsort(ret.GetData(), ret.GetCount(), sizeof(SubFile), SubFileCompare);
}
-CString Subtitle::GuessSubtitleName(CString fn, CString videoName)
+CString Subtitle::GuessSubtitleName(const CString& fn, CString videoName, LCID& lcid, HearingImpairedType& hi)
{
CString name, lang;
- bool bHearingImpaired = false;
// The filename of the subtitle file
int iExtStart = fn.ReverseFind('.');
@@ -200,10 +211,20 @@ CString Subtitle::GuessSubtitleName(CString fn, CString videoName)
if (std::regex_search((LPCTSTR)subName, mc, re)) {
ASSERT(mc.size() == 3);
ASSERT(mc[1].matched);
- lang = ISO639XToLanguage(CStringA(mc[1].str().c_str()), true);
-
- if (!lang.IsEmpty() && mc[2].matched) {
- bHearingImpaired = (CString(mc[2].str().c_str()).CompareNoCase(_T("hi")) == 0);
+ lang = ISOLang::ISO639XToLanguage(CStringA(mc[1].str().c_str()), true);
+
+ if (!lang.IsEmpty()) {
+ size_t len = mc[1].str().size();
+ if (len == 3) {
+ lcid = ISOLang::ISO6392ToLcid(CStringA(mc[1].str().c_str()));
+ } else if (len == 2) {
+ lcid = ISOLang::ISO6391ToLcid(CStringA(mc[1].str().c_str()));
+ }
+ if (mc[2].matched) {
+ if (CString(mc[2].str().c_str()).CompareNoCase(_T("hi")) == 0) {
+ hi = HI_YES;
+ }
+ }
}
}
}
@@ -216,7 +237,15 @@ CString Subtitle::GuessSubtitleName(CString fn, CString videoName)
if (std::regex_search((LPCTSTR)subName, mc, re)) {
ASSERT(mc.size() == 3);
ASSERT(mc[1].matched);
- lang = ISO639XToLanguage(CStringA(mc[1].str().c_str()), true);
+ lang = ISOLang::ISO639XToLanguage(CStringA(mc[1].str().c_str()), true);
+ if (!lang.IsEmpty()) {
+ size_t len = mc[1].str().size();
+ if (len == 3) {
+ lcid = ISOLang::ISO6392ToLcid(CStringA(mc[1].str().c_str()));
+ } else if (len == 2) {
+ lcid = ISOLang::ISO6391ToLcid(CStringA(mc[1].str().c_str()));
+ }
+ }
CStringA str;
if (mc[2].matched) {
@@ -224,9 +253,17 @@ CString Subtitle::GuessSubtitleName(CString fn, CString videoName)
}
if (!lang.IsEmpty() && str.CompareNoCase("hi") == 0) {
- bHearingImpaired = true;
+ hi = HI_YES;
} else {
- lang = ISO639XToLanguage(str, true);
+ lang = ISOLang::ISO639XToLanguage(str, true);
+ if (!lang.IsEmpty()) {
+ size_t len = str.GetLength();
+ if (len == 3) {
+ lcid = ISOLang::ISO6392ToLcid(str.GetString());
+ } else if (len == 2) {
+ lcid = ISOLang::ISO6391ToLcid(str.GetString());
+ }
+ }
}
}
}
@@ -235,12 +272,6 @@ CString Subtitle::GuessSubtitleName(CString fn, CString videoName)
if (name.GetLength() > 100) { // Cut some part of the filename if it's too long
name.Format(_T("%s...%s"), name.Left(50).TrimRight(_T(".-_ ")), name.Right(50).TrimLeft(_T(".-_ ")));
}
- if (!lang.IsEmpty()) {
- name.AppendFormat(_T(" [%s]"), lang);
- if (bHearingImpaired) {
- name.Append(_T(" [hearing impaired]"));
- }
- }
return name;
}
diff --git a/src/Subtitles/SubtitleHelpers.h b/src/Subtitles/SubtitleHelpers.h
index d004cae67..95b9beec0 100644
--- a/src/Subtitles/SubtitleHelpers.h
+++ b/src/Subtitles/SubtitleHelpers.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,6 +24,10 @@
#include <afx.h>
#include <atlcoll.h>
+#define MS2RT(t) (10000i64 * (t))
+#define RT2MS(t) ((t) / 10000)
+#define UNITS_FLOAT (10000000.0)
+
namespace Subtitle
{
enum SubType {
@@ -41,7 +45,14 @@ namespace Subtitle
SUP
};
+ enum HearingImpairedType {
+ HI_UNKNOWN = -1,
+ HI_NO = 0,
+ HI_YES = 1
+ };
+
LPCTSTR GetSubtitleFileExt(SubType type);
+ bool IsTextSubtitleFileName(CString filename);
struct SubFile {
CString fn; /*SubType type;*/
@@ -49,5 +60,5 @@ namespace Subtitle
void GetSubFileNames(CString fn, const CAtlArray<CString>& paths, CAtlArray<SubFile>& ret);
- CString GuessSubtitleName(CString fn, CString videoName);
+ CString GuessSubtitleName(const CString& fn, CString videoName, LCID& lcid, HearingImpairedType& hi);
};
diff --git a/src/Subtitles/SubtitleInputPin.cpp b/src/Subtitles/SubtitleInputPin.cpp
index a7cf216ec..b5df02cac 100644
--- a/src/Subtitles/SubtitleInputPin.cpp
+++ b/src/Subtitles/SubtitleInputPin.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,9 +26,9 @@
#include "DVBSub.h"
#include "PGSSub.h"
-#include <InitGuid.h>
#include <uuids.h>
#include "moreuuids.h"
+#include "../DSUtil/ISOLang.h"
// our first format id
#define __GAB1__ "GAB1"
@@ -57,7 +57,9 @@ CSubtitleInputPin::CSubtitleInputPin(CBaseFilter* pFilter, CCritSec* pLock, CCri
, m_bStopDecoding(false)
{
m_bCanReconnectWhenActive = true;
- m_decodeThread = std::thread([this]() { DecodeSamples(); });
+ m_decodeThread = std::thread([this]() {
+ DecodeSamples();
+ });
}
CSubtitleInputPin::~CSubtitleInputPin()
@@ -101,8 +103,8 @@ HRESULT CSubtitleInputPin::CompleteConnect(IPin* pReceivePin)
if (psi != nullptr) {
dwOffset = psi->dwOffset;
- name = ISO6392ToLanguage(psi->IsoLang);
- lcid = ISO6392ToLcid(psi->IsoLang);
+ name = ISOLang::ISO6392ToLanguage(psi->IsoLang);
+ lcid = ISOLang::ISO6392ToLcid(psi->IsoLang);
CString trackName(psi->TrackName);
trackName.Trim();
@@ -377,14 +379,14 @@ REFERENCE_TIME CSubtitleInputPin::DecodeSample(const std::unique_ptr<SubtitleSam
ptr += 2;
if (tag == __GAB1_LANGUAGE__) {
- pRTS->m_name = CString(ptr);
+ pRTS->m_name = ptr;
} else if (tag == __GAB1_ENTRY__) {
- pRTS->Add(AToW(&ptr[8]), false, *(int*)ptr, *(int*)(ptr + 4));
+ pRTS->Add(AToW(&ptr[8]), false, MS2RT(*(int*)ptr), MS2RT(*(int*)(ptr + 4)));
bInvalidate = true;
} else if (tag == __GAB1_LANGUAGE_UNICODE__) {
pRTS->m_name = (WCHAR*)ptr;
} else if (tag == __GAB1_ENTRY_UNICODE__) {
- pRTS->Add((WCHAR*)(ptr + 8), true, *(int*)ptr, *(int*)(ptr + 4));
+ pRTS->Add((WCHAR*)(ptr + 8), true, MS2RT(*(int*)ptr), MS2RT(*(int*)(ptr + 4)));
bInvalidate = true;
}
@@ -416,7 +418,7 @@ REFERENCE_TIME CSubtitleInputPin::DecodeSample(const std::unique_ptr<SubtitleSam
str.Trim();
if (!str.IsEmpty()) {
- pRTS->Add(AToW(str), false, (int)(pSample->rtStart / 10000), (int)(pSample->rtStop / 10000));
+ pRTS->Add(AToW(str), false, pSample->rtStart, pSample->rtStop);
bInvalidate = true;
}
}
@@ -426,7 +428,7 @@ REFERENCE_TIME CSubtitleInputPin::DecodeSample(const std::unique_ptr<SubtitleSam
CStringW str = UTF8To16(CStringA((LPCSTR)pSample->data.data(), (int)pSample->data.size())).Trim();
if (!str.IsEmpty()) {
- pRTS->Add(str, true, (int)(pSample->rtStart / 10000), (int)(pSample->rtStop / 10000));
+ pRTS->Add(str, true, pSample->rtStart, pSample->rtStop);
bInvalidate = true;
}
} else if (m_mt.subtype == MEDIASUBTYPE_SSA || m_mt.subtype == MEDIASUBTYPE_ASS || m_mt.subtype == MEDIASUBTYPE_ASS2) {
@@ -456,7 +458,7 @@ REFERENCE_TIME CSubtitleInputPin::DecodeSample(const std::unique_ptr<SubtitleSam
}
if (!stse.str.IsEmpty()) {
- pRTS->Add(stse.str, true, (int)(pSample->rtStart / 10000), (int)(pSample->rtStop / 10000),
+ pRTS->Add(stse.str, true, pSample->rtStart, pSample->rtStop,
stse.style, stse.actor, stse.effect, stse.marginRect, stse.layer, stse.readorder);
bInvalidate = true;
}
diff --git a/src/Subtitles/Subtitles.vcxproj b/src/Subtitles/Subtitles.vcxproj
index 4d64358d6..7cbdf9cf2 100644
--- a/src/Subtitles/Subtitles.vcxproj
+++ b/src/Subtitles/Subtitles.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/Subtitles/Subtitles.vcxproj.filters b/src/Subtitles/Subtitles.vcxproj.filters
index 706743683..7bc333c42 100644
--- a/src/Subtitles/Subtitles.vcxproj.filters
+++ b/src/Subtitles/Subtitles.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{11712c7b-74ef-4965-a813-5290f06e30a4}</UniqueIdentifier>
diff --git a/src/Subtitles/TextFile.cpp b/src/Subtitles/TextFile.cpp
index dbe2d44cf..6fe78ea2a 100644
--- a/src/Subtitles/TextFile.cpp
+++ b/src/Subtitles/TextFile.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -223,7 +223,7 @@ void CTextFile::WriteString(LPCWSTR lpsz/*CStringW str*/)
__super::WriteString(WToT(str));
} else if (m_encoding == ANSI) {
str.Replace(L"\n", L"\r\n");
- CStringA stra = CStringA(CString(str)); // TODO: codepage
+ CStringA stra(str); // TODO: codepage
Write((LPCSTR)stra, stra.GetLength());
} else if (m_encoding == UTF8) {
str.Replace(L"\n", L"\r\n");
diff --git a/src/Subtitles/USFSubtitles.cpp b/src/Subtitles/USFSubtitles.cpp
index dedd644c1..e721efbc7 100644
--- a/src/Subtitles/USFSubtitles.cpp
+++ b/src/Subtitles/USFSubtitles.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -42,8 +42,8 @@
#define BeginEnumChildren(pNode, pChild) \
{ \
- CComPtr<IXMLDOMNode> pChild, pNext; \
- for (pNode->get_firstChild(&pChild); pChild; pNext = nullptr, pChild->get_nextSibling(&pNext), pChild = pNext) {
+ CComPtr<IXMLDOMNode> pChild, pChild##Next; \
+ for (pNode->get_firstChild(&pChild); pChild; pChild##Next = nullptr, pChild->get_nextSibling(&pChild##Next), pChild = pChild##Next) {
#define EndEnumChildren }}
diff --git a/src/Subtitles/VobSubFile.cpp b/src/Subtitles/VobSubFile.cpp
index 6567cb137..79aca2fb5 100644
--- a/src/Subtitles/VobSubFile.cpp
+++ b/src/Subtitles/VobSubFile.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -600,12 +600,15 @@ bool CVobSubFile::ReadIdx(CString fn, int& ver)
} else if (entry == _T("palette")) {
// The assert guarantees that the shortcut we use will work as expected
static_assert(sizeof(RGBQUAD) == 4, "Packing error");
+#pragma warning(push)
+#pragma warning(disable: 4477)
if (_stscanf_s(str, _T("%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x"),
&m_orgpal[0], &m_orgpal[1], &m_orgpal[2], &m_orgpal[3],
&m_orgpal[4], &m_orgpal[5], &m_orgpal[6], &m_orgpal[7],
&m_orgpal[8], &m_orgpal[9], &m_orgpal[10], &m_orgpal[11],
&m_orgpal[12], &m_orgpal[13], &m_orgpal[14], &m_orgpal[15]
) != 16) {
+#pragma warning(pop)
bError = true;
}
} else if (entry == _T("custom colors")) {
@@ -641,7 +644,10 @@ bool CVobSubFile::ReadIdx(CString fn, int& ver)
str = str.Mid(i + (int)_tcslen(_T("colors:")));
RGBQUAD pal[4];
+#pragma warning(push)
+#pragma warning(disable: 4477)
if (_stscanf_s(str, _T("%x,%x,%x,%x"), &pal[0], &pal[1], &pal[2], &pal[3]) != 4) {
+#pragma warning(pop)
bError = true;
continue;
}
@@ -1818,7 +1824,7 @@ bool CVobSubFile::SaveWinSubMux(CString fn, int delay)
}
CString bmpfn;
- bmpfn.Format(_T("%s_%06u.bmp"), fn, i + 1);
+ bmpfn.Format(_T("%s_%06Iu.bmp"), fn, i + 1);
CString str;
str.Format(_T("%s\t%02d:%02d:%02d:%02d %02d:%02d:%02d:%02d\t%03d %03d %03d %03d %d %d %d %d\n"),
@@ -2012,7 +2018,7 @@ bool CVobSubFile::SaveScenarist(CString fn, int delay)
}
CString bmpfn;
- bmpfn.Format(_T("%s_%04u.bmp"), fn, i + 1);
+ bmpfn.Format(_T("%s_%04Iu.bmp"), fn, i + 1);
title = bmpfn.Mid(bmpfn.ReverseFind('/') + 1);
// E1, E2, P, Bg
@@ -2242,7 +2248,7 @@ bool CVobSubFile::SaveMaestro(CString fn, int delay)
}
CString bmpfn;
- bmpfn.Format(_T("%s_%04u.bmp"), fn, i + 1);
+ bmpfn.Format(_T("%s_%04Iu.bmp"), fn, i + 1);
title = bmpfn.Mid(bmpfn.ReverseFind('/') + 1);
// E1, E2, P, Bg
@@ -2367,7 +2373,7 @@ void CVobSubStream::Open(CString name, BYTE* pData, int len)
m_name = name;
CAtlList<CString> lines;
- Explode(CString(CStringA((CHAR*)pData, len)), lines, '\n');
+ Explode(CString(CStringA((CHAR*)pData, len)), lines, _T('\n'));
while (lines.GetCount()) {
CAtlList<CString> sl;
Explode(lines.RemoveHead(), sl, ':', 2);
diff --git a/src/Subtitles/VobSubFileRipper.cpp b/src/Subtitles/VobSubFileRipper.cpp
index 00bd17638..f79ab0fa9 100644
--- a/src/Subtitles/VobSubFileRipper.cpp
+++ b/src/Subtitles/VobSubFileRipper.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -417,6 +417,8 @@ bool CVobSubFileRipper::LoadVob(CString fn)
return true;
}
+#pragma warning(push)
+#pragma warning(disable: 4702)
DWORD CVobSubFileRipper::ThreadProc()
{
SetThreadPriority(m_hThread, THREAD_PRIORITY_BELOW_NORMAL);
@@ -449,8 +451,8 @@ DWORD CVobSubFileRipper::ThreadProc()
m_bBreakThread = false;
m_bThreadActive = false;
}
-
- return 1;
+ UNREACHABLE_CODE(); // we should only exit via CMD_EXIT
+#pragma warning(pop)
}
static int SubPosSortProc(const void* e1, const void* e2)
@@ -967,7 +969,7 @@ STDMETHODIMP CVobSubFileRipper::LoadParamFile(CString fn)
if (line.Find('v') >= 0) {
int vob = 0, cell = 0;
- line += ' ';
+ line += _T(' ');
TCHAR* s = (LPTSTR)(LPCTSTR)line;
TCHAR* e = s + line.GetLength();
@@ -1013,7 +1015,7 @@ STDMETHODIMP CVobSubFileRipper::LoadParamFile(CString fn)
m_rd.bClosedCaption = true;
phase = P_OPTIONS;
} else {
- line += ' ';
+ line += _T(' ');
while (!line.IsEmpty()) {
int n = line.Find(_T(" "));
@@ -1033,7 +1035,7 @@ STDMETHODIMP CVobSubFileRipper::LoadParamFile(CString fn)
m_rd.selids[(BYTE)langnum] = true;
} else if (_istalpha(lang[0])) {
- n = _stscanf_s(lang, _T("%s"), langid, _countof(langid));
+ n = _stscanf_s(lang, _T("%s"), langid, UINT(_countof(langid)));
if (n != 1) {
break;
}
diff --git a/src/Subtitles/VobSubImage.cpp b/src/Subtitles/VobSubImage.cpp
index c797f40e5..4229b0f0f 100644
--- a/src/Subtitles/VobSubImage.cpp
+++ b/src/Subtitles/VobSubImage.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,7 +22,7 @@
#include "stdafx.h"
#include "VobSubImage.h"
#include "RTS.h"
-#include <math.h>
+#include <cmath>
#include <algorithm>
CVobSubImage::CVobSubImage()
@@ -97,13 +97,13 @@ void CVobSubImage::Free()
lpPixels = nullptr;
}
-bool CVobSubImage::Decode(BYTE* lpData, size_t packetSize, size_t dataSize, int t,
- bool bCustomPal,
- int tridx,
- RGBQUAD* orgpal /*[16]*/, RGBQUAD* cuspal /*[4]*/,
- bool bTrim)
+bool CVobSubImage::Decode(BYTE* _lpData, size_t _packetSize, size_t _dataSize, int _t,
+ bool _bCustomPal,
+ int _tridx,
+ RGBQUAD* _orgpal /*[16]*/, RGBQUAD* _cuspal /*[4]*/,
+ bool _bTrim)
{
- GetPacketInfo(lpData, packetSize, dataSize, t);
+ GetPacketInfo(_lpData, _packetSize, _dataSize, _t);
if (!Alloc(rect.Width(), rect.Height())) {
return false;
@@ -114,22 +114,22 @@ bool CVobSubImage::Decode(BYTE* lpData, size_t packetSize, size_t dataSize, int
nPlane = 0;
bAligned = true;
- this->bCustomPal = bCustomPal;
- this->orgpal = orgpal;
- this->tridx = tridx;
- this->cuspal = cuspal;
+ bCustomPal = _bCustomPal;
+ orgpal = _orgpal;
+ tridx = _tridx;
+ cuspal = _cuspal;
CPoint p = rect.TopLeft();
- size_t end[] = { nOffset[1], dataSize };
+ size_t end[] = { nOffset[1], _dataSize };
while (nOffset[nPlane] < end[nPlane]) {
DWORD code;
- if ((code = GetNibble(lpData)) >= 0x4
- || (code = (code << 4) | GetNibble(lpData)) >= 0x10
- || (code = (code << 4) | GetNibble(lpData)) >= 0x40
- || (code = (code << 4) | GetNibble(lpData)) >= 0x100) {
+ if ((code = GetNibble(_lpData)) >= 0x4
+ || (code = (code << 4) | GetNibble(_lpData)) >= 0x10
+ || (code = (code << 4) | GetNibble(_lpData)) >= 0x40
+ || (code = (code << 4) | GetNibble(_lpData)) >= 0x100) {
DrawPixels(p, code >> 2, code & 3);
if ((p.x += code >> 2) < rect.right) {
continue;
@@ -139,7 +139,7 @@ bool CVobSubImage::Decode(BYTE* lpData, size_t packetSize, size_t dataSize, int
DrawPixels(p, rect.right - p.x, code & 3);
if (!bAligned) {
- GetNibble(lpData); // align to byte
+ GetNibble(_lpData); // align to byte
}
p.x = rect.left;
@@ -149,7 +149,7 @@ bool CVobSubImage::Decode(BYTE* lpData, size_t packetSize, size_t dataSize, int
rect.bottom = std::min(p.y, rect.bottom);
- if (bTrim) {
+ if (_bTrim) {
TrimSubImage();
}
@@ -161,7 +161,7 @@ void CVobSubImage::GetPacketInfo(const BYTE* lpData, size_t packetSize, size_t d
// delay = 0;
size_t i, nextctrlblk = dataSize;
- WORD pal = 0, tr = 0;
+ WORD _pal = 0, tr = 0;
WORD nPal = 0, nTr = 0;
do {
@@ -229,7 +229,7 @@ void CVobSubImage::GetPacketInfo(const BYTE* lpData, size_t packetSize, size_t d
delay = tCurrent;
break;
case 0x03:
- pal = (lpData[i] << 8) | lpData[i + 1];
+ _pal = (lpData[i] << 8) | lpData[i + 1];
i += 2;
nPal++;
break;
@@ -263,7 +263,7 @@ void CVobSubImage::GetPacketInfo(const BYTE* lpData, size_t packetSize, size_t d
} while (i <= nextctrlblk && i < packetSize);
for (i = 0; i < 4; i++) {
- this->pal[i].pal = (pal >> (i << 2)) & 0xf;
+ this->pal[i].pal = (_pal >> (i << 2)) & 0xf;
this->pal[i].tr = (tr >> (i << 2)) & 0xf;
}
@@ -902,13 +902,13 @@ static bool FitBezierVH(COutline& o, CPoint& p1, CPoint& p2)
return true;
}
-int CVobSubImage::GrabSegment(int start, const COutline& o, COutline& ret)
+int CVobSubImage::GrabSegment(int _start, const COutline& o, COutline& ret)
{
ret.RemoveAll();
int len = int(o.pa.GetCount());
- int cur = (start) % len, first = -1, last = -1;
+ int cur = (_start) % len, first = -1, last = -1;
int lastDir = 0;
for (ptrdiff_t i = 0; i < len; i++) {
@@ -923,19 +923,19 @@ int CVobSubImage::GrabSegment(int start, const COutline& o, COutline& ret)
}
if (lastDir == o.da[cur]) {
- CPoint startp = o.pa[first] + o.pa[start];
+ CPoint startp = o.pa[first] + o.pa[_start];
startp.x >>= 1;
startp.y >>= 1;
CPoint endp = o.pa[last] + o.pa[cur];
endp.x >>= 1;
endp.y >>= 1;
- if (first < start) {
+ if (first < _start) {
first += len;
}
- start = ((start + first) >> 1) + 1;
- if (start >= len) {
- start -= len;
+ _start = ((_start + first) >> 1) + 1;
+ if (_start >= len) {
+ _start -= len;
}
if (cur < last) {
cur += len;
@@ -947,12 +947,12 @@ int CVobSubImage::GrabSegment(int start, const COutline& o, COutline& ret)
ret.Add(startp, 0);
- while (start != cur) {
- ret.Add(o.pa[start], o.da[start]);
+ while (_start != cur) {
+ ret.Add(o.pa[_start], o.da[_start]);
- start++;
- if (start >= len) {
- start -= len;
+ _start++;
+ if (_start >= len) {
+ _start -= len;
}
}
@@ -967,7 +967,7 @@ int CVobSubImage::GrabSegment(int start, const COutline& o, COutline& ret)
ASSERT(0);
- return start;
+ return _start;
}
void CVobSubImage::SplitOutline(const COutline& o, COutline& o1, COutline& o2)
@@ -1080,8 +1080,8 @@ void CVobSubImage::AddSegment(COutline& o, CAtlArray<BYTE>& pathTypes, CAtlArray
return;
}
- int start, end;
- if (FitLine(o, start, end)) { // b-spline, line, b-spline
+ int _start, _end;
+ if (FitLine(o, _start, _end)) { // b-spline, line, b-spline
pathTypes.Add(PT_MOVETONC);
pathPoints.Add(o.pa[0] + (o.pa[0] - o.pa[1]));
@@ -1091,26 +1091,26 @@ void CVobSubImage::AddSegment(COutline& o, CAtlArray<BYTE>& pathTypes, CAtlArray
pathTypes.Add(PT_BSPLINETO);
pathPoints.Add(o.pa[1]);
- CPoint p[4], pp, d = o.pa[end] - o.pa[start];
+ CPoint p[4], pp, d = o.pa[_end] - o.pa[_start];
double l = sqrt((double)(d.x * d.x + d.y * d.y)), dx = 1.0 * d.x / l, dy = 1.0 * d.y / l;
- pp = o.pa[start] - o.pa[start - 1];
+ pp = o.pa[_start] - o.pa[_start - 1];
double l1 = abs(pp.x) + abs(pp.y);
- pp = o.pa[end] - o.pa[end + 1];
+ pp = o.pa[_end] - o.pa[_end + 1];
double l2 = abs(pp.x) + abs(pp.y);
- p[0] = CPoint((int)(1.0 * o.pa[start].x + dx * l1 + 0.5), (int)(1.0 * o.pa[start].y + dy * l1 + 0.5));
- p[1] = CPoint((int)(1.0 * o.pa[start].x + dx * l1 * 2 + 0.5), (int)(1.0 * o.pa[start].y + dy * l1 * 2 + 0.5));
- p[2] = CPoint((int)(1.0 * o.pa[end].x - dx * l2 * 2 + 0.5), (int)(1.0 * o.pa[end].y - dy * l2 * 2 + 0.5));
- p[3] = CPoint((int)(1.0 * o.pa[end].x - dx * l2 + 0.5), (int)(1.0 * o.pa[end].y - dy * l2 + 0.5));
+ p[0] = CPoint((int)(1.0 * o.pa[_start].x + dx * l1 + 0.5), (int)(1.0 * o.pa[_start].y + dy * l1 + 0.5));
+ p[1] = CPoint((int)(1.0 * o.pa[_start].x + dx * l1 * 2 + 0.5), (int)(1.0 * o.pa[_start].y + dy * l1 * 2 + 0.5));
+ p[2] = CPoint((int)(1.0 * o.pa[_end].x - dx * l2 * 2 + 0.5), (int)(1.0 * o.pa[_end].y - dy * l2 * 2 + 0.5));
+ p[3] = CPoint((int)(1.0 * o.pa[_end].x - dx * l2 + 0.5), (int)(1.0 * o.pa[_end].y - dy * l2 + 0.5));
- if (start == 1) {
+ if (_start == 1) {
pathTypes.Add(PT_BSPLINETO);
pathPoints.Add(p[0]);
} else {
pathTypes.Add(PT_BSPLINETO);
pathPoints.Add(o.pa[2]);
- for (ptrdiff_t k = 3; k <= start; k++) {
+ for (ptrdiff_t k = 3; k <= _start; k++) {
pathTypes.Add(PT_BSPLINEPATCHTO);
pathPoints.Add(o.pa[k]);
}
@@ -1134,7 +1134,7 @@ void CVobSubImage::AddSegment(COutline& o, CAtlArray<BYTE>& pathTypes, CAtlArray
pathTypes.Add(PT_BSPLINEPATCHTO);
pathPoints.Add(p[3]);
- for (i = end; i < len; i++) {
+ for (i = _end; i < len; i++) {
pathTypes.Add(PT_BSPLINEPATCHTO);
pathPoints.Add(o.pa[i]);
}
diff --git a/src/common-3rd-party.props b/src/common-3rd-party.props
index 03f400dbb..82203efb6 100644
--- a/src/common-3rd-party.props
+++ b/src/common-3rd-party.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<EnablePREfast>false</EnablePREfast>
diff --git a/src/common.props b/src/common.props
index 5b7686e77..eec532b5d 100644
--- a/src/common.props
+++ b/src/common.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IntDir>$(SolutionDir)bin\obj\$(Configuration)_$(PlatformName)\$(ProjectName)\</IntDir>
<OutDir>$(SolutionDir)bin\lib\$(Configuration)_$(PlatformName)\</OutDir>
@@ -7,12 +7,12 @@
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">$(SolutionDir)bin\Filters_x64_Debug\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">$(SolutionDir)bin\Filters_x86\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">$(SolutionDir)bin\Filters_x64\</OutDir>
- <LinkIncremental Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='Debug Filter' Or '$(Configuration)'=='Debug Lite'">true</LinkIncremental>
- <LinkIncremental Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Release Filter' Or '$(Configuration)'=='Release Lite'">false</LinkIncremental>
+ <LinkIncremental Condition="$(Configuration.Contains('Debug'))">true</LinkIncremental>
+ <LinkIncremental Condition="$(Configuration.Contains('Release'))">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalOptions>/w34701 /w34706 /Zo /Zc:rvalueCast %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions>/w34701 /w34706 /Zo /std:c++latest /Zc:throwingNew /Zc:rvalueCast %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(ANALYZE)'=='true'">/wd4005 /wd6031 /wd6246 /wd6309 /wd6387 /wd28204 %(AdditionalOptions)</AdditionalOptions>
<EnablePREfast Condition="'$(ANALYZE)'=='true'">true</EnablePREfast>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -34,11 +34,12 @@
</Lib>
<Link>
<DataExecutionPrevention>true</DataExecutionPrevention>
- <GenerateDebugInformation>true</GenerateDebugInformation>
+ <GenerateDebugInformation>Debug</GenerateDebugInformation>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<TargetMachine Condition="'$(Platform)'=='Win32'">MachineX86</TargetMachine>
<TargetMachine Condition="'$(Platform)'=='x64'">MachineX64</TargetMachine>
+ <AdditionalDependencies>notelemetry.obj;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<Culture>0x0409</Culture>
@@ -46,7 +47,7 @@
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='Debug Filter' Or '$(Configuration)'=='Debug Lite'">
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Debug'))">
<ClCompile>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<DebugInformationFormat Condition="'$(Platform)'=='Win32'">EditAndContinue</DebugInformationFormat>
@@ -60,9 +61,10 @@
</ResourceCompile>
<Link>
<ImageHasSafeExceptionHandlers Condition="'$(Platform)'=='Win32'">false</ImageHasSafeExceptionHandlers>
+ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Release Filter' Or '$(Configuration)'=='Release Lite'">
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Release'))">
<ClCompile>
<AdditionalOptions>/Zc:inline %(AdditionalOptions)</AdditionalOptions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@@ -83,7 +85,7 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LargeAddressAware Condition="'$(Platform)'=='Win32'">true</LargeAddressAware>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+ <LinkTimeCodeGeneration>UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<MergeSections>.rdata=.text</MergeSections>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
diff --git a/src/filters/FilterApp.cpp b/src/filters/FilterApp.cpp
index a9e882a3f..b7a2c899f 100644
--- a/src/filters/FilterApp.cpp
+++ b/src/filters/FilterApp.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,6 @@
#include "stdafx.h"
#include "FilterApp.h"
-#include "../MathLibFix/MathLibFix.h"
extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);
@@ -35,8 +34,6 @@ BOOL CFilterApp::InitInstance()
return FALSE;
}
- WorkAroundMathLibraryBug();
-
SetRegistryKey(_T("Gabest"));
DllEntryPoint(AfxGetInstanceHandle(), DLL_PROCESS_ATTACH, 0);
diff --git a/src/filters/Filters.vcxproj b/src/filters/Filters.vcxproj
index 46093bfeb..44fa3c0e5 100644
--- a/src/filters/Filters.vcxproj
+++ b/src/filters/Filters.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -106,8 +61,9 @@
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\MathLibFix\MathLibFix.vcxproj">
- <Project>{fc9fc17f-70bf-4aca-8285-c24d1889bacb}</Project>
+ <ProjectReference Include="..\..\build\BuildConfig.vcxproj">
+ <Project>{981574ae-5a5e-4f27-bdf1-1b841e374cff}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\thirdparty\BaseClasses\BaseClasses.vcxproj">
<Project>{e8a3f6fa-ae1c-4c8e-a0b6-9c8480324eaa}</Project>
diff --git a/src/filters/Filters.vcxproj.filters b/src/filters/Filters.vcxproj.filters
index 07513538f..d5e04f352 100644
--- a/src/filters/Filters.vcxproj.filters
+++ b/src/filters/Filters.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{f8b5bbc2-2fe8-4b4f-bc46-236e4ad3d92d}</UniqueIdentifier>
diff --git a/src/filters/PinInfoWnd.cpp b/src/filters/PinInfoWnd.cpp
index 2ba426472..6e92daa78 100644
--- a/src/filters/PinInfoWnd.cpp
+++ b/src/filters/PinInfoWnd.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,8 @@
#include "stdafx.h"
#include "PinInfoWnd.h"
#include "../DSUtil/DSUtil.h"
+#include "../mpc-hc/DpiHelper.h"
+#include "../DSUtil/MediaTypeEx.h"
//
// CPinInfoWnd
@@ -74,17 +76,23 @@ static LRESULT CALLBACK ControlProc(HWND control, UINT message, WPARAM wParam, L
bool CPinInfoWnd::OnActivate()
{
- DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP;
- CPoint p(10, 10);
+ m_dpi.Override(GetSafeHwnd());
- m_pin_static.Create(_T("Pin:"), dwStyle, CRect(p + CPoint(0, 3), CSize(30, m_fontheight)), this);
- m_pin_combo.Create(dwStyle | CBS_DROPDOWNLIST, CRect(p + CPoint(30, 0), CSize(450, 200)), this, IDC_PP_COMBO1);
+ DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP;
+ CPoint p(m_dpi.ScaleX(10), m_dpi.ScaleY(10));
+
+ m_pin_static.Create(_T("Pin:"), dwStyle,
+ CRect(p + CPoint(m_dpi.ScaleX(0), m_dpi.ScaleY(3)), CSize(m_dpi.ScaleX(30), m_fontheight)),
+ this);
+ m_pin_combo.Create(dwStyle | CBS_DROPDOWNLIST,
+ CRect(p + CPoint(m_dpi.ScaleX(30), m_dpi.ScaleY(0)), CSize(m_dpi.ScaleX(520), m_dpi.ScaleY(200))),
+ this, IDC_PP_COMBO1);
BeginEnumPins(m_pBF, pEP, pPin) {
CPinInfo pi;
if (FAILED(pPin->QueryPinInfo(&pi))) {
continue;
}
- CString str = CString(pi.achName);
+ CString str(pi.achName);
if (!str.Find(_T("Apple"))) {
str.Delete(0, 1);
}
@@ -99,7 +107,7 @@ bool CPinInfoWnd::OnActivate()
EndEnumPins;
m_pin_combo.SetCurSel(0);
- p.y += m_fontheight + 20;
+ p.y += m_fontheight + m_dpi.ScaleY(20);
m_info_edit.CreateEx(WS_EX_CLIENTEDGE,
_T("EDIT"),
@@ -109,9 +117,8 @@ bool CPinInfoWnd::OnActivate()
WS_VSCROLL |
WS_HSCROLL |
ES_MULTILINE |
- ES_AUTOHSCROLL |
ES_READONLY,
- CRect(p, CSize(480, m_fontheight * 20)),
+ CRect(p, CSize(m_dpi.ScaleX(550), m_fontheight * 30)),
this,
IDC_PP_EDIT1);
m_info_edit.SetLimitText(60000);
diff --git a/src/filters/PinInfoWnd.h b/src/filters/PinInfoWnd.h
index 441d1764f..6fa7ef346 100644
--- a/src/filters/PinInfoWnd.h
+++ b/src/filters/PinInfoWnd.h
@@ -22,7 +22,8 @@
#pragma once
#include "InternalPropertyPage.h"
-#include <afxcmn.h>
+#include "../mpc-hc/DpiHelper.h"
+#include <atlcoll.h>
class __declspec(uuid("A1EB391C-6089-4A87-9988-BE50872317D4"))
CPinInfoWnd : public CInternalPropertyPageWnd
@@ -38,6 +39,8 @@ class __declspec(uuid("A1EB391C-6089-4A87-9988-BE50872317D4"))
CComboBox m_pin_combo;
CEdit m_info_edit;
+ DpiHelper m_dpi;
+
void AddLine(CString str);
public:
@@ -50,7 +53,7 @@ public:
bool OnApply();
static LPCTSTR GetWindowTitle() { return _T("Pin Info"); }
- static CSize GetWindowSize() { return CSize(500, 300); }
+ static CSize GetWindowSize() { return { 0, 0 }; }
DECLARE_MESSAGE_MAP()
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxer.cpp b/src/filters/muxer/BaseMuxer/BaseMuxer.cpp
index 33fc1662a..25368cbd0 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxer.cpp
+++ b/src/filters/muxer/BaseMuxer/BaseMuxer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -114,6 +114,8 @@ HRESULT CBaseMuxerFilter::CreateRawOutput(CStringW name, CBaseMuxerRawOutputPin*
//
+#pragma warning(push)
+#pragma warning(disable: 4702)
DWORD CBaseMuxerFilter::ThreadProc()
{
SetThreadPriority(m_hThread, THREAD_PRIORITY_ABOVE_NORMAL);
@@ -158,7 +160,7 @@ DWORD CBaseMuxerFilter::ThreadProc()
continue;
}
- CAutoPtr<MuxerPacket> pPacket = GetPacket();
+ CAutoPtr<MuxerPacket> pPacket(GetPacket().Detach());
if (!pPacket) {
Sleep(1);
continue;
@@ -193,11 +195,8 @@ DWORD CBaseMuxerFilter::ThreadProc()
break;
}
}
-
- ASSERT(0); // this function should only return via CMD_EXIT
-
- CAMThread::m_hThread = nullptr;
- return 0;
+ UNREACHABLE_CODE(); // we should only exit via CMD_EXIT
+#pragma warning(pop)
}
void CBaseMuxerFilter::MuxHeaderInternal()
@@ -298,7 +297,7 @@ CAutoPtr<MuxerPacket> CBaseMuxerFilter::GetPacket()
CAutoPtr<MuxerPacket> pPacket;
if (pPinMin && i == 0) {
- pPacket = pPinMin->PopPacket();
+ pPacket.Attach(pPinMin->PopPacket().Detach());
} else {
pos = m_pActivePins.GetHeadPosition();
while (pos) {
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
index f4542f274..0b774cefb 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
+++ b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj.filters b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj.filters
index ef6d8c461..5b978fca9 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj.filters
+++ b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{b0dec0e2-a0fd-4979-b3c8-e2a8b7b8a7b9}</UniqueIdentifier>
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp b/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
index 8cb244c52..a55ade0e7 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
+++ b/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,7 +24,6 @@
#include <MMReg.h>
#include "BaseMuxer.h"
#include "../../../DSUtil/DSUtil.h"
-#include <InitGuid.h>
#include "moreuuids.h"
#define MAXQUEUESIZE 100
@@ -95,7 +94,7 @@ CAutoPtr<MuxerPacket> CBaseMuxerInputPin::PopPacket()
CAutoLock cAutoLock(&m_csQueue);
if (m_queue.GetCount()) {
- pPacket = m_queue.RemoveHead();
+ pPacket.Attach(m_queue.RemoveHead().Detach());
}
if (m_queue.GetCount() < MAXQUEUESIZE) {
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxerOutputPin.cpp b/src/filters/muxer/BaseMuxer/BaseMuxerOutputPin.cpp
index e4408028c..283478d30 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxerOutputPin.cpp
+++ b/src/filters/muxer/BaseMuxer/BaseMuxerOutputPin.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -27,8 +27,8 @@
#include <aviriff.h>
#include <atlpath.h>
-#include <InitGuid.h>
#include "moreuuids.h"
+#include "../DSUtil/ISOLang.h"
//
// CBaseMuxerOutputPin
@@ -459,15 +459,15 @@ void CBaseMuxerRawOutputPin::MuxFooter(const CMediaType& mt)
fwrite(mt.Format() + si->dwOffset, mt.FormatLength() - si->dwOffset, 1, f);
- CString iso6391 = ISO6392To6391(si->IsoLang);
+ CString iso6391 = ISOLang::ISO6392To6391(si->IsoLang);
if (iso6391.IsEmpty()) {
iso6391 = _T("--");
}
- _ftprintf_s(f, _T("\nlangidx: 0\n\nid: %s, index: 0\n"), iso6391);
+ _ftprintf_s(f, _T("\nlangidx: 0\n\nid: %s, index: 0\n"), iso6391.GetString());
CString alt = CString(CStringW(si->TrackName));
if (!alt.IsEmpty()) {
- _ftprintf_s(f, _T("alt: %s\n"), alt);
+ _ftprintf_s(f, _T("alt: %s\n"), alt.GetString());
}
POSITION pos = m_idx.GetHeadPosition();
diff --git a/src/filters/muxer/BaseMuxer/BitStream.cpp b/src/filters/muxer/BaseMuxer/BitStream.cpp
index f1e6b8a04..c58c45d88 100644
--- a/src/filters/muxer/BaseMuxer/BitStream.cpp
+++ b/src/filters/muxer/BaseMuxer/BitStream.cpp
@@ -30,8 +30,8 @@ CBitStream::CBitStream(IStream* pStream, bool fThrowError)
: CUnknown(_T("CBitStream"), nullptr)
, m_pStream(pStream)
, m_fThrowError(fThrowError)
- , m_bitlen(0)
, m_bitbuff(0)
+ , m_bitlen(0)
{
ASSERT(m_pStream);
diff --git a/src/filters/muxer/BaseMuxer/stdafx.h b/src/filters/muxer/BaseMuxer/stdafx.h
index 32bc34c45..0ebf71a17 100644
--- a/src/filters/muxer/BaseMuxer/stdafx.h
+++ b/src/filters/muxer/BaseMuxer/stdafx.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -33,7 +33,5 @@
#include <atlbase.h>
#include <atlcoll.h>
-#include <dshow.h>
#include "BaseClasses/streams.h"
-#include <dvdmedia.h>
#include "../../../DSUtil/DSUtil.h"
diff --git a/src/filters/muxer/DSMMuxer/DSMMuxer.cpp b/src/filters/muxer/DSMMuxer/DSMMuxer.cpp
index 192c8484c..265bdd9bf 100644
--- a/src/filters/muxer/DSMMuxer/DSMMuxer.cpp
+++ b/src/filters/muxer/DSMMuxer/DSMMuxer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -182,7 +182,7 @@ void CDSMMuxerFilter::MuxInit()
void CDSMMuxerFilter::MuxHeader(IBitStream* pBS)
{
CString muxer;
- muxer.Format(_T("DSM Muxer (%s)"), CString(__TIMESTAMP__));
+ muxer.Format(_T("DSM Muxer (%S)"), __TIMESTAMP__);
SetProperty(L"MUXR", CStringW(muxer));
SetProperty(L"DATE", CStringW(CTime::GetCurrentTime().FormatGmt(_T("%Y-%m-%d %H:%M:%S"))));
diff --git a/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj b/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj
index d4c002c5c..3f17d32a7 100644
--- a/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj
+++ b/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,152 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>DSMMuxer.def</ModuleDefinitionFile>
@@ -208,13 +92,13 @@
<ItemGroup>
<ClInclude Include="DSMMuxer.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="DSMMuxer.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj.filters b/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj.filters
index db6d2a69b..23b96ae45 100644
--- a/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj.filters
+++ b/src/filters/muxer/DSMMuxer/DSMMuxer.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{f2a0afa9-5123-40d6-9344-b1620d9ab714}</UniqueIdentifier>
diff --git a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
index c9c2de091..1d2946f62 100644
--- a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
+++ b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -359,6 +359,8 @@ ULONGLONG SetStreamPosition(IStream* pStream, ULONGLONG seekpos)
return posnew.QuadPart;
}
+#pragma warning(push)
+#pragma warning(disable: 4702)
DWORD CMatroskaMuxerFilter::ThreadProc()
{
CComQIPtr<IStream> pStream;
@@ -573,7 +575,7 @@ DWORD CMatroskaMuxerFilter::ThreadProc()
{
CAutoLock cAutoLock(&pPin->m_csQueue);
- b = pPin->m_blocks.RemoveHead();
+ b.Attach(pPin->m_blocks.RemoveHead().Detach());
}
if (b) {
@@ -704,11 +706,8 @@ DWORD CMatroskaMuxerFilter::ThreadProc()
break;
}
}
-
- ASSERT(0); // we should only exit via CMD_EXIT
-
- CAMThread::m_hThread = nullptr;
- return 0;
+ UNREACHABLE_CODE(); // we should only exit via CMD_EXIT
+#pragma warning(pop)
}
//
diff --git a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj
index 088585918..0bf089772 100644
--- a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj
+++ b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,152 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>MatroskaMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>MatroskaMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>MatroskaMuxer.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>MatroskaMuxer.def</ModuleDefinitionFile>
@@ -210,13 +94,13 @@
<ClInclude Include="MatroskaFile.h" />
<ClInclude Include="MatroskaMuxer.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="MatroskaMuxer.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj.filters b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj.filters
index d653d4775..3b9080e48 100644
--- a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj.filters
+++ b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{5ba8ecdf-2b3a-4c43-8d71-30a1bbc63dbb}</UniqueIdentifier>
diff --git a/src/filters/muxer/WavDest/WavDest.vcxproj b/src/filters/muxer/WavDest/WavDest.vcxproj
index 9665b74b7..7552a4fb8 100644
--- a/src/filters/muxer/WavDest/WavDest.vcxproj
+++ b/src/filters/muxer/WavDest/WavDest.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,149 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>WavDest.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>WavDest.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>WavDest.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<ModuleDefinitionFile>WavDest.def</ModuleDefinitionFile>
</Link>
@@ -203,14 +90,14 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
<ClInclude Include="WavDest.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="WavDest.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/muxer/WavDest/WavDest.vcxproj.filters b/src/filters/muxer/WavDest/WavDest.vcxproj.filters
index 18dd873b1..d6dec7162 100644
--- a/src/filters/muxer/WavDest/WavDest.vcxproj.filters
+++ b/src/filters/muxer/WavDest/WavDest.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4e8bc353-99a5-4a8a-8345-30fa00f8868c}</UniqueIdentifier>
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.cpp b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
index 2e29e37c1..d80ed7061 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.cpp
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,6 @@
#include "stdafx.h"
#include "../../../DSUtil/DSUtil.h"
-#include <InitGuid.h>
#include "moreuuids.h"
#include "../../switcher/AudioSwitcher/AudioSwitcher.h"
#include "BaseSplitter.h"
@@ -65,7 +64,7 @@ CAutoPtr<Packet> CPacketQueue::Remove()
{
CAutoLock cAutoLock(this);
ASSERT(__super::GetCount() > 0);
- CAutoPtr<Packet> p = RemoveHead();
+ CAutoPtr<Packet> p(RemoveHead().Detach());
if (p) {
m_size -= p->GetDataSize();
}
@@ -388,7 +387,8 @@ int CBaseSplitterOutputPin::QueueSize()
HRESULT CBaseSplitterOutputPin::QueueEndOfStream()
{
- return QueuePacket(CAutoPtr<Packet>()); // NULL means EndOfStream
+ CAutoPtr<Packet> p;
+ return QueuePacket(p); // NULL means EndOfStream
}
HRESULT CBaseSplitterOutputPin::QueuePacket(CAutoPtr<Packet> p)
@@ -480,7 +480,7 @@ DWORD CBaseSplitterOutputPin::ThreadProc()
{
CAutoLock cAutoLock(&m_queue);
if ((cnt = m_queue.GetCount()) > 0) {
- p = m_queue.Remove();
+ p.Attach(m_queue.Remove().Detach());
}
}
@@ -905,7 +905,7 @@ HRESULT CBaseSplitterFilter::DeleteOutputs()
}
while (m_pOutputs.GetCount()) {
- CAutoPtr<CBaseSplitterOutputPin> pPin = m_pOutputs.RemoveHead();
+ CAutoPtr<CBaseSplitterOutputPin> pPin(m_pOutputs.RemoveHead().Detach());
if (IPin* pPinTo = pPin->GetConnected()) {
pPinTo->Disconnect();
}
@@ -950,6 +950,8 @@ void CBaseSplitterFilter::DeliverEndFlush()
m_eEndFlush.Set();
}
+#pragma warning(push)
+#pragma warning(disable: 4702)
DWORD CBaseSplitterFilter::ThreadProc()
{
if (m_pSyncReader) {
@@ -1012,11 +1014,8 @@ DWORD CBaseSplitterFilter::ThreadProc()
m_pActivePins.GetNext(pos)->QueueEndOfStream();
}
}
-
- ASSERT(0); // we should only exit via CMD_EXIT
-
- m_hThread = nullptr;
- return 0;
+ UNREACHABLE_CODE(); // we should only exit via CMD_EXIT
+#pragma warning(pop)
}
HRESULT CBaseSplitterFilter::DeliverPacket(CAutoPtr<Packet> p)
@@ -1254,7 +1253,7 @@ STDMETHODIMP CBaseSplitterFilter::Load(LPCOLESTR pszFileName, const AM_MEDIA_TYP
if (FAILED(hr)
|| FAILED(hr = DeleteOutputs())
|| FAILED(hr = CreateOutputs(pAsyncReader))) {
- m_fn = "";
+ m_fn.Empty();
return hr;
}
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
index 6379507e8..ababd13b4 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj.filters b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj.filters
index d218a4b82..0d75cd1e5 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj.filters
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{b95be5c7-0978-4aad-b33b-140fbdb42012}</UniqueIdentifier>
diff --git a/src/filters/parser/DSMSplitter/DSMSplitter.cpp b/src/filters/parser/DSMSplitter/DSMSplitter.cpp
index 8bf7f9363..b799c99bd 100644
--- a/src/filters/parser/DSMSplitter/DSMSplitter.cpp
+++ b/src/filters/parser/DSMSplitter/DSMSplitter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,13 +20,14 @@
*/
#include "stdafx.h"
-#include "DSMSplitter.h"
#include "../../../DSUtil/DSUtil.h"
+#include "../../../DSUtil/ISOLang.h"
#ifdef STANDALONE_FILTER
#include <InitGuid.h>
#endif
#include "moreuuids.h"
+#include "DSMSplitter.h"
#ifdef STANDALONE_FILTER
@@ -170,9 +171,12 @@ HRESULT CDSMSplitterFilter::CreateOutputs(IAsyncReader* pAsyncReader)
if (key == "NAME") {
name = value;
}
- if (key == "LANG") if ((lang = ISO6392ToLanguage(CStringA(CString(value)))).IsEmpty()) {
+ if (key == "LANG") {
+ lang = ISOLang::ISO6392ToLanguage(CStringA(value));
+ if (lang.IsEmpty()) {
lang = value;
}
+ }
}
if (!name.IsEmpty() || !lang.IsEmpty()) {
@@ -199,9 +203,9 @@ HRESULT CDSMSplitterFilter::CreateOutputs(IAsyncReader* pAsyncReader)
for (size_t i = 0; i < m_resources.GetCount(); i++) {
const CDSMResource& r = m_resources[i];
- if (r.mime == "application/x-truetype-font" ||
- r.mime == "application/x-font-ttf" ||
- r.mime == "application/vnd.ms-opentype") {
+ if (r.mime == L"application/x-truetype-font" ||
+ r.mime == L"application/x-font-ttf" ||
+ r.mime == L"application/vnd.ms-opentype") {
//m_fontinst.InstallFont(r.data);
m_fontinst.InstallFontMemory(r.data.GetData(), (UINT)r.data.GetCount());
}
diff --git a/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj b/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj
index d2c52d254..baefd385d 100644
--- a/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj
+++ b/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,152 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMSplitter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMSplitter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>DSMSplitter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>DSMSplitter.def</ModuleDefinitionFile>
@@ -210,13 +94,13 @@
<ClInclude Include="DSMSplitter.h" />
<ClInclude Include="DSMSplitterFile.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="DSMSplitter.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj.filters b/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj.filters
index 8b14f9ef1..83f06422a 100644
--- a/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj.filters
+++ b/src/filters/parser/DSMSplitter/DSMSplitter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{a337cc5d-54f7-4fa2-9559-6c88116d892c}</UniqueIdentifier>
diff --git a/src/filters/parser/StreamDriveThru/StreamDriveThru.cpp b/src/filters/parser/StreamDriveThru/StreamDriveThru.cpp
index efd02df97..3d4e7ba7f 100644
--- a/src/filters/parser/StreamDriveThru/StreamDriveThru.cpp
+++ b/src/filters/parser/StreamDriveThru/StreamDriveThru.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -105,6 +105,8 @@ STDMETHODIMP CStreamDriveThruFilter::NonDelegatingQueryInterface(REFIID riid, vo
#define PACKETSIZE 65536
+#pragma warning(push)
+#pragma warning(disable: 4702)
DWORD CStreamDriveThruFilter::ThreadProc()
{
for (;;) {
@@ -200,8 +202,8 @@ DWORD CStreamDriveThruFilter::ThreadProc()
break;
}
}
-
- return 0;
+ UNREACHABLE_CODE(); // we should only exit via CMD_EXIT
+#pragma warning(pop)
}
int CStreamDriveThruFilter::GetPinCount()
diff --git a/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj b/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj
index 86021d9e3..319a169a2 100644
--- a/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj
+++ b/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,152 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>StreamDriveThru.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>StreamDriveThru.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>StreamDriveThru.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>StreamDriveThru.def</ModuleDefinitionFile>
@@ -207,14 +91,14 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
<ClInclude Include="StreamDriveThru.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StreamDriveThru.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj.filters b/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj.filters
index a2d187b96..173cd5f6f 100644
--- a/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj.filters
+++ b/src/filters/parser/StreamDriveThru/StreamDriveThru.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{28a35247-c38a-473b-8877-78de4c5a56e6}</UniqueIdentifier>
diff --git a/src/filters/reader/CDDAReader/CDDAReader.vcxproj b/src/filters/reader/CDDAReader/CDDAReader.vcxproj
index 99c42cf64..d8a4dbe97 100644
--- a/src/filters/reader/CDDAReader/CDDAReader.vcxproj
+++ b/src/filters/reader/CDDAReader/CDDAReader.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,128 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDDAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDDAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDDAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>CDDAReader.def</ModuleDefinitionFile>
@@ -172,30 +80,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="CDDAReader.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -208,13 +92,13 @@
<ItemGroup>
<ClInclude Include="CDDAReader.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="CDDAReader.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/reader/CDDAReader/CDDAReader.vcxproj.filters b/src/filters/reader/CDDAReader/CDDAReader.vcxproj.filters
index d7904b8ac..0df042c20 100644
--- a/src/filters/reader/CDDAReader/CDDAReader.vcxproj.filters
+++ b/src/filters/reader/CDDAReader/CDDAReader.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{3251baa6-81ad-4ee0-a183-a0ace02fd96c}</UniqueIdentifier>
diff --git a/src/filters/reader/CDXAReader/CDXAReader.cpp b/src/filters/reader/CDXAReader/CDXAReader.cpp
index 9d111ab9c..8eee77f33 100644
--- a/src/filters/reader/CDXAReader/CDXAReader.cpp
+++ b/src/filters/reader/CDXAReader/CDXAReader.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -481,7 +481,7 @@ bool CCDXAStream::LookForMediaSubType()
}
CString p = pattern;
- p += ',';
+ p += _T(',');
__int64 offset = 0;
DWORD cb = 0;
diff --git a/src/filters/reader/CDXAReader/CDXAReader.vcxproj b/src/filters/reader/CDXAReader/CDXAReader.vcxproj
index af0da882b..c593478c4 100644
--- a/src/filters/reader/CDXAReader/CDXAReader.vcxproj
+++ b/src/filters/reader/CDXAReader/CDXAReader.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,128 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDXAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDXAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>CDXAReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>CDXAReader.def</ModuleDefinitionFile>
@@ -172,30 +80,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="CDXAReader.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -208,13 +92,13 @@
<ItemGroup>
<ClInclude Include="CDXAReader.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="CDXAReader.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/reader/CDXAReader/CDXAReader.vcxproj.filters b/src/filters/reader/CDXAReader/CDXAReader.vcxproj.filters
index 3c9763333..47d4a3b50 100644
--- a/src/filters/reader/CDXAReader/CDXAReader.vcxproj.filters
+++ b/src/filters/reader/CDXAReader/CDXAReader.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{bee90cb9-7ace-4e7d-b77a-1b4d710b5a25}</UniqueIdentifier>
diff --git a/src/filters/reader/VTSReader/VTSReader.vcxproj b/src/filters/reader/VTSReader/VTSReader.vcxproj
index d67e4185d..9f960ef2c 100644
--- a/src/filters/reader/VTSReader/VTSReader.vcxproj
+++ b/src/filters/reader/VTSReader/VTSReader.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,152 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VTSReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VTSReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VTSReader.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>VTSReader.def</ModuleDefinitionFile>
@@ -207,14 +91,14 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
<ClInclude Include="VTSReader.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="VTSReader.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/reader/VTSReader/VTSReader.vcxproj.filters b/src/filters/reader/VTSReader/VTSReader.vcxproj.filters
index f9804422c..1f898d5d8 100644
--- a/src/filters/reader/VTSReader/VTSReader.vcxproj.filters
+++ b/src/filters/reader/VTSReader/VTSReader.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{6f84c2e5-5b7f-4a7e-8f4b-1f45a45a3078}</UniqueIdentifier>
diff --git a/src/filters/renderer/SyncClock/SyncClock.h b/src/filters/renderer/SyncClock/SyncClock.h
index f7edc1943..40be493e9 100644
--- a/src/filters/renderer/SyncClock/SyncClock.h
+++ b/src/filters/renderer/SyncClock/SyncClock.h
@@ -1,5 +1,5 @@
/*
- * (C) 2010-2013 see Authors.txt
+ * (C) 2010-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,8 +20,6 @@
#pragma once
-#include <atlbase.h>
-#include <atlutil.h>
#include "Interfaces.h"
class CSyncClockFilter;
diff --git a/src/filters/renderer/SyncClock/SyncClock.vcxproj b/src/filters/renderer/SyncClock/SyncClock.vcxproj
index 131e1b69e..2d0e93dd6 100644
--- a/src/filters/renderer/SyncClock/SyncClock.vcxproj
+++ b/src/filters/renderer/SyncClock/SyncClock.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/filters/renderer/SyncClock/SyncClock.vcxproj.filters b/src/filters/renderer/SyncClock/SyncClock.vcxproj.filters
index 0964ef976..0703860a3 100644
--- a/src/filters/renderer/SyncClock/SyncClock.vcxproj.filters
+++ b/src/filters/renderer/SyncClock/SyncClock.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
index 96962ece3..dd37cfbd2 100644
--- a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
+++ b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -19,7 +19,6 @@
*/
#include "stdafx.h"
-#include <InitGuid.h>
#include "AllocatorCommon.h"
#include "../DSUtil/DSUtil.h"
diff --git a/src/filters/renderer/VideoRenderers/AllocatorCommon7.cpp b/src/filters/renderer/VideoRenderers/AllocatorCommon7.cpp
deleted file mode 100644
index 9853d6170..000000000
--- a/src/filters/renderer/VideoRenderers/AllocatorCommon7.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include <InitGuid.h>
-#include "AllocatorCommon7.h"
-#include "../DSUtil/DSUtil.h"
-
-#include "DX7AllocatorPresenter.h"
-#include "VMR7AllocatorPresenter.h"
-#include "RM7AllocatorPresenter.h"
-#include "QT7AllocatorPresenter.h"
-
-
-bool IsVMR7InGraph(IFilterGraph* pFG)
-{
- BeginEnumFilters(pFG, pEF, pBF);
- if (CComQIPtr<IVMRWindowlessControl>(pBF)) {
- return true;
- }
- EndEnumFilters;
- return false;
-}
-
-using namespace DSObjects;
-
-//
-
-HRESULT CreateAP7(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP)
-{
- CheckPointer(ppAP, E_POINTER);
-
- *ppAP = nullptr;
-
- HRESULT hr = S_OK;
-
- if (IsEqualCLSID(clsid, CLSID_VMR7AllocatorPresenter)) {
- *ppAP = DEBUG_NEW CVMR7AllocatorPresenter(hWnd, hr);
- } else if (IsEqualCLSID(clsid, CLSID_RM7AllocatorPresenter)) {
- *ppAP = DEBUG_NEW CRM7AllocatorPresenter(hWnd, hr);
- } else if (IsEqualCLSID(clsid, CLSID_QT7AllocatorPresenter)) {
- *ppAP = DEBUG_NEW CQT7AllocatorPresenter(hWnd, hr);
- } else {
- return E_FAIL;
- }
-
- if (*ppAP == nullptr) {
- return E_OUTOFMEMORY;
- }
-
- (*ppAP)->AddRef();
-
- if (FAILED(hr)) {
- (*ppAP)->Release();
- *ppAP = nullptr;
- }
-
- return hr;
-}
diff --git a/src/filters/renderer/VideoRenderers/AllocatorCommon7.h b/src/filters/renderer/VideoRenderers/AllocatorCommon7.h
deleted file mode 100644
index 49e9311f2..000000000
--- a/src/filters/renderer/VideoRenderers/AllocatorCommon7.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "../../../SubPic/ISubPic.h"
-
-
-// {495CF191-810D-44c7-92C5-E7D46AE00F44}
-DEFINE_GUID(CLSID_VMR7AllocatorPresenter,
- 0x495cf191, 0x810d, 0x44c7, 0x92, 0xc5, 0xe7, 0xd4, 0x6a, 0xe0, 0xf, 0x44);
-
-// {97B3462E-1752-4dfb-A038-271060BC7A94}
-DEFINE_GUID(CLSID_RM7AllocatorPresenter,
- 0x97b3462e, 0x1752, 0x4dfb, 0xa0, 0x38, 0x27, 0x10, 0x60, 0xbc, 0x7a, 0x94);
-
-// {36CC5A71-441C-462a-9D10-48A19485938D}
-DEFINE_GUID(CLSID_QT7AllocatorPresenter,
- 0x36cc5a71, 0x441c, 0x462a, 0x9d, 0x10, 0x48, 0xa1, 0x94, 0x85, 0x93, 0x8d);
-
-extern HRESULT CreateAP7(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP);
-
-extern bool IsVMR7InGraph(IFilterGraph* pFG);
diff --git a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp
deleted file mode 100644
index f13c1a472..000000000
--- a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "RenderersSettings.h"
-
-#include "DX7AllocatorPresenter.h"
-#include "../../../SubPic/DX7SubPic.h"
-#include "../../../SubPic/SubPicQueueImpl.h"
-
-using namespace DSObjects;
-
-//
-
-static HRESULT TextureBlt(IDirect3DDevice7* pD3DDev, IDirectDrawSurface7* pTexture, const Vector dst[4], const CRect& src)
-{
- CheckPointer(pTexture, E_POINTER);
-
- ASSERT(pD3DDev);
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(pTexture->GetSurfaceDesc(&ddsd))) {
- return E_FAIL;
- }
-
- float w = (float)ddsd.dwWidth;
- float h = (float)ddsd.dwHeight;
-
- // Be careful with the code that follows. Some compilers (e.g. Visual Studio 2012) used to miscompile
- // it in some cases (namely x64 with optimizations /O2 /Ot). This bug led pVertices not to be correctly
- // initialized and thus the subtitles weren't shown.
- struct {
- float x, y, z, rhw;
- float tu, tv;
- } pVertices[] = {
- {(float)dst[0].x, (float)dst[0].y, (float)dst[0].z, 1.0f / (float)dst[0].z, (float)src.left / w, (float)src.top / h},
- {(float)dst[1].x, (float)dst[1].y, (float)dst[1].z, 1.0f / (float)dst[1].z, (float)src.right / w, (float)src.top / h},
- {(float)dst[2].x, (float)dst[2].y, (float)dst[2].z, 1.0f / (float)dst[2].z, (float)src.left / w, (float)src.bottom / h},
- {(float)dst[3].x, (float)dst[3].y, (float)dst[3].z, 1.0f / (float)dst[3].z, (float)src.right / w, (float)src.bottom / h},
- };
-
- for (size_t i = 0; i < _countof(pVertices); i++) {
- pVertices[i].x -= 0.5f;
- pVertices[i].y -= 0.5f;
- }
-
- pD3DDev->SetTexture(0, pTexture);
-
- pD3DDev->SetRenderState(D3DRENDERSTATE_CULLMODE, D3DCULL_NONE);
- pD3DDev->SetRenderState(D3DRENDERSTATE_LIGHTING, FALSE);
- pD3DDev->SetRenderState(D3DRENDERSTATE_BLENDENABLE, FALSE);
- pD3DDev->SetRenderState(D3DRENDERSTATE_ALPHATESTENABLE, FALSE);
-
- pD3DDev->SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTFG_LINEAR);
- pD3DDev->SetTextureStageState(0, D3DTSS_MINFILTER, D3DTFN_LINEAR);
- pD3DDev->SetTextureStageState(0, D3DTSS_MIPFILTER, D3DTFP_LINEAR);
-
- pD3DDev->SetTextureStageState(0, D3DTSS_ADDRESS, D3DTADDRESS_CLAMP);
-
- //
-
- if (FAILED(pD3DDev->BeginScene())) {
- return E_FAIL;
- }
-
- pD3DDev->DrawPrimitive(D3DPT_TRIANGLESTRIP,
- D3DFVF_XYZRHW | D3DFVF_TEX1,
- pVertices, 4, D3DDP_WAIT);
- pD3DDev->EndScene();
-
- //
-
- pD3DDev->SetTexture(0, nullptr);
-
- return S_OK;
-}
-
-//
-// CDX7AllocatorPresenter
-//
-
-typedef HRESULT(WINAPI* DirectDrawCreateExPtr)(GUID FAR* lpGuid, LPVOID* lplpDD, REFIID iid, IUnknown FAR* pUnkOuter);
-
-
-CDX7AllocatorPresenter::CDX7AllocatorPresenter(HWND hWnd, HRESULT& hr)
- : CSubPicAllocatorPresenterImpl(hWnd, hr, nullptr)
- , m_ScreenSize(0, 0)
- , m_hDDrawLib(nullptr)
- , m_bIsRendering(false)
-{
- if (FAILED(hr)) {
- return;
- }
-
- DirectDrawCreateExPtr pDirectDrawCreateEx = nullptr;
-
- m_hDDrawLib = LoadLibrary(_T("ddraw.dll"));
- if (m_hDDrawLib) {
- pDirectDrawCreateEx = (DirectDrawCreateExPtr)GetProcAddress(m_hDDrawLib, "DirectDrawCreateEx");
- }
- if (pDirectDrawCreateEx == nullptr) {
- hr = E_FAIL;
- return;
- }
-
- if (FAILED(hr = pDirectDrawCreateEx(nullptr, (void**)&m_pDD, IID_IDirectDraw7, nullptr))
- || FAILED(hr = m_pDD->SetCooperativeLevel(AfxGetMainWnd()->GetSafeHwnd(), DDSCL_NORMAL))) {
- return;
- }
-
- if (!(m_pD3D = m_pDD)) {
- hr = E_NOINTERFACE;
- return;
- }
-
- hr = CreateDevice();
- if (FAILED(hr)) {
- TRACE(_T("CreateDevice failed: 0x%08x\n"), (LONG)hr);
- }
-}
-
-CDX7AllocatorPresenter::~CDX7AllocatorPresenter()
-{
- // Release the interfaces before releasing the library
- m_pPrimary = nullptr;
- m_pBackBuffer = nullptr;
- m_pVideoTexture = nullptr;
- m_pVideoSurface = nullptr;
- m_pD3DDev = nullptr;
- m_pD3D.Release();
- m_pDD = nullptr;
- if (m_hDDrawLib) {
- FreeLibrary(m_hDDrawLib);
- }
-}
-
-HRESULT CDX7AllocatorPresenter::CreateDevice()
-{
- const CRenderersSettings& r = GetRenderersSettings();
-
- m_pD3DDev = nullptr;
- m_pPrimary = nullptr;
- m_pBackBuffer = nullptr;
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(m_pDD->GetDisplayMode(&ddsd)) ||
- ddsd.ddpfPixelFormat.dwRGBBitCount <= 8) {
- return DDERR_INVALIDMODE;
- }
- m_refreshRate = ddsd.dwRefreshRate;
- m_ScreenSize.SetSize(ddsd.dwWidth, ddsd.dwHeight);
- CSize szDesktopSize(GetSystemMetrics(SM_CXVIRTUALSCREEN), GetSystemMetrics(SM_CYVIRTUALSCREEN));
-
- HRESULT hr;
-
- // m_pPrimary
-
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS;
- ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- if (FAILED(hr = m_pDD->CreateSurface(&ddsd, &m_pPrimary, nullptr))) {
- return hr;
- }
-
- CComPtr<IDirectDrawClipper> pcClipper;
- if (FAILED(hr = m_pDD->CreateClipper(0, &pcClipper, nullptr))) {
- return hr;
- }
- pcClipper->SetHWnd(0, m_hWnd);
- m_pPrimary->SetClipper(pcClipper);
-
- // m_pBackBuffer
-
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
- ddsd.ddsCaps.dwCaps = /*DDSCAPS_OFFSCREENPLAIN |*/ DDSCAPS_VIDEOMEMORY | DDSCAPS_3DDEVICE;
- ddsd.dwWidth = szDesktopSize.cx;
- ddsd.dwHeight = szDesktopSize.cy;
- if (FAILED(hr = m_pDD->CreateSurface(&ddsd, &m_pBackBuffer, nullptr))) {
- return hr;
- }
-
- pcClipper = nullptr;
- if (FAILED(hr = m_pDD->CreateClipper(0, &pcClipper, nullptr))) {
- return hr;
- }
- BYTE rgnDataBuffer[1024];
- HRGN hrgn = CreateRectRgn(0, 0, ddsd.dwWidth, ddsd.dwHeight);
- GetRegionData(hrgn, sizeof(rgnDataBuffer), (RGNDATA*)rgnDataBuffer);
- DeleteObject(hrgn);
- pcClipper->SetClipList((RGNDATA*)rgnDataBuffer, 0);
- m_pBackBuffer->SetClipper(pcClipper);
-
- // m_pD3DDev
-
- if (FAILED(hr = m_pD3D->CreateDevice(IID_IDirect3DHALDevice, m_pBackBuffer, &m_pD3DDev))) { // this seems to fail if the desktop size is too large (width or height >2048)
- return hr;
- }
-
- //
-
- CComPtr<ISubPicProvider> pSubPicProvider;
- if (m_pSubPicQueue) {
- m_pSubPicQueue->GetSubPicProvider(&pSubPicProvider);
- }
-
- InitMaxSubtitleTextureSize(r.subPicQueueSettings.nMaxRes, szDesktopSize);
-
- if (m_pAllocator) {
- m_pAllocator->ChangeDevice(m_pD3DDev);
- } else {
- m_pAllocator = DEBUG_NEW CDX7SubPicAllocator(m_pD3DDev, m_maxSubtitleTextureSize);
- }
-
- hr = S_OK;
- if (!m_pSubPicQueue) {
- CAutoLock(this);
- m_pSubPicQueue = r.subPicQueueSettings.nSize > 0
- ? (ISubPicQueue*)DEBUG_NEW CSubPicQueue(r.subPicQueueSettings, m_pAllocator, &hr)
- : (ISubPicQueue*)DEBUG_NEW CSubPicQueueNoThread(r.subPicQueueSettings, m_pAllocator, &hr);
- } else {
- m_pSubPicQueue->Invalidate();
- }
-
- if (SUCCEEDED(hr) && pSubPicProvider) {
- m_pSubPicQueue->SetSubPicProvider(pSubPicProvider);
- }
-
- return hr;
-}
-
-HRESULT CDX7AllocatorPresenter::AllocSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- CheckPointer(m_pDD, E_POINTER);
-
- const CRenderersSettings& r = GetRenderersSettings();
-
- m_pVideoTexture = nullptr;
- m_pVideoSurface = nullptr;
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_VIDEOMEMORY;
- ddsd.dwWidth = m_nativeVideoSize.cx;
- ddsd.dwHeight = m_nativeVideoSize.cy;
- ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
- ddsd.ddpfPixelFormat.dwRGBBitCount = 32;
- ddsd.ddpfPixelFormat.dwRBitMask = 0x00FF0000;
- ddsd.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
- ddsd.ddpfPixelFormat.dwBBitMask = 0x000000FF;
-
- if (r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE2D || r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE3D) {
- ddsd.ddsCaps.dwCaps |= DDSCAPS_TEXTURE;
- //ddsd.ddpfPixelFormat.dwFlags |= DDPF_ALPHAPIXELS;
- //ddsd.ddpfPixelFormat.dwRGBAlphaBitMask = 0xFF000000;
- }
-
- HRESULT hr = m_pDD->CreateSurface(&ddsd, &m_pVideoSurface, nullptr);
- if (FAILED(hr)) {
- // FIXME: eh, dx9 has no problem creating a 32bpp surface under a 16bpp desktop, but dx7 fails here (textures are ok)
- DDSURFACEDESC2 ddsd2;
- INITDDSTRUCT(ddsd2);
- if (!(r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE2D || r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE3D)
- && SUCCEEDED(m_pDD->GetDisplayMode(&ddsd2))
- && ddsd2.ddpfPixelFormat.dwRGBBitCount == 16) {
- ddsd.ddpfPixelFormat.dwRGBBitCount = 16;
- ddsd.ddpfPixelFormat.dwRBitMask = 0x0000F800;
- ddsd.ddpfPixelFormat.dwGBitMask = 0x000007E0;
- ddsd.ddpfPixelFormat.dwBBitMask = 0x0000001F;
- hr = m_pDD->CreateSurface(&ddsd, &m_pVideoSurface, nullptr);
- }
-
- if (FAILED(hr)) {
- return hr;
- }
- }
-
- if (r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE3D) {
- m_pVideoTexture = m_pVideoSurface;
- }
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurface->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- return S_OK;
-}
-
-void CDX7AllocatorPresenter::DeleteSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- m_pVideoTexture = nullptr;
- m_pVideoSurface = nullptr;
-}
-
-// ISubPicAllocatorPresenter
-
-STDMETHODIMP CDX7AllocatorPresenter::CreateRenderer(IUnknown** ppRenderer)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP_(bool) CDX7AllocatorPresenter::Paint(bool bAll)
-{
- if (m_bPendingResetDevice) {
- SendResetRequest();
- return false;
- }
-
- CAutoLock cAutoLock(this);
-
- if (m_windowRect.right <= m_windowRect.left || m_windowRect.bottom <= m_windowRect.top
- || m_nativeVideoSize.cx <= 0 || m_nativeVideoSize.cy <= 0
- || !m_pPrimary || !m_pBackBuffer || !m_pVideoSurface) {
- return false;
- }
-
- HRESULT hr;
-
- CRect rSrcVid(CPoint(0, 0), m_nativeVideoSize);
- CRect rDstVid(m_videoRect);
-
- CRect rSrcPri(CPoint(0, 0), m_windowRect.Size());
- CRect rDstPri(m_windowRect);
-
- // clear the backbuffer
- CRect rl(0, 0, rDstVid.left, rSrcPri.bottom);
- CRect rr(rDstVid.right, 0, rSrcPri.right, rSrcPri.bottom);
- CRect rt(0, 0, rSrcPri.right, rDstVid.top);
- CRect rb(0, rDstVid.bottom, rSrcPri.right, rSrcPri.bottom);
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- hr = m_pBackBuffer->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- // paint the video on the backbuffer
- if (!rDstVid.IsRectEmpty()) {
- if (m_pVideoTexture) {
- Vector v[4];
- Transform(rDstVid, v);
- hr = TextureBlt(m_pD3DDev, m_pVideoTexture, v, rSrcVid);
- } else {
- hr = m_pBackBuffer->Blt(rDstVid, m_pVideoSurface, rSrcVid, DDBLT_WAIT, nullptr);
- }
- }
-
- // paint the text on the backbuffer
- AlphaBltSubPic(rDstPri, rDstVid);
-
- // wait vsync
- if (bAll) {
- m_pDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, nullptr);
- }
-
- // blt to the primary surface
- MapWindowRect(m_hWnd, HWND_DESKTOP, &rDstPri);
- hr = m_pPrimary->Blt(rDstPri, m_pBackBuffer, rSrcPri, DDBLT_WAIT, nullptr);
-
- if (hr == DDERR_SURFACELOST) {
- m_bPendingResetDevice = true;
- SendResetRequest();
- return false;
- }
-
- return true;
-}
-
-void CDX7AllocatorPresenter::SendResetRequest()
-{
- if (!m_bDeviceResetRequested) {
- m_bDeviceResetRequested = true;
- AfxGetApp()->m_pMainWnd->PostMessage(WM_RESET_DEVICE);
- }
-}
-
-STDMETHODIMP_(bool) CDX7AllocatorPresenter::ResetDevice()
-{
- HRESULT hr;
- DeleteSurfaces();
- if (FAILED(hr = CreateDevice()) || FAILED(hr = AllocSurfaces())) {
- //DDERR_UNSUPPORTEDMODE - 0x8876024e
- TRACE(_T("ResetDevice failed: 0x%08x\n"), (LONG)hr);
- m_bDeviceResetRequested = false;
- return false;
- }
- TRACE(_T("ResetDevice\n"));
- m_bPendingResetDevice = false;
- m_bDeviceResetRequested = false;
- return true;
-}
-
-STDMETHODIMP_(bool) CDX7AllocatorPresenter::DisplayChange()
-{
- return true;
-}
-
-STDMETHODIMP CDX7AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
-{
- CheckPointer(size, E_POINTER);
-
- // Keep a reference so that we can safely work on the surface
- // without having to lock everything
- CComPtr<IDirectDrawSurface7> pVideoSurface;
- {
- CAutoLock cAutoLock(this);
- CheckPointer(m_pVideoSurface, E_FAIL);
- pVideoSurface = m_pVideoSurface;
- }
-
- HRESULT hr;
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(pVideoSurface->GetSurfaceDesc(&ddsd))) {
- return E_FAIL;
- }
-
- if (ddsd.ddpfPixelFormat.dwRGBBitCount != 16 && ddsd.ddpfPixelFormat.dwRGBBitCount != 32) {
- return E_FAIL;
- }
-
- DWORD required = sizeof(BITMAPINFOHEADER) + (ddsd.dwWidth * ddsd.dwHeight * 32 >> 3);
- if (!lpDib) {
- *size = required;
- return S_OK;
- }
- if (*size < required) {
- return E_OUTOFMEMORY;
- }
- *size = required;
-
- INITDDSTRUCT(ddsd);
- if (FAILED(hr = pVideoSurface->Lock(nullptr, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_READONLY | DDLOCK_NOSYSLOCK, nullptr))) {
- return hr;
- }
-
- BITMAPINFOHEADER* bih = (BITMAPINFOHEADER*)lpDib;
- ZeroMemory(bih, sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
- bih->biWidth = ddsd.dwWidth;
- bih->biHeight = ddsd.dwHeight;
- bih->biBitCount = 32;
- bih->biPlanes = 1;
- bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
-
- BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)ddsd.lpSurface + ddsd.lPitch * (ddsd.dwHeight - 1), -(int)ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount);
-
- pVideoSurface->Unlock(nullptr);
-
- return S_OK;
-}
diff --git a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.h
deleted file mode 100644
index 42a8de644..000000000
--- a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "AllocatorCommon7.h"
-#include <ddraw.h>
-#include "dx/d3d.h"
-#include "../SubPic/SubPicAllocatorPresenterImpl.h"
-
-namespace DSObjects
-{
- class CDX7AllocatorPresenter
- : public CSubPicAllocatorPresenterImpl
- {
- protected:
- CSize m_ScreenSize;
-
- HMODULE m_hDDrawLib;
- CComPtr<IDirectDraw7> m_pDD;
- CComQIPtr<IDirect3D7, &IID_IDirect3D7> m_pD3D;
- CComPtr<IDirect3DDevice7> m_pD3DDev;
-
- CComPtr<IDirectDrawSurface7> m_pPrimary;
- CComPtr<IDirectDrawSurface7> m_pBackBuffer;
- CComPtr<IDirectDrawSurface7> m_pVideoTexture;
- CComPtr<IDirectDrawSurface7> m_pVideoSurface;
-
- virtual HRESULT CreateDevice();
- virtual HRESULT AllocSurfaces();
- virtual void DeleteSurfaces();
-
- void SendResetRequest();
-
- bool m_bIsRendering;
-
- public:
- CDX7AllocatorPresenter(HWND hWnd, HRESULT& hr);
- ~CDX7AllocatorPresenter();
-
- // ISubPicAllocatorPresenter
- STDMETHODIMP CreateRenderer(IUnknown** ppRenderer);
- STDMETHODIMP_(bool) Paint(bool bAll);
- STDMETHODIMP GetDIB(BYTE* lpDib, DWORD* size);
- STDMETHODIMP_(bool) ResetDevice();
- STDMETHODIMP_(bool) DisplayChange();
-
- // ISubPicAllocatorPresenter2
- STDMETHODIMP_(bool) IsRendering() {
- return m_bIsRendering;
- }
- };
-}
diff --git a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
index b49a0364b..151235b29 100644
--- a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,13 +23,14 @@
#include <algorithm>
#include "RenderersSettings.h"
#include "DX9AllocatorPresenter.h"
-#include <InitGuid.h>
#include <utility>
#include "../../../SubPic/DX9SubPic.h"
#include "../../../SubPic/SubPicQueueImpl.h"
#include "IPinHook.h"
-#include "version.h"
#include "FocusThread.h"
+#include "../../../DSUtil/SysVersion.h"
+#include "../../../DSUtil/vd.h"
+#include <mpc-hc_config.h>
CCritSec g_ffdshowReceive;
bool queue_ffdshow_support = false;
@@ -39,6 +40,13 @@ bool queue_ffdshow_support = false;
#define FRAMERATE_MAX_DELTA 3000
+#define REFERENCE_WIDTH 1920
+#define FONT_HEIGHT 21
+#define BOLD_THRESHOLD 11
+#define TEXT_PADDING 2
+#define GRAPH_HEIGHT 360
+#define GRAPH_WIDTH 1000
+
using namespace DSObjects;
#pragma warning(push)
@@ -108,7 +116,6 @@ CDX9AllocatorPresenter::CDX9AllocatorPresenter(HWND hWnd, bool bFullscreen, HRES
, m_DetectedFrameTimePos(0)
, m_bInterlaced(false)
, m_nFrameType(PICT_NONE)
- , m_TextScale(1.0)
, m_VBlankEndWait(0)
, m_VBlankStartWait(0)
, m_VBlankWaitTime(0)
@@ -231,14 +238,8 @@ CDX9AllocatorPresenter::~CDX9AllocatorPresenter()
m_pD3D = nullptr;
m_pD3DEx = nullptr;
- if (m_hDWMAPI) {
- FreeLibrary(m_hDWMAPI);
- m_hDWMAPI = nullptr;
- }
- if (m_hD3D9) {
- FreeLibrary(m_hD3D9);
- m_hD3D9 = nullptr;
- }
+ m_pSubPicQueue = nullptr;
+ m_pAllocator = nullptr;
if (m_FocusThread) {
m_FocusThread->PostThreadMessage(WM_QUIT, 0, 0);
@@ -247,6 +248,15 @@ CDX9AllocatorPresenter::~CDX9AllocatorPresenter()
TerminateThread(m_FocusThread->m_hThread, 0xDEAD);
}
}
+
+ if (m_hDWMAPI) {
+ FreeLibrary(m_hDWMAPI);
+ m_hDWMAPI = nullptr;
+ }
+ if (m_hD3D9) {
+ FreeLibrary(m_hD3D9);
+ m_hD3D9 = nullptr;
+ }
}
void ModerateFloat(double& Value, double Target, double& ValuePrim, double ChangeSpeed);
@@ -687,7 +697,7 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
m_hFocusWindow = hFocusWindow;
if (m_pD3DEx) {
- m_pD3DEx->GetAdapterDisplayModeEx(m_CurrentAdapter, &DisplayMode, nullptr);
+ CHECK_HR(m_pD3DEx->GetAdapterDisplayModeEx(m_CurrentAdapter, &DisplayMode, nullptr));
DisplayMode.Format = pp.BackBufferFormat;
m_ScreenSize.SetSize(DisplayMode.Width, DisplayMode.Height);
@@ -719,7 +729,7 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
}
}
if (!m_pD3DDev) {
- m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm);
+ CHECK_HR(m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm));
d3ddm.Format = pp.BackBufferFormat;
m_ScreenSize.SetSize(d3ddm.Width, d3ddm.Height);
pp.FullScreen_RefreshRateInHz = m_refreshRate = d3ddm.RefreshRate;
@@ -753,7 +763,7 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
m_hFocusWindow = m_hWnd;
if (m_pD3DEx) {
- m_pD3DEx->GetAdapterDisplayModeEx(m_CurrentAdapter, &DisplayMode, nullptr);
+ CHECK_HR(m_pD3DEx->GetAdapterDisplayModeEx(m_CurrentAdapter, &DisplayMode, nullptr));
m_ScreenSize.SetSize(DisplayMode.Width, DisplayMode.Height);
m_refreshRate = DisplayMode.RefreshRate;
pp.BackBufferWidth = szDesktopSize.cx;
@@ -782,7 +792,7 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
}
}
if (!m_pD3DDev) {
- m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm);
+ CHECK_HR(m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm));
m_ScreenSize.SetSize(d3ddm.Width, d3ddm.Height);
m_refreshRate = d3ddm.RefreshRate;
pp.BackBufferWidth = szDesktopSize.cx;
@@ -823,6 +833,11 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
ASSERT(m_pD3DDev);
+ if (m_ScreenSize.cx <= 0 || m_ScreenSize.cy <= 0) {
+ _Error += L"Invalid screen size\n";
+ return E_FAIL;
+ }
+
m_MainThreadId = GetCurrentThreadId();
// Get the device caps
@@ -865,34 +880,6 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
m_pSubPicQueue->SetSubPicProvider(pSubPicProvider);
}
- if (m_pD3DXCreateFont) {
- long MinSize = 1600;
- long CurrentSize = std::min(m_ScreenSize.cx, MinSize);
- double Scale = double(CurrentSize) / double(MinSize);
- m_TextScale = Scale;
- m_pD3DXCreateFont(m_pD3DDev, // D3D device
- (int)(-24.0 * Scale), // Height
- (UINT)(-11.0 * Scale), // Width
- CurrentSize < 800 ? FW_NORMAL : FW_BOLD, // Weight
- 0, // MipLevels, 0 = autogen mipmaps
- FALSE, // Italic
- DEFAULT_CHARSET, // CharSet
- OUT_DEFAULT_PRECIS, // OutputPrecision
- ANTIALIASED_QUALITY, // Quality
- FIXED_PITCH | FF_DONTCARE, // PitchAndFamily
- L"Lucida Console", // pFaceName
- &m_pFont); // ppFont
- }
-
- if (m_pD3DXCreateSprite) {
- m_pD3DXCreateSprite(m_pD3DDev, // D3D device
- &m_pSprite);
- }
-
- if (m_pD3DXCreateLine) {
- m_pD3DXCreateLine(m_pD3DDev, &m_pLine);
- }
-
m_LastAdapterCheck = rd->GetPerfCounter();
return S_OK;
@@ -1740,24 +1727,6 @@ STDMETHODIMP_(bool) CDX9AllocatorPresenter::DisplayChange()
return true;
}
-void CDX9AllocatorPresenter::DrawText(const RECT& rc, const CString& strText, int _Priority)
-{
- if (_Priority < 1) {
- return;
- }
-
- D3DXCOLOR Color1(1.0f, 0.2f, 0.2f, 1.0f);
- D3DXCOLOR Color0(0.0f, 0.0f, 0.0f, 1.0f);
- RECT Rect1 = rc;
- RECT Rect2 = rc;
- OffsetRect(&Rect2 , 2, 2);
-
- // Draw shadow
- m_pFont->DrawText(m_pSprite, strText, -1, &Rect2, DT_NOCLIP, Color0);
- // Draw text
- m_pFont->DrawText(m_pSprite, strText, -1, &Rect1, DT_NOCLIP, Color1);
-}
-
void CDX9AllocatorPresenter::ResetStats()
{
CRenderersData* rd = GetRenderersData();
@@ -1779,12 +1748,38 @@ void CDX9AllocatorPresenter::ResetStats()
CalculateJitter(Time);
}
+void CDX9AllocatorPresenter::InitStats()
+{
+ ASSERT(m_pD3DDev);
+ static LONG currentHeight = 0;
+ int newHeight = lround(FONT_HEIGHT * (double(m_windowRect.Width()) / REFERENCE_WIDTH));
+
+ if (m_pD3DXCreateFont && (!m_pFont || currentHeight != newHeight)) {
+ m_pFont = nullptr;
+ if (newHeight <= 0) {
+ ASSERT(FALSE);
+ }
+ m_pD3DXCreateFont(m_pD3DDev, newHeight, 0, newHeight < BOLD_THRESHOLD ? FW_NORMAL : FW_BOLD,
+ 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
+ SysVersion::IsXPOrLater() ? CLEARTYPE_NATURAL_QUALITY : ANTIALIASED_QUALITY,
+ FIXED_PITCH | FF_DONTCARE, L"Lucida Console", &m_pFont);
+ currentHeight = newHeight;
+ }
+
+ if (m_pD3DXCreateSprite && !m_pSprite) {
+ m_pD3DXCreateSprite(m_pD3DDev, &m_pSprite);
+ }
+
+ if (m_pD3DXCreateLine && !m_pLine) {
+ m_pD3DXCreateLine(m_pD3DDev, &m_pLine);
+ }
+}
+
void CDX9AllocatorPresenter::DrawStats()
{
- const CRenderersSettings& r = GetRenderersSettings();
const CRenderersData* rd = GetRenderersData();
- int iDetailedStats = 2;
+ int iDetailedStats;
switch (rd->m_iDisplayStats) {
case 1:
iDetailedStats = 2;
@@ -1795,151 +1790,187 @@ void CDX9AllocatorPresenter::DrawStats()
case 3:
iDetailedStats = 0;
break;
+ default:
+ ASSERT(FALSE);
+ return;
}
- LONGLONG llMaxJitter = m_MaxJitter;
- LONGLONG llMinJitter = m_MinJitter;
- LONGLONG llMaxSyncOffset = m_MaxSyncOffset;
- LONGLONG llMinSyncOffset = m_MinSyncOffset;
- RECT rc = {40, 40, 0, 0 };
+ InitStats();
+ const float textScale = float(m_windowRect.Width()) / REFERENCE_WIDTH;
+ const int lineHeight = lround((FONT_HEIGHT + TEXT_PADDING) * textScale);
+
if (m_pFont && m_pSprite) {
+ auto drawText = [&](CRect & rc, const CString & strText) {
+ D3DXCOLOR Color1(1.0f, 0.2f, 0.2f, 1.0f);
+ D3DXCOLOR Color0(0.0f, 0.0f, 0.0f, 1.0f);
+
+ RECT shadowRect = rc;
+ OffsetRect(&shadowRect, 2, 2);
+
+ // Draw shadow
+ m_pFont->DrawText(m_pSprite, strText, -1, &shadowRect, DT_NOCLIP, Color0);
+ // Draw text
+ m_pFont->DrawText(m_pSprite, strText, -1, rc, DT_NOCLIP, Color1);
+ rc.OffsetRect(0, lineHeight);
+ };
+
+ const CRenderersSettings& r = GetRenderersSettings();
+ LONGLONG llMaxJitter = m_MaxJitter;
+ LONGLONG llMinJitter = m_MinJitter;
+ LONGLONG llMaxSyncOffset = m_MaxSyncOffset;
+ LONGLONG llMinSyncOffset = m_MinSyncOffset;
+ CRect rc(lineHeight, lineHeight, 0, 0);
+
m_pSprite->Begin(D3DXSPRITE_ALPHABLEND);
CString strText;
- int TextHeight = int(25.0 * m_TextScale + 0.5);
- //strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s) Clock: %7.3f ms %+1.4f %% %+1.9f %+1.9f", m_fAvrFps, double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame), m_bInterlaced ? L"I" : L"P", GetFrameTime() * 1000.0, GetFrameRate(), m_DetectedLock ? L" L" : L"", m_ClockDiff/10000.0, m_ModeratedTimeSpeed*100.0 - 100.0, m_ModeratedTimeSpeedDiff, m_ClockDiffCalc/10000.0);
if (iDetailedStats > 1) {
if (m_bIsEVR) {
if (m_nFrameType != PICT_NONE) {
- strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s, %2.03f StdDev) Clock: %1.4f %%", m_fAvrFps, double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame), m_nFrameType == PICT_FRAME ? L"P" : L"I", GetFrameTime() * 1000.0, GetFrameRate(), m_DetectedLock ? L" L" : L"", m_DetectedFrameTimeStdDev / 10000.0, m_ModeratedTimeSpeed * 100.0);
+ strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s, %2.03f StdDev) Clock: %1.4f %%",
+ m_fAvrFps,
+ double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame),
+ m_nFrameType == PICT_FRAME ? L"P" : L"I", GetFrameTime() * 1000.0, GetFrameRate(),
+ m_DetectedLock ? L" L" : L"", m_DetectedFrameTimeStdDev / 10000.0,
+ m_ModeratedTimeSpeed * 100.0);
} else {
- strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s, %2.03f StdDev) Clock: %1.4f %%", m_fAvrFps, double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame), m_bInterlaced ? L"I" : L"P", GetFrameTime() * 1000.0, GetFrameRate(), m_DetectedLock ? L" L" : L"", m_DetectedFrameTimeStdDev / 10000.0, m_ModeratedTimeSpeed * 100.0);
+ strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s, %2.03f StdDev) Clock: %1.4f %%",
+ m_fAvrFps,
+ double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame),
+ m_bInterlaced ? L"I" : L"P", GetFrameTime() * 1000.0, GetFrameRate(),
+ m_DetectedLock ? L" L" : L"", m_DetectedFrameTimeStdDev / 10000.0,
+ m_ModeratedTimeSpeed * 100.0);
}
} else {
- strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s)", m_fAvrFps, double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame), m_bInterlaced ? L"I" : L"P");
+ strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s)",
+ m_fAvrFps,
+ double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame),
+ m_bInterlaced ? L"I" : L"P");
}
- }
- //strText.Format(L"Frame rate : %7.03f (%7.3f ms = %.03f, %s) (%7.3f ms = %.03f%s, %2.03f StdDev)", m_fAvrFps, double(m_rtTimePerFrame) / 10000.0, 10000000.0 / (double)(m_rtTimePerFrame), m_bInterlaced ? L"I" : L"P", GetFrameTime() * 1000.0, GetFrameRate(), m_DetectedLock ? L" L" : L"", m_DetectedFrameTimeStdDev / 10000.0);
- else {
+ } else {
strText.Format(L"Frame rate : %7.03f (%.03f%s)", m_fAvrFps, GetFrameRate(), m_DetectedLock ? L" L" : L"");
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
if (m_nFrameType != PICT_NONE) {
- strText.Format(L"Frame type : %s", m_nFrameType == PICT_FRAME ? L"Progressive" : m_nFrameType == PICT_BOTTOM_FIELD ? L"Interlaced : Bottom field first" : L"Interlaced : Top field first");
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(L"Frame type : %s",
+ m_nFrameType == PICT_FRAME ? L"Progressive" :
+ m_nFrameType == PICT_BOTTOM_FIELD ? L"Interlaced : Bottom field first" :
+ L"Interlaced : Top field first");
+ drawText(rc, strText);
}
if (iDetailedStats > 1) {
- strText = L"Settings : ";
+ strText = _T("Settings : ");
if (m_bIsEVR) {
- strText += "EVR ";
+ strText += _T("EVR ");
} else {
- strText += "VMR9 ";
+ strText += _T("VMR9 ");
}
if (m_bIsFullscreen) {
- strText += "FS ";
+ strText += _T("FS ");
}
if (r.m_AdvRendSets.bVMR9FullscreenGUISupport) {
- strText += "FSGui ";
+ strText += _T("FSGui ");
}
if (r.m_AdvRendSets.bVMRDisableDesktopComposition) {
- strText += "DisDC ";
+ strText += _T("DisDC ");
}
if (m_bColorManagement) {
- strText += "ColorMan ";
+ strText += _T("ColorMan ");
}
if (r.m_AdvRendSets.bVMRFlushGPUBeforeVSync) {
- strText += "GPUFlushBV ";
+ strText += _T("GPUFlushBV ");
}
if (r.m_AdvRendSets.bVMRFlushGPUAfterPresent) {
- strText += "GPUFlushAP ";
+ strText += _T("GPUFlushAP ");
}
if (r.m_AdvRendSets.bVMRFlushGPUWait) {
- strText += "GPUFlushWt ";
+ strText += _T("GPUFlushWt ");
}
if (r.m_AdvRendSets.bVMR9VSync) {
- strText += "VS ";
+ strText += _T("VS ");
}
if (r.m_AdvRendSets.bVMR9AlterativeVSync) {
- strText += "AltVS ";
+ strText += _T("AltVS ");
}
if (r.m_AdvRendSets.bVMR9VSyncAccurate) {
- strText += "AccVS ";
+ strText += _T("AccVS ");
}
if (r.m_AdvRendSets.iVMR9VSyncOffset) {
- strText.AppendFormat(L"VSOfst(%d)", r.m_AdvRendSets.iVMR9VSyncOffset);
+ strText.AppendFormat(_T("VSOfst(%d)"), r.m_AdvRendSets.iVMR9VSyncOffset);
}
if (m_bFullFloatingPointProcessing) {
- strText += "FullFP ";
+ strText += _T("FullFP ");
}
if (m_bHalfFloatingPointProcessing) {
- strText += "HalfFP ";
+ strText += _T("HalfFP ");
}
if (m_bIsEVR) {
if (m_bHighColorResolution) {
- strText += "10bitOut ";
+ strText += _T("10bitOut ");
}
if (m_bForceInputHighColorResolution) {
- strText += "For10bitIn ";
+ strText += _T("For10bitIn ");
}
if (r.m_AdvRendSets.bEVREnableFrameTimeCorrection) {
- strText += "FTC ";
+ strText += _T("FTC ");
}
if (r.m_AdvRendSets.iEVROutputRange == 0) {
- strText += "0-255 ";
+ strText += _T("0-255 ");
} else if (r.m_AdvRendSets.iEVROutputRange == 1) {
- strText += "16-235 ";
+ strText += _T("16-235 ");
}
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
strText.Format(L"Formats : Surface %s Backbuffer %s Display %s Device %s %s",
- GetD3DFormatStr(m_SurfaceType), GetD3DFormatStr(m_BackbufferType), GetD3DFormatStr(m_DisplayType),
- m_pD3DDevEx ? L"D3DDevEx" : L"D3DDev", m_D3DDevExError.IsEmpty() ? _T("") : _T("D3DExError: ") + m_D3DDevExError);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ GetD3DFormatStr(m_SurfaceType), GetD3DFormatStr(m_BackbufferType),
+ GetD3DFormatStr(m_DisplayType), m_pD3DDevEx ? L"D3DDevEx" : L"D3DDev",
+ m_D3DDevExError.IsEmpty() ? _T("") : _T("D3DExError: ") + m_D3DDevExError);
+ drawText(rc, strText);
if (m_bIsEVR) {
if (r.m_AdvRendSets.bVMR9VSync) {
- strText.Format(L"Refresh rate : %.05f Hz SL: %4d (%3u Hz) ", m_DetectedRefreshRate, int(m_DetectedScanlinesPerFrame + 0.5), m_refreshRate);
+ strText.Format(_T("Refresh rate : %.05f Hz SL: %4d (%3u Hz) "),
+ m_DetectedRefreshRate, int(m_DetectedScanlinesPerFrame + 0.5), m_refreshRate);
} else {
- strText.Format(L"Refresh rate : %3u Hz ", m_refreshRate);
+ strText.Format(_T("Refresh rate : %3u Hz "), m_refreshRate);
}
- strText.AppendFormat(L"Last Duration: %10.6f Corrected Frame Time: %s", double(m_LastFrameDuration) / 10000.0, m_bCorrectedFrameTime ? L"Yes" : L"No");
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.AppendFormat(_T("Last Duration: %10.6f Corrected Frame Time: %s"),
+ double(m_LastFrameDuration) / 10000.0, m_bCorrectedFrameTime ? _T("Yes") : _T("No"));
+ drawText(rc, strText);
}
}
if (m_bSyncStatsAvailable) {
if (iDetailedStats > 1) {
- strText.Format(L"Sync offset : Min = %+8.3f ms, Max = %+8.3f ms, StdDev = %7.3f ms, Avr = %7.3f ms, Mode = %d", (double(llMinSyncOffset) / 10000.0), (double(llMaxSyncOffset) / 10000.0), m_fSyncOffsetStdDev / 10000.0, m_fSyncOffsetAvr / 10000.0, m_VSyncMode);
+ strText.Format(_T("Sync offset : Min = %+8.3f ms, Max = %+8.3f ms, StdDev = %7.3f ms, Avr = %7.3f ms, Mode = %d"),
+ (double(llMinSyncOffset) / 10000.0), (double(llMaxSyncOffset) / 10000.0),
+ m_fSyncOffsetStdDev / 10000.0, m_fSyncOffsetAvr / 10000.0, m_VSyncMode);
} else {
- strText.Format(L"Sync offset : Mode = %d", m_VSyncMode);
+ strText.Format(_T("Sync offset : Mode = %d"), m_VSyncMode);
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
}
if (iDetailedStats > 1) {
- strText.Format(L"Jitter : Min = %+8.3f ms, Max = %+8.3f ms, StdDev = %7.3f ms", (double(llMinJitter) / 10000.0), (double(llMaxJitter) / 10000.0), m_fJitterStdDev / 10000.0);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Jitter : Min = %+8.3f ms, Max = %+8.3f ms, StdDev = %7.3f ms"),
+ (double(llMinJitter) / 10000.0),
+ (double(llMaxJitter) / 10000.0),
+ m_fJitterStdDev / 10000.0);
+ drawText(rc, strText);
}
if (m_pAllocator && iDetailedStats > 1) {
@@ -1956,76 +1987,101 @@ void CDX9AllocatorPresenter::DrawStats()
}
pAlloc->GetStats(nFree, nAlloc);
- strText.Format(L"Subtitles : Free %d Allocated %d Buffered %d QueueStart %7.3f QueueEnd %7.3f",
- nFree, nAlloc, nSubPic, (double(rtQueueStart) / 10000000.0), (double(rtQueueEnd) / 10000000.0));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Subtitles : Free %d Allocated %d Buffered %d QueueStart %7.3f QueueEnd %7.3f"),
+ nFree, nAlloc, nSubPic, (double(rtQueueStart) / 10000000.0),
+ (double(rtQueueEnd) / 10000000.0));
+ drawText(rc, strText);
}
if (iDetailedStats > 1) {
if (m_VBlankEndPresent == -100000) {
- strText.Format(L"VBlank Wait : Start %4d End %4d Wait %7.3f ms Lock %7.3f ms Offset %4d Max %4d", m_VBlankStartWait, m_VBlankEndWait, (double(m_VBlankWaitTime) / 10000.0), (double(m_VBlankLockTime) / 10000.0), m_VBlankMin, m_VBlankMax - m_VBlankMin);
+ strText.Format(_T("VBlank Wait : Start %4d End %4d Wait %7.3f ms Lock %7.3f ms Offset %4d Max %4d"),
+ m_VBlankStartWait, m_VBlankEndWait,
+ (double(m_VBlankWaitTime) / 10000.0),
+ (double(m_VBlankLockTime) / 10000.0),
+ m_VBlankMin, m_VBlankMax - m_VBlankMin);
} else {
- strText.Format(L"VBlank Wait : Start %4d End %4d Wait %7.3f ms Lock %7.3f ms Offset %4d Max %4d EndPresent %4d", m_VBlankStartWait, m_VBlankEndWait, (double(m_VBlankWaitTime) / 10000.0), (double(m_VBlankLockTime) / 10000.0), m_VBlankMin, m_VBlankMax - m_VBlankMin, m_VBlankEndPresent);
+ strText.Format(_T("VBlank Wait : Start %4d End %4d Wait %7.3f ms Lock %7.3f ms Offset %4d Max %4d EndPresent %4d"),
+ m_VBlankStartWait, m_VBlankEndWait,
+ (double(m_VBlankWaitTime) / 10000.0),
+ (double(m_VBlankLockTime) / 10000.0),
+ m_VBlankMin,
+ m_VBlankMax - m_VBlankMin,
+ m_VBlankEndPresent);
}
} else {
if (m_VBlankEndPresent == -100000) {
- strText.Format(L"VBlank Wait : Start %4d End %4d", m_VBlankStartWait, m_VBlankEndWait);
+ strText.Format(_T("VBlank Wait : Start %4d End %4d"), m_VBlankStartWait, m_VBlankEndWait);
} else {
- strText.Format(L"VBlank Wait : Start %4d End %4d EP %4d", m_VBlankStartWait, m_VBlankEndWait, m_VBlankEndPresent);
+ strText.Format(_T("VBlank Wait : Start %4d End %4d EP %4d"), m_VBlankStartWait, m_VBlankEndWait,
+ m_VBlankEndPresent);
}
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
BOOL bCompositionEnabled = m_bCompositionEnabled;
bool bDoVSyncInPresent = (!bCompositionEnabled && !m_bAlternativeVSync) || !r.m_AdvRendSets.bVMR9VSync;
if (iDetailedStats > 1 && bDoVSyncInPresent) {
- strText.Format(L"Present Wait : Wait %7.3f ms Min %7.3f ms Max %7.3f ms", (double(m_PresentWaitTime) / 10000.0), (double(m_PresentWaitTimeMin) / 10000.0), (double(m_PresentWaitTimeMax) / 10000.0));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Present Wait : Wait %7.3f ms Min %7.3f ms Max %7.3f ms"),
+ (double(m_PresentWaitTime) / 10000.0),
+ (double(m_PresentWaitTimeMin) / 10000.0),
+ (double(m_PresentWaitTimeMax) / 10000.0));
+ drawText(rc, strText);
}
if (iDetailedStats > 1) {
if (m_WaitForGPUTime) {
- strText.Format(L"Paint Time : Draw %7.3f ms Min %7.3f ms Max %7.3f ms GPU %7.3f ms", (double(m_PaintTime - m_WaitForGPUTime) / 10000.0), (double(m_PaintTimeMin) / 10000.0), (double(m_PaintTimeMax) / 10000.0), (double(m_WaitForGPUTime) / 10000.0));
+ strText.Format(_T("Paint Time : Draw %7.3f ms Min %7.3f ms Max %7.3f ms GPU %7.3f ms"),
+ (double(m_PaintTime - m_WaitForGPUTime) / 10000.0),
+ (double(m_PaintTimeMin) / 10000.0),
+ (double(m_PaintTimeMax) / 10000.0),
+ (double(m_WaitForGPUTime) / 10000.0));
} else {
- strText.Format(L"Paint Time : Draw %7.3f ms Min %7.3f ms Max %7.3f ms", (double(m_PaintTime - m_WaitForGPUTime) / 10000.0), (double(m_PaintTimeMin) / 10000.0), (double(m_PaintTimeMax) / 10000.0));
+ strText.Format(_T("Paint Time : Draw %7.3f ms Min %7.3f ms Max %7.3f ms"),
+ (double(m_PaintTime - m_WaitForGPUTime) / 10000.0),
+ (double(m_PaintTimeMin) / 10000.0),
+ (double(m_PaintTimeMax) / 10000.0));
}
} else {
if (m_WaitForGPUTime) {
- strText.Format(L"Paint Time : Draw %7.3f ms GPU %7.3f ms", (double(m_PaintTime - m_WaitForGPUTime) / 10000.0), (double(m_WaitForGPUTime) / 10000.0));
+ strText.Format(_T("Paint Time : Draw %7.3f ms GPU %7.3f ms"),
+ (double(m_PaintTime - m_WaitForGPUTime) / 10000.0),
+ (double(m_WaitForGPUTime) / 10000.0));
} else {
- strText.Format(L"Paint Time : Draw %7.3f ms", (double(m_PaintTime - m_WaitForGPUTime) / 10000.0));
+ strText.Format(_T("Paint Time : Draw %7.3f ms"),
+ (double(m_PaintTime - m_WaitForGPUTime) / 10000.0));
}
}
- DrawText(rc, strText, 2);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
if (iDetailedStats > 1 && r.m_AdvRendSets.bVMR9VSync) {
- strText.Format(L"Raster Status: Wait %7.3f ms Min %7.3f ms Max %7.3f ms", (double(m_RasterStatusWaitTime) / 10000.0), (double(m_RasterStatusWaitTimeMin) / 10000.0), (double(m_RasterStatusWaitTimeMax) / 10000.0));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Raster Status: Wait %7.3f ms Min %7.3f ms Max %7.3f ms"),
+ (double(m_RasterStatusWaitTime) / 10000.0),
+ (double(m_RasterStatusWaitTimeMin) / 10000.0),
+ (double(m_RasterStatusWaitTimeMax) / 10000.0));
+ drawText(rc, strText);
}
if (iDetailedStats > 1) {
if (m_bIsEVR) {
- strText.Format(L"Buffering : Buffered %3ld Free %3d Current Surface %3d", m_nUsedBuffer, m_nNbDXSurface - m_nUsedBuffer, m_nCurSurface);
+ strText.Format(_T("Buffering : Buffered %3ld Free %3ld Current Surface %3d"),
+ m_nUsedBuffer, m_nNbDXSurface - m_nUsedBuffer, m_nCurSurface);
} else {
- strText.Format(L"Buffering : VMR9Surfaces %3d VMR9Surface %3d", m_nVMR9Surfaces, m_iVMR9Surface);
+ strText.Format(_T("Buffering : VMR9Surfaces %3d VMR9Surface %3d"),
+ m_nVMR9Surfaces, m_iVMR9Surface);
}
} else {
- strText.Format(L"Buffered : %3ld", m_nUsedBuffer);
+ strText.Format(_T("Buffered : %3ld"), m_nUsedBuffer);
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
+
if (iDetailedStats > 1) {
- strText.Format(L"Video size : %ld x %ld (AR = %ld : %ld)", m_nativeVideoSize.cx, m_nativeVideoSize.cy, m_aspectRatio.cx, m_aspectRatio.cy);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Video size : %ld x %ld (AR = %ld : %ld)"),
+ m_nativeVideoSize.cx, m_nativeVideoSize.cy, m_aspectRatio.cx, m_aspectRatio.cy);
+ drawText(rc, strText);
if (m_pVideoTexture[0] || m_pVideoSurface[0]) {
D3DSURFACE_DESC desc;
ZeroMemory(&desc, sizeof(desc));
@@ -2036,104 +2092,106 @@ void CDX9AllocatorPresenter::DrawStats()
}
if (desc.Width != (UINT)m_nativeVideoSize.cx || desc.Height != (UINT)m_nativeVideoSize.cy) {
- strText.Format(L"Texture size : %u x %u", desc.Width, desc.Height);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Texture size : %u x %u"), desc.Width, desc.Height);
+ drawText(rc, strText);
}
}
- DrawText(rc, rd->m_strDXVAInfo, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, rd->m_strDXVAInfo);
- strText.Format(L"DirectX SDK : %u", rd->GetDXSdkRelease());
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("DirectX SDK : %u"), rd->GetDXSdkRelease());
+ drawText(rc, strText);
if (!m_D3D9Device.IsEmpty()) {
- strText = "Render device: " + m_D3D9Device;
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText = _T("Render device: ") + m_D3D9Device;
+ drawText(rc, strText);
}
if (!m_Decoder.IsEmpty()) {
- strText = "Decoder : " + m_Decoder;
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText = _T("Decoder : ") + m_Decoder;
+ drawText(rc, strText);
}
for (int i = 0; i < 6; i++) {
if (m_strStatsMsg[i][0]) {
- DrawText(rc, m_strStatsMsg[i], 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, m_strStatsMsg[i]);
}
}
}
m_pSprite->End();
- OffsetRect(&rc, 0, TextHeight); // Extra "line feed"
}
if (m_pLine && iDetailedStats) {
- D3DXVECTOR2 Points[NB_JITTER];
-
- int ScaleX = 1;
- int ScaleY = 1;
- int DrawWidth = 625 * ScaleX + 50;
- int DrawHeight = 250 * ScaleY;
- int Alpha = 80;
- int StartX = m_windowRect.Width() - (DrawWidth + 20);
- int StartY = m_windowRect.Height() - (DrawHeight + 20);
-
- DrawRect(RGB(0, 0, 0), Alpha, CRect(StartX, StartY, StartX + DrawWidth, StartY + DrawHeight));
- // === Jitter Graduation
- //m_pLine->SetWidth(2.2); // Width
- //m_pLine->SetAntialias(1);
- m_pLine->SetWidth(2.5); // Width
- m_pLine->SetAntialias(1);
- //m_pLine->SetGLLines(1);
+ D3DXVECTOR2 points[NB_JITTER];
+ const float graphWidth = GRAPH_WIDTH * textScale;
+ const float graphHeight = GRAPH_HEIGHT * textScale;
+ const float topLeftX = m_windowRect.Width() - (graphWidth + lineHeight);
+ const float topLeftY = m_windowRect.Height() - (graphHeight + lineHeight);
+ const float gridStepY = graphHeight / 24.0f;
+ const float gridStepX = graphWidth / NB_JITTER;
+
+ // Draw background
+ DrawRect(RGB(0, 0, 0), 80, CRect(int(topLeftX),
+ int(topLeftY),
+ int(topLeftX + graphWidth),
+ int(topLeftY + graphHeight)));
+
+ m_pLine->SetWidth(2.5f * textScale);
+ m_pLine->SetAntialias(TRUE);
m_pLine->Begin();
- for (int i = 10; i < 250 * ScaleY; i += 10 * ScaleY) {
- Points[0].x = (float)StartX;
- Points[0].y = (float)(StartY + i);
- Points[1].x = (float)(StartX + (((i - 10) % 40) ? 50 : 625 * ScaleX));
- Points[1].y = (float)(StartY + i);
- if (i == 130) {
- Points[1].x += 50;
+ // Draw grid lines
+ for (int i = 1; i < 24; ++i) {
+ points[0].x = topLeftX;
+ points[0].y = topLeftY + i * gridStepY;
+ points[1].y = points[0].y;
+
+ float lineLength;
+ D3DCOLOR color;
+ if (i % 12 == 0) {
+ lineLength = 1.0f;
+ color = D3DCOLOR_XRGB(100, 100, 255);
+ } else if (i % 4 == 0) {
+ lineLength = 0.96f;
+ color = D3DCOLOR_XRGB(100, 100, 180);
+ } else {
+ lineLength = 0.04f;
+ color = D3DCOLOR_XRGB(100, 100, 140);
}
- m_pLine->Draw(Points, 2, D3DCOLOR_XRGB(100, 100, 255));
+ points[1].x = topLeftX + graphWidth * lineLength;
+ m_pLine->Draw(points, 2, color);
}
- // === Jitter curve
if (m_rtTimePerFrame) {
- for (int i = 0; i < NB_JITTER; i++) {
- int nIndex = (m_nNextJitter + 1 + i) % NB_JITTER;
+ // Draw jitter
+ for (int i = 1; i <= NB_JITTER; ++i) {
+ int nIndex = (m_nNextJitter + i) % NB_JITTER;
if (nIndex < 0) {
nIndex += NB_JITTER;
+ ASSERT(FALSE);
}
- double Jitter = m_pllJitter[nIndex] - m_fJitterMean;
- Points[i].x = (float)(StartX + (i * 5 * ScaleX + 5));
- Points[i].y = (float)(StartY + ((Jitter * ScaleY) / 5000.0 + 125.0 * ScaleY));
+ float jitter = float(m_pllJitter[nIndex] - m_fJitterMean);
+ points[i - 1].x = topLeftX + i * gridStepX;
+ points[i - 1].y = topLeftY + (jitter * textScale / 2000.0f + graphHeight / 2.0f);
}
- m_pLine->Draw(Points, NB_JITTER, D3DCOLOR_XRGB(255, 100, 100));
+ m_pLine->Draw(points, NB_JITTER, D3DCOLOR_XRGB(255, 100, 100));
if (m_bSyncStatsAvailable) {
- for (int i = 0; i < NB_JITTER; i++) {
- int nIndex = (m_nNextSyncOffset + 1 + i) % NB_JITTER;
+ // Draw sync offset
+ for (int i = 1; i <= NB_JITTER; ++i) {
+ int nIndex = (m_nNextSyncOffset + i) % NB_JITTER;
if (nIndex < 0) {
nIndex += NB_JITTER;
}
- Points[i].x = (float)(StartX + (i * 5 * ScaleX + 5));
- Points[i].y = (float)(StartY + ((m_pllSyncOffset[nIndex] * ScaleY) / 5000 + 125 * ScaleY));
+ points[i - 1].x = topLeftX + i * gridStepX;
+ points[i - 1].y = topLeftY + (m_pllSyncOffset[nIndex] * textScale / 2000.0f + graphHeight / 2.0f);
}
- m_pLine->Draw(Points, NB_JITTER, D3DCOLOR_XRGB(100, 200, 100));
+ m_pLine->Draw(points, NB_JITTER, D3DCOLOR_XRGB(100, 200, 100));
}
}
m_pLine->End();
}
-
- // === Text
-
}
STDMETHODIMP CDX9AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
@@ -2189,22 +2247,11 @@ STDMETHODIMP CDX9AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
}
}
- BITMAPINFOHEADER* bih = (BITMAPINFOHEADER*)lpDib;
- ZeroMemory(bih, sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
- bih->biWidth = desc.Width;
- bih->biHeight = desc.Height;
- bih->biBitCount = 32;
- bih->biPlanes = 1;
- bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
-
- BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
+ hr = CreateDIBFromSurfaceData(desc, r, lpDib);
pSurface->UnlockRect();
- return S_OK;
+ return hr;
}
STDMETHODIMP CDX9AllocatorPresenter::SetPixelShader(LPCSTR pSrcData, LPCSTR pTarget)
diff --git a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
index a7eefc80e..4f7215c95 100644
--- a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
@@ -155,8 +155,7 @@ namespace DSObjects
LPCWSTR pFaceName,
LPD3DXFONT* ppFont);
-
- void DrawText(const RECT& rc, const CString& strText, int _Priority);
+ void InitStats();
void ResetStats();
void DrawStats();
virtual void OnResetDevice() {};
@@ -237,8 +236,6 @@ namespace DSObjects
int m_bInterlaced;
FF_FIELD_TYPE m_nFrameType;
- double m_TextScale;
-
int m_VBlankEndWait;
int m_VBlankStartWait;
LONGLONG m_VBlankWaitTime;
diff --git a/src/filters/renderer/VideoRenderers/DX9RenderingEngine.h b/src/filters/renderer/VideoRenderers/DX9RenderingEngine.h
index f831f5d42..ab56932d0 100644
--- a/src/filters/renderer/VideoRenderers/DX9RenderingEngine.h
+++ b/src/filters/renderer/VideoRenderers/DX9RenderingEngine.h
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -69,6 +69,7 @@ namespace DSObjects
bool m_bColorManagement;
CDX9RenderingEngine(HWND hWnd, HRESULT& hr, CString* _pError);
+ virtual ~CDX9RenderingEngine() = default;
void InitRenderingEngine();
void CleanupRenderingEngine();
diff --git a/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
index c25c3728b..b5638f322 100644
--- a/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -88,6 +88,7 @@ HRESULT CDXRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
// release all resources
m_pSubPicQueue = nullptr;
m_pAllocator = nullptr;
+ __super::SetPosition(CRect(), CRect());
return hr;
}
diff --git a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
index 1842bd5d2..acae83ba3 100644
--- a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -105,13 +105,13 @@ CEVRAllocatorPresenter::CEVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRES
, m_bSignaledStarvation(false)
, m_StarvationClock(0)
, m_SampleFreeCallback(this, &CEVRAllocatorPresenter::OnSampleFree)
- , fnDXVA2CreateDirect3DDeviceManager9("dxva2.dll", "DXVA2CreateDirect3DDeviceManager9")
- , fnMFCreateDXSurfaceBuffer("evr.dll", "MFCreateDXSurfaceBuffer")
- , fnMFCreateVideoSampleFromSurface("evr.dll", "MFCreateVideoSampleFromSurface")
- , fnMFCreateMediaType("mfplat.dll", "MFCreateMediaType")
- , fnAvSetMmThreadCharacteristicsW("avrt.dll", "AvSetMmThreadCharacteristicsW")
- , fnAvSetMmThreadPriority("avrt.dll", "AvSetMmThreadPriority")
- , fnAvRevertMmThreadCharacteristics("avrt.dll", "AvRevertMmThreadCharacteristics")
+ , fnDXVA2CreateDirect3DDeviceManager9(_T("dxva2.dll"), "DXVA2CreateDirect3DDeviceManager9")
+ , fnMFCreateDXSurfaceBuffer(_T("evr.dll"), "MFCreateDXSurfaceBuffer")
+ , fnMFCreateVideoSampleFromSurface(_T("evr.dll"), "MFCreateVideoSampleFromSurface")
+ , fnMFCreateMediaType(_T("mfplat.dll"), "MFCreateMediaType")
+ , fnAvSetMmThreadCharacteristicsW(_T("avrt.dll"), "AvSetMmThreadCharacteristicsW")
+ , fnAvSetMmThreadPriority(_T("avrt.dll"), "AvSetMmThreadPriority")
+ , fnAvRevertMmThreadCharacteristics(_T("avrt.dll"), "AvRevertMmThreadCharacteristics")
{
const CRenderersSettings& r = GetRenderersSettings();
@@ -1197,27 +1197,33 @@ STDMETHODIMP CEVRAllocatorPresenter::GetCurrentMediaType(__deref_out IMFVideoMe
// IMFTopologyServiceLookupClient
STDMETHODIMP CEVRAllocatorPresenter::InitServicePointers(/* [in] */ __in IMFTopologyServiceLookup* pLookup)
{
+ HRESULT hr = S_OK;
DWORD dwObjects = 1;
+ CAutoLock cThreadsLock(&m_ThreadsLock);
+
TRACE_EVR("EVR: CEVRAllocatorPresenter::InitServicePointers\n");
- pLookup->LookupService(MF_SERVICE_LOOKUP_GLOBAL, 0, MR_VIDEO_MIXER_SERVICE,
- IID_PPV_ARGS(&m_pMixer), &dwObjects);
+ CHECK_HR(pLookup->LookupService(MF_SERVICE_LOOKUP_GLOBAL, 0, MR_VIDEO_MIXER_SERVICE,
+ IID_PPV_ARGS(&m_pMixer), &dwObjects));
- pLookup->LookupService(MF_SERVICE_LOOKUP_GLOBAL, 0, MR_VIDEO_RENDER_SERVICE,
- IID_PPV_ARGS(&m_pSink), &dwObjects);
+ CHECK_HR(pLookup->LookupService(MF_SERVICE_LOOKUP_GLOBAL, 0, MR_VIDEO_RENDER_SERVICE,
+ IID_PPV_ARGS(&m_pSink), &dwObjects));
pLookup->LookupService(MF_SERVICE_LOOKUP_GLOBAL, 0, MR_VIDEO_RENDER_SERVICE,
IID_PPV_ARGS(&m_pClock), &dwObjects);
StartWorkerThreads();
- return S_OK;
+ return hr;
}
STDMETHODIMP CEVRAllocatorPresenter::ReleaseServicePointers()
{
TRACE_EVR("EVR: CEVRAllocatorPresenter::ReleaseServicePointers\n");
+ CAutoLock cThreadsLock(&m_ThreadsLock);
+
StopWorkerThreads();
+
m_pMixer = nullptr;
m_pSink = nullptr;
m_pClock = nullptr;
@@ -1904,6 +1910,8 @@ void CEVRAllocatorPresenter::OnVBlankFinished(bool bAll, LONGLONG PerformanceCou
STDMETHODIMP_(bool) CEVRAllocatorPresenter::ResetDevice()
{
+ CAutoLock cThreadsLock(&m_ThreadsLock);
+
StopWorkerThreads();
CAutoLock lock(this);
diff --git a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.h b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.h
index cbb8f22d9..afd74191a 100644
--- a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.h
@@ -194,6 +194,7 @@ namespace DSObjects
CCritSec m_SampleQueueLock;
CCritSec m_ImageProcessingLock;
CCritSec m_MediaTypeLock;
+ CCritSec m_ThreadsLock;
UINT32 m_nCurrentGroupId;
CInterfaceList<IMFSample> m_FreeSamples;
diff --git a/src/filters/renderer/VideoRenderers/PixelShaderCache.cpp b/src/filters/renderer/VideoRenderers/PixelShaderCache.cpp
new file mode 100644
index 000000000..481d96bd5
--- /dev/null
+++ b/src/filters/renderer/VideoRenderers/PixelShaderCache.cpp
@@ -0,0 +1,242 @@
+/*
+* (C) 2016 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "stdafx.h"
+#include "PixelShaderCache.h"
+#include "RenderersSettings.h"
+#include <d3d9.h>
+
+CPixelShaderCache::CPixelShaderCache(IDirect3DDevice9* pD3DDev)
+ : m_pD3DDev(pD3DDev)
+{
+ if (IsEnabled()) {
+ LoadCache();
+ } else {
+ DestroyCache();
+ }
+}
+
+HRESULT CPixelShaderCache::CreatePixelShader(
+ LPCSTR pProfile,
+ LPCSTR pSourceData,
+ SIZE_T SourceDataSize,
+ IDirect3DPixelShader9** ppPixelShader)
+{
+ if (!IsEnabled()) {
+ return E_FAIL;
+ }
+
+ uint64_t hash = Hash(pProfile, pSourceData, SourceDataSize);
+ auto pixelShader = m_PixelShaders.PLookup(hash);
+
+ if (pixelShader) {
+ HRESULT res = m_pD3DDev->CreatePixelShader(pixelShader->value.m_p, ppPixelShader);
+
+ if (FAILED(res)) {
+ DeleteCache(hash);
+ } else {
+ CString file_path;
+ if (GetCacheFilePath(file_path, hash)) {
+ TouchFile(file_path);
+ }
+ }
+ return res;
+ }
+
+ return E_FAIL;
+}
+
+void CPixelShaderCache::SavePixelShader(
+ LPCSTR pProfile,
+ LPCSTR pSourceData,
+ SIZE_T SourceDataSize,
+ void* pCompiledData,
+ SIZE_T CompiledDataSize)
+{
+ if (!IsEnabled()) {
+ return;
+ }
+
+ uint64_t hash = Hash(pProfile, pSourceData, SourceDataSize);
+
+ CAutoVectorPtr<DWORD> buffer;
+ if (buffer.Allocate(CompiledDataSize)) {
+ memcpy(buffer.m_p, pCompiledData, CompiledDataSize);
+ m_PixelShaders.SetAt(hash, buffer);
+ }
+
+ CString cacheFilePath;
+ if (GetCacheFilePath(cacheFilePath, hash)) {
+ CFile file;
+ if (file.Open(cacheFilePath, CFile::modeWrite | CFile::typeBinary)) {
+ file.SetLength(0);
+ } else if (!file.Open(cacheFilePath, CFile::modeWrite | CFile::typeBinary | CFile::modeCreate)) {
+ return;
+ }
+
+ file.Write(&m_Version, sizeof(m_Version));
+ file.Write(&CompiledDataSize, sizeof(CompiledDataSize));
+ file.Write(pCompiledData, UINT(CompiledDataSize));
+
+ bool res = file.GetLength() == (sizeof(m_Version) + sizeof(CompiledDataSize) + CompiledDataSize);
+
+ file.Close();
+
+ if (!res) {
+ CFile::Remove(cacheFilePath);
+ }
+ }
+}
+
+void CPixelShaderCache::LoadCache()
+{
+ CString cacheFolder;
+ if (GetCacheFolder(cacheFolder)) {
+ CFileFind finder;
+ BOOL working = finder.FindFile(cacheFolder + _T("\\*"));
+
+ while (working) {
+ working = finder.FindNextFile();
+ if (!finder.IsDirectory() && !finder.IsDots()) {
+ if (!LoadCache(finder.GetFileName(), finder.GetFilePath())) {
+ CFile::Remove(finder.GetFilePath());
+ }
+ }
+ }
+ }
+}
+
+void CPixelShaderCache::DestroyCache()
+{
+ CString cacheFolder;
+ if (GetCacheFolder(cacheFolder)) {
+ SHFILEOPSTRUCT fileop = {};
+ fileop.wFunc = FO_DELETE;
+ // The last file name is terminated with a double NULL character ("\0\0") to indicate the end of the buffer.
+ // We add one char to CString. GetBufferSetLength adds NULL at the end and since previous end was also NULL
+ // returned buffer have double NULL character at the end in result.
+ fileop.pFrom = cacheFolder.GetBufferSetLength(cacheFolder.GetLength() + 1);
+ fileop.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
+ VERIFY(SHFileOperation(&fileop) == 0);
+ }
+}
+
+bool CPixelShaderCache::IsEnabled()
+{
+ return GetRenderersSettings().m_AdvRendSets.bCacheShaders;
+}
+
+void CPixelShaderCache::TouchFile(const CString& FileName) const
+{
+ CFileStatus status;
+ if (CFile::GetStatus(FileName, status)) {
+ status.m_mtime = CTime::GetCurrentTime();
+ CFile::SetStatus(FileName, status);
+ }
+}
+
+bool CPixelShaderCache::IsFileOutdated(const CString& FileName) const
+{
+ CFileStatus status;
+ if (CFile::GetStatus(FileName, status)) {
+ CTimeSpan timespan(m_CachedDaysLimit, 0, 0, 0);
+ return CTime::GetCurrentTime() - status.m_mtime > timespan;
+ }
+
+ return true;
+}
+
+bool CPixelShaderCache::LoadCache(const CString& FileName, const CString& FilePath)
+{
+ if (IsFileOutdated(FilePath)) {
+ return false;
+ }
+
+ CPath path(FileName);
+ path.RemoveExtension();
+ uint64_t hash = _tcstoui64(path, NULL, 10);
+ CFile file;
+ if (file.Open(FilePath, CFile::modeRead | CFile::typeBinary)) {
+ unsigned int version;
+ bool ret = false;
+
+ if ((file.Read(&version, sizeof(version)) == sizeof(version)) && (version == m_Version)) {
+ SIZE_T size;
+ if (file.Read(&size, sizeof(size)) == sizeof(size)) {
+ CAutoVectorPtr<DWORD> buffer;
+ if (buffer.Allocate(size)) {
+ ret = (file.Read(buffer.m_p, UINT(size)) == size);
+
+ m_PixelShaders.SetAt(hash, buffer);
+ }
+ }
+ }
+
+ file.Close();
+
+ return ret;
+ }
+ return false;
+}
+
+void CPixelShaderCache::DeleteCache(uint64_t Hash)
+{
+ m_PixelShaders.RemoveKey(Hash);
+
+ CString cacheFilePath;
+ if (GetCacheFilePath(cacheFilePath, Hash)) {
+ CFile::Remove(cacheFilePath);
+ }
+}
+
+bool CPixelShaderCache::GetCacheFilePath(CString& CacheFilePath, uint64_t Hash) const
+{
+ CString cacheFolder;
+ if (GetCacheFolder(cacheFolder)) {
+ CacheFilePath.Format(_T("\\%020llu"), Hash);
+ CacheFilePath = cacheFolder + CacheFilePath + m_Extension;
+ return true;
+ }
+ return false;
+}
+
+bool CPixelShaderCache::GetCacheFolder(CString& CacheFolder)
+{
+ CacheFolder = GetRenderersSettings().m_AdvRendSets.sShaderCachePath;
+
+ return !CacheFolder.IsEmpty() && (PathFileExists(CacheFolder) || (IsEnabled() && CreateDirectory(CacheFolder, nullptr)));
+}
+
+uint64_t CPixelShaderCache::Hash(LPCSTR pProfile, LPCSTR pSourceData, SIZE_T SourceDataSize) const
+{
+ return Hash(pProfile) + Hash(pSourceData) + (uint64_t)SourceDataSize;
+}
+
+uint64_t CPixelShaderCache::Hash(LPCSTR pStr) const
+{
+ uint64_t hash = 3074457345618258791ull;
+ LPCSTR p = pStr;
+
+ while (p && *p != 0) {
+ hash = (hash + *p) * 3074457345618258799ull;
+ ++p;
+ }
+ return hash;
+}
diff --git a/src/filters/renderer/VideoRenderers/PixelShaderCache.h b/src/filters/renderer/VideoRenderers/PixelShaderCache.h
new file mode 100644
index 000000000..37c9c020c
--- /dev/null
+++ b/src/filters/renderer/VideoRenderers/PixelShaderCache.h
@@ -0,0 +1,67 @@
+/*
+* (C) 2016 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#pragma once
+
+#include <cstdint>
+
+interface IDirect3DDevice9;
+interface IDirect3DPixelShader9;
+
+class CPixelShaderCache
+{
+ const unsigned int m_Version = 1;
+ const LONG m_CachedDaysLimit = 30;
+ const CString m_Extension = _T(".cso");
+
+ CComPtr<IDirect3DDevice9> m_pD3DDev;
+
+ CMap<uint64_t, uint64_t, CAutoVectorPtr<DWORD>, CAutoVectorPtr<DWORD>> m_PixelShaders;
+
+public:
+ CPixelShaderCache(IDirect3DDevice9* pD3DDev);
+
+ HRESULT CreatePixelShader(
+ LPCSTR pProfile,
+ LPCSTR pSourceData,
+ SIZE_T SourceDataSize,
+ IDirect3DPixelShader9** ppPixelShader);
+
+ void SavePixelShader(
+ LPCSTR pProfile,
+ LPCSTR pSourceData,
+ SIZE_T SourceDataSize,
+ void* pCompiledData,
+ SIZE_T CompiledDataSize);
+
+private:
+ void LoadCache();
+ static void DestroyCache();
+ static bool IsEnabled();
+ void TouchFile(const CString& FileName) const;
+ bool IsFileOutdated(const CString& FileName) const;
+ bool LoadCache(const CString& FileName, const CString& FilePath);
+ void DeleteCache(uint64_t Hash);
+ bool GetCacheFilePath(CString& CacheFilePath, uint64_t Hash) const;
+ static bool GetCacheFolder(CString& CacheFolder);
+
+ uint64_t Hash(LPCSTR pProfile, LPCSTR pSourceData, SIZE_T SourceDataSize) const;
+ uint64_t Hash(LPCSTR pStr) const;
+};
diff --git a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
index 0a3caaf96..164730b83 100644
--- a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
+++ b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,13 +22,14 @@
#include "stdafx.h"
#include "PixelShaderCompiler.h"
#include "../../../mpc-hc/resource.h"
-#include <share.h>
+#include <d3d9.h>
CPixelShaderCompiler::CPixelShaderCompiler(IDirect3DDevice9* pD3DDev, bool fStaySilent)
: m_hDll(nullptr)
, m_pD3DCompile(nullptr)
, m_pD3DDisassemble(nullptr)
, m_pD3DDev(pD3DDev)
+ , m_Cache(pD3DDev)
{
m_hDll = LoadLibrary(D3DCOMPILER_DLL);
@@ -120,6 +121,11 @@ HRESULT CPixelShaderCompiler::InternalCompile(
} else {
defProfileVal = "-1";
}
+
+ if (ppPixelShader && SUCCEEDED(m_Cache.CreatePixelShader(defProfileVal, pSrcData, SrcDataSize, ppPixelShader))) {
+ return S_OK;
+ }
+
D3D_SHADER_MACRO macros[] = { { defProfile, defProfileVal }, { 0 } };
CComPtr<ID3DBlob> pShaderBlob, pErrorBlob;
@@ -145,6 +151,9 @@ HRESULT CPixelShaderCompiler::InternalCompile(
if (FAILED(hr)) {
return hr;
}
+
+ m_Cache.SavePixelShader(defProfileVal, pSrcData, SrcDataSize,
+ (void*)pShaderBlob->GetBufferPointer(), pShaderBlob->GetBufferSize());
}
if (pDisasm) {
diff --git a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.h b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.h
index fe9bd0e46..5aab64950 100644
--- a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.h
+++ b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,7 @@
#pragma once
-#include <d3d9.h>
+#include "PixelShaderCache.h"
#include <D3Dcompiler.h>
class CPixelShaderCompiler
@@ -33,6 +33,8 @@ class CPixelShaderCompiler
CComPtr<IDirect3DDevice9> m_pD3DDev;
+ CPixelShaderCache m_Cache;
+
HRESULT InternalCompile(
LPCSTR pSrcData,
SIZE_T SrcDataSize,
diff --git a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp
deleted file mode 100644
index fe149a963..000000000
--- a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "QT7AllocatorPresenter.h"
-
-using namespace DSObjects;
-
-//
-// CQT7AllocatorPresenter
-//
-
-CQT7AllocatorPresenter::CQT7AllocatorPresenter(HWND hWnd, HRESULT& hr)
- : CDX7AllocatorPresenter(hWnd, hr)
-{
-}
-
-STDMETHODIMP CQT7AllocatorPresenter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
-{
- CheckPointer(ppv, E_POINTER);
-
- return
- QI(IQTVideoSurface)
- __super::NonDelegatingQueryInterface(riid, ppv);
-}
-
-HRESULT CQT7AllocatorPresenter::AllocSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- CheckPointer(m_pDD, E_POINTER);
-
- m_pVideoSurfaceOff = nullptr;
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
- ddsd.dwWidth = m_nativeVideoSize.cx;
- ddsd.dwHeight = m_nativeVideoSize.cy;
- ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
- ddsd.ddpfPixelFormat.dwRGBBitCount = 32;
- ddsd.ddpfPixelFormat.dwRGBAlphaBitMask = 0xFF000000;
- ddsd.ddpfPixelFormat.dwRBitMask = 0x00FF0000;
- ddsd.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
- ddsd.ddpfPixelFormat.dwBBitMask = 0x000000FF;
-
- HRESULT hr = m_pDD->CreateSurface(&ddsd, &m_pVideoSurfaceOff, nullptr);
- if (FAILED(hr)) {
- return E_FAIL;
- }
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurfaceOff->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- return __super::AllocSurfaces();
-}
-
-void CQT7AllocatorPresenter::DeleteSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- m_pVideoSurfaceOff = nullptr;
-
- __super::DeleteSurfaces();
-}
-
-// IQTVideoSurface
-
-STDMETHODIMP CQT7AllocatorPresenter::BeginBlt(const BITMAP& bm)
-{
- CAutoLock cAutoLock(this);
-
- DeleteSurfaces();
-
- SetVideoSize(CSize(bm.bmWidth, abs(bm.bmHeight)));
-
- HRESULT hr;
- if (FAILED(hr = AllocSurfaces())) {
- return hr;
- }
-
- return S_OK;
-}
-
-STDMETHODIMP CQT7AllocatorPresenter::DoBlt(const BITMAP& bm)
-{
- if (!m_pVideoSurface || !m_pVideoSurfaceOff) {
- return E_FAIL;
- }
-
- bool fOk = false;
-
- DDSURFACEDESC2 ddsd;
- INITDDSTRUCT(ddsd);
- if (FAILED(m_pVideoSurfaceOff->GetSurfaceDesc(&ddsd))) {
- return E_FAIL;
- }
-
- UINT w = (UINT)bm.bmWidth;
- UINT h = abs(bm.bmHeight);
- int bpp = bm.bmBitsPixel;
-
- if ((bpp == 16 || bpp == 24 || bpp == 32) && w == ddsd.dwWidth && h == ddsd.dwHeight) {
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceOff->Lock(nullptr, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BitBltFromRGBToRGB(
- w, h,
- (BYTE*)ddsd.lpSurface, ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount,
- (BYTE*)bm.bmBits, bm.bmWidthBytes, bm.bmBitsPixel);
- m_pVideoSurfaceOff->Unlock(nullptr);
- fOk = true;
- }
- }
-
- if (!fOk) {
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurfaceOff->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- HDC hDC;
- if (SUCCEEDED(m_pVideoSurfaceOff->GetDC(&hDC))) {
- CString str;
- str.Format(_T("Sorry, this format is not supported"));
-
- SetBkColor(hDC, 0);
- SetTextColor(hDC, 0x404040);
- TextOut(hDC, 10, 10, str, str.GetLength());
-
- m_pVideoSurfaceOff->ReleaseDC(hDC);
- }
- }
-
- m_pVideoSurface->Blt(nullptr, m_pVideoSurfaceOff, nullptr, DDBLT_WAIT, nullptr);
-
- Paint(true);
-
- return S_OK;
-}
diff --git a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.h
deleted file mode 100644
index 5760fcd76..000000000
--- a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "DX7AllocatorPresenter.h"
-#include "IQTVideoSurface.h"
-
-namespace DSObjects
-{
-
- class CQT7AllocatorPresenter
- : public CDX7AllocatorPresenter
- , public IQTVideoSurface
- {
- CComPtr<IDirectDrawSurface7> m_pVideoSurfaceOff;
-
- protected:
- HRESULT AllocSurfaces();
- void DeleteSurfaces();
-
- public:
- CQT7AllocatorPresenter(HWND hWnd, HRESULT& hr);
-
- DECLARE_IUNKNOWN
- STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
-
- // ISubPicAllocatorPresenter2
- STDMETHODIMP SetIsRendering(bool bIsRendering) {
- m_bIsRendering = bIsRendering;
- return S_OK;
- }
-
- // IQTVideoSurface
- STDMETHODIMP BeginBlt(const BITMAP& bm);
- STDMETHODIMP DoBlt(const BITMAP& bm);
- };
-
-}
diff --git a/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
index e39af0c01..bd74d8d8d 100644
--- a/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,6 +20,7 @@
#include "stdafx.h"
#include "QT9AllocatorPresenter.h"
+#include "../../../DSUtil/vd.h"
using namespace DSObjects;
diff --git a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp
deleted file mode 100644
index 98a943d5a..000000000
--- a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "RM7AllocatorPresenter.h"
-
-using namespace DSObjects;
-
-//
-// CRM7AllocatorPresenter
-//
-
-CRM7AllocatorPresenter::CRM7AllocatorPresenter(HWND hWnd, HRESULT& hr)
- : CDX7AllocatorPresenter(hWnd, hr)
-{
- ZeroMemory(&m_bitmapInfo, sizeof(m_bitmapInfo));
- ZeroMemory(&m_lastBitmapInfo, sizeof(m_lastBitmapInfo));
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
-{
- CheckPointer(ppv, E_POINTER);
-
- return
- QI2(IRMAVideoSurface)
- __super::NonDelegatingQueryInterface(riid, ppv);
-}
-
-HRESULT CRM7AllocatorPresenter::AllocSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- CheckPointer(m_pDD, E_POINTER);
-
- m_pVideoSurfaceOff = nullptr;
- m_pVideoSurfaceYUY2 = nullptr;
-
- DDSURFACEDESC2 ddsd;
- DDBLTFX fx;
-
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
- ddsd.dwWidth = m_nativeVideoSize.cx;
- ddsd.dwHeight = m_nativeVideoSize.cy;
- ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
- ddsd.ddpfPixelFormat.dwRGBBitCount = 32;
- ddsd.ddpfPixelFormat.dwRGBAlphaBitMask = 0xFF000000;
- ddsd.ddpfPixelFormat.dwRBitMask = 0x00FF0000;
- ddsd.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
- ddsd.ddpfPixelFormat.dwBBitMask = 0x000000FF;
-
- if (FAILED(m_pDD->CreateSurface(&ddsd, &m_pVideoSurfaceOff, nullptr))) {
- return E_FAIL;
- }
-
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurfaceOff->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- INITDDSTRUCT(ddsd);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
- ddsd.dwWidth = m_nativeVideoSize.cx;
- ddsd.dwHeight = m_nativeVideoSize.cy;
- ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_FOURCC;
- ddsd.ddpfPixelFormat.dwYUVBitCount = 16;
- ddsd.ddpfPixelFormat.dwFourCC = '2YUY';
-
- if (FAILED(m_pDD->CreateSurface(&ddsd, &m_pVideoSurfaceYUY2, nullptr)) ||
- FAILED(m_pVideoSurfaceOff->Blt(nullptr, m_pVideoSurfaceYUY2, nullptr, DDBLT_WAIT, nullptr))) {
- m_pVideoSurfaceYUY2 = nullptr;
- }
-
- if (m_pVideoSurfaceYUY2) {
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0x80108010;
- m_pVideoSurfaceYUY2->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
- }
-
- return __super::AllocSurfaces();
-}
-
-void CRM7AllocatorPresenter::DeleteSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- m_pVideoSurfaceOff = nullptr;
- m_pVideoSurfaceYUY2 = nullptr;
-
- __super::DeleteSurfaces();
-}
-
-// IRMAVideoSurface
-
-STDMETHODIMP CRM7AllocatorPresenter::Blt(UCHAR* pImageData, RMABitmapInfoHeader* pBitmapInfo, REF(PNxRect) inDestRect, REF(PNxRect) inSrcRect)
-{
- if (!m_pVideoSurface || !m_pVideoSurfaceOff) {
- return E_FAIL;
- }
-
- bool fRGB = false;
- bool fYUY2 = false;
-
- CRect src((RECT*)&inSrcRect), dst((RECT*)&inDestRect), src2(CPoint(0, 0), src.Size());
- if (src.Width() > dst.Width() || src.Height() > dst.Height()) {
- return E_FAIL;
- }
-
- DDSURFACEDESC2 ddsd;
-
- if (pBitmapInfo->biCompression == '024I') {
- DWORD pitch = pBitmapInfo->biWidth;
- DWORD size = pitch * abs(pBitmapInfo->biHeight);
-
- BYTE* y = pImageData + src.top * pitch + src.left;
- BYTE* u = pImageData + size + src.top * (pitch / 2) + src.left / 2;
- BYTE* v = pImageData + size + size / 4 + src.top * (pitch / 2) + src.left / 2;
-
- if (m_pVideoSurfaceYUY2) {
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceYUY2->Lock(src2, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BitBltFromI420ToYUY2(src.Width(), src.Height(), (BYTE*)ddsd.lpSurface, ddsd.lPitch, y, u, v, pitch);
- m_pVideoSurfaceYUY2->Unlock(src2);
- fYUY2 = true;
- }
- } else {
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceOff->Lock(src2, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BitBltFromI420ToRGB(src.Width(), src.Height(), (BYTE*)ddsd.lpSurface, ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount, y, u, v, pitch);
- m_pVideoSurfaceOff->Unlock(src2);
- fRGB = true;
- }
- }
- } else if (pBitmapInfo->biCompression == '2YUY') {
- DWORD w = pBitmapInfo->biWidth;
- DWORD h = abs(pBitmapInfo->biHeight);
- DWORD pitch = pBitmapInfo->biWidth * 2;
- UNREFERENCED_PARAMETER(w);
- UNREFERENCED_PARAMETER(h);
-
- BYTE* yvyu = pImageData + src.top * pitch + src.left * 2;
-
- if (m_pVideoSurfaceYUY2) {
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceYUY2->Lock(src2, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BitBltFromYUY2ToYUY2(src.Width(), src.Height(), (BYTE*)ddsd.lpSurface, ddsd.lPitch, yvyu, pitch);
- m_pVideoSurfaceYUY2->Unlock(src2);
- fYUY2 = true;
- }
- } else {
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceOff->Lock(src2, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BitBltFromYUY2ToRGB(src.Width(), src.Height(), (BYTE*)ddsd.lpSurface, ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount, yvyu, pitch);
- m_pVideoSurfaceOff->Unlock(src2);
- fRGB = true;
- }
- }
- } else if (pBitmapInfo->biCompression == 0 || pBitmapInfo->biCompression == 3
- || pBitmapInfo->biCompression == 'BGRA') {
- DWORD w = pBitmapInfo->biWidth;
- DWORD h = abs(pBitmapInfo->biHeight);
- DWORD pitch = pBitmapInfo->biWidth * pBitmapInfo->biBitCount >> 3;
- UNREFERENCED_PARAMETER(w);
- UNREFERENCED_PARAMETER(h);
-
- BYTE* rgb = pImageData + src.top * pitch + src.left * (pBitmapInfo->biBitCount >> 3);
-
- INITDDSTRUCT(ddsd);
- if (SUCCEEDED(m_pVideoSurfaceOff->Lock(src2, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY, nullptr))) {
- BYTE* lpSurface = (BYTE*)ddsd.lpSurface;
- if (pBitmapInfo->biHeight > 0) {
- lpSurface += ddsd.lPitch * (src.Height() - 1);
- ddsd.lPitch = -ddsd.lPitch;
- }
- BitBltFromRGBToRGB(src.Width(), src.Height(), lpSurface, ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount, rgb, pitch, pBitmapInfo->biBitCount);
- fRGB = true;
- m_pVideoSurfaceOff->Unlock(src2);
- }
- }
-
- if (!fRGB && !fYUY2) {
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurfaceOff->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- HDC hDC;
- if (SUCCEEDED(m_pVideoSurfaceOff->GetDC(&hDC))) {
- CString str;
- str.Format(_T("Sorry, this format is not supported"));
-
- SetBkColor(hDC, 0);
- SetTextColor(hDC, 0x404040);
- TextOut(hDC, 10, 10, str, str.GetLength());
-
- m_pVideoSurfaceOff->ReleaseDC(hDC);
-
- fRGB = true;
- }
- }
-
- if (fRGB) {
- m_pVideoSurface->Blt(dst, m_pVideoSurfaceOff, src2, DDBLT_WAIT, nullptr);
- }
- if (fYUY2) {
- m_pVideoSurface->Blt(dst, m_pVideoSurfaceYUY2, src2, DDBLT_WAIT, nullptr);
- }
-
- Paint(true);
-
- return PNR_OK;
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::BeginOptimizedBlt(RMABitmapInfoHeader* pBitmapInfo)
-{
- CAutoLock cAutoLock(this);
- DeleteSurfaces();
- SetVideoSize(CSize(pBitmapInfo->biWidth, abs(pBitmapInfo->biHeight)));
- if (FAILED(AllocSurfaces())) {
- return E_FAIL;
- }
- return PNR_NOTIMPL;
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::OptimizedBlt(UCHAR* pImageBits, REF(PNxRect) rDestRect, REF(PNxRect) rSrcRect)
-{
- return PNR_NOTIMPL;
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::EndOptimizedBlt()
-{
- return PNR_NOTIMPL;
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::GetOptimizedFormat(REF(RMA_COMPRESSION_TYPE) ulType)
-{
- return PNR_NOTIMPL;
-}
-
-STDMETHODIMP CRM7AllocatorPresenter::GetPreferredFormat(REF(RMA_COMPRESSION_TYPE) ulType)
-{
- ulType = RMA_I420;
- return PNR_OK;
-}
diff --git a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.h
deleted file mode 100644
index 14627fab6..000000000
--- a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "DX7AllocatorPresenter.h"
-#include "realmedia/pntypes.h"
-#include "realmedia/pnwintyp.h"
-#include "realmedia/pncom.h"
-#include "realmedia/rmavsurf.h"
-
-namespace DSObjects
-{
-
- class CRM7AllocatorPresenter
- : public CDX7AllocatorPresenter
- , public IRMAVideoSurface
- {
- CComPtr<IDirectDrawSurface7> m_pVideoSurfaceOff;
- CComPtr<IDirectDrawSurface7> m_pVideoSurfaceYUY2;
-
- RMABitmapInfoHeader m_bitmapInfo;
- RMABitmapInfoHeader m_lastBitmapInfo;
-
- protected:
- HRESULT AllocSurfaces();
- void DeleteSurfaces();
-
- public:
- CRM7AllocatorPresenter(HWND hWnd, HRESULT& hr);
-
- DECLARE_IUNKNOWN
- STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
-
- // ISubPicAllocatorPresenter2
- STDMETHODIMP SetIsRendering(bool bIsRendering) {
- m_bIsRendering = bIsRendering;
- return S_OK;
- }
-
- // IRMAVideoSurface
- STDMETHODIMP Blt(UCHAR* pImageData, RMABitmapInfoHeader* pBitmapInfo, REF(PNxRect) inDestRect, REF(PNxRect) inSrcRect);
- STDMETHODIMP BeginOptimizedBlt(RMABitmapInfoHeader* pBitmapInfo);
- STDMETHODIMP OptimizedBlt(UCHAR* pImageBits, REF(PNxRect) rDestRect, REF(PNxRect) rSrcRect);
- STDMETHODIMP EndOptimizedBlt();
- STDMETHODIMP GetOptimizedFormat(REF(RMA_COMPRESSION_TYPE) ulType);
- STDMETHODIMP GetPreferredFormat(REF(RMA_COMPRESSION_TYPE) ulType);
- };
-
-}
diff --git a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
index b3c1ead15..7f80106b9 100644
--- a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,6 +20,7 @@
#include "stdafx.h"
#include "RM9AllocatorPresenter.h"
+#include "../../../DSUtil/vd.h"
using namespace DSObjects;
diff --git a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.h
index 35dc040cc..dac5c7b76 100644
--- a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.h
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,11 +21,9 @@
#pragma once
#include "DX9AllocatorPresenter.h"
-#include "realmedia/pntypes.h"
-#include "realmedia/pnwintyp.h"
#include "realmedia/pncom.h"
+#include "realmedia/pnwintyp.h"
#include "realmedia/rmavsurf.h"
-#include "IQTVideoSurface.h"
namespace DSObjects
{
diff --git a/src/filters/renderer/VideoRenderers/RenderersSettings.cpp b/src/filters/renderer/VideoRenderers/RenderersSettings.cpp
index 461eb5175..1866d029b 100644
--- a/src/filters/renderer/VideoRenderers/RenderersSettings.cpp
+++ b/src/filters/renderer/VideoRenderers/RenderersSettings.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,7 +24,6 @@
#include "../../../mpc-hc/AppSettings.h"
#include "../../../mpc-hc/mplayerc.h"
#include "../../../DSUtil/SysVersion.h"
-#include "version.h"
#include <d3dx9.h>
void CRenderersSettings::UpdateData(bool fSave)
@@ -61,6 +60,7 @@ void CRenderersSettings::CAdvRendererSettings::SetDefault()
fCycleDelta = 0.0012;
fTargetSyncOffset = 12.0;
fControlLimit = 2.0;
+ bCacheShaders = false;
}
void CRenderersSettings::CAdvRendererSettings::SetOptimal()
@@ -92,6 +92,7 @@ void CRenderersSettings::CAdvRendererSettings::SetOptimal()
fCycleDelta = 0.0012;
fTargetSyncOffset = 12.0;
fControlLimit = 2.0;
+ bCacheShaders = false;
}
/////////////////////////////////////////////////////////////////////////////
@@ -99,7 +100,7 @@ void CRenderersSettings::CAdvRendererSettings::SetOptimal()
CRenderersData::CRenderersData()
: m_hD3DX9Dll(nullptr)
- , m_nDXSdkRelease(0)
+ , m_nDXSdkRelease(D3DX_SDK_VERSION)
, m_bTearingTest(false)
, m_iDisplayStats(0)
, m_bResetStats(false)
@@ -121,22 +122,11 @@ LONGLONG CRenderersData::GetPerfCounter() const
HINSTANCE CRenderersData::GetD3X9Dll()
{
-#if D3DX_SDK_VERSION < MPC_DX_SDK_NUMBER
-#pragma message("ERROR: DirectX SDK " MPC_DX_SDK_MONTH " " MAKE_STR(MPC_DX_SDK_YEAR) " (v" MAKE_STR(MPC_DX_SDK_NUMBER) ") or newer is required to build MPC-HC")
-#endif
-
+ // D3DX9 v43 is the latest available and will not get any update. We support only this specific version.
+ static_assert(D3DX_SDK_VERSION == 43, "Different D3DX9 version?");
if (m_hD3DX9Dll == nullptr) {
- m_nDXSdkRelease = 0;
-
- // load latest compatible version of the DLL that is available
- for (UINT i = D3DX_SDK_VERSION; i >= MPC_DX_SDK_NUMBER; i--) {
- m_strD3DX9Version.Format(_T("d3dx9_%u.dll"), i);
- m_hD3DX9Dll = LoadLibrary(m_strD3DX9Version);
- if (m_hD3DX9Dll) {
- m_nDXSdkRelease = i;
- break;
- }
- }
+ m_strD3DX9Version.Format(_T("d3dx9_%u.dll"), D3DX_SDK_VERSION);
+ m_hD3DX9Dll = LoadLibrary(m_strD3DX9Version);
}
return m_hD3DX9Dll;
diff --git a/src/filters/renderer/VideoRenderers/RenderersSettings.h b/src/filters/renderer/VideoRenderers/RenderersSettings.h
index 9f658cba4..8a74fe118 100644
--- a/src/filters/renderer/VideoRenderers/RenderersSettings.h
+++ b/src/filters/renderer/VideoRenderers/RenderersSettings.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -32,14 +32,12 @@ enum {
enum {
VIDRNDT_RM_DEFAULT,
- VIDRNDT_RM_DX7,
- VIDRNDT_RM_DX9
+ VIDRNDT_RM_DX9 = 2
};
enum {
VIDRNDT_QT_DEFAULT,
- VIDRNDT_QT_DX7,
- VIDRNDT_QT_DX9
+ VIDRNDT_QT_DX9 = 2
};
enum {
@@ -111,6 +109,10 @@ public:
double fTargetSyncOffset;
double fControlLimit;
+ // Other settings
+ bool bCacheShaders;
+ CString sShaderCachePath;
+
void SetDefault();
void SetOptimal();
};
@@ -132,7 +134,7 @@ public:
class CRenderersData
{
HINSTANCE m_hD3DX9Dll;
- UINT m_nDXSdkRelease;
+ const UINT m_nDXSdkRelease;
LARGE_INTEGER llPerfFrequency;
public:
diff --git a/src/filters/renderer/VideoRenderers/SyncRenderer.cpp b/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
index ecb328db6..f688ac6e0 100644
--- a/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
+++ b/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2010-2015 see Authors.txt
+ * (C) 2010-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -28,12 +28,10 @@
#include "../../../DSUtil/WinAPIUtils.h"
#include <strsafe.h> // Required in CGenlock
#include <videoacc.h>
-#include <InitGuid.h>
#include <d3d9.h>
#include <d3dx9.h>
#include <vmr9.h>
#include <evr.h>
-#include <mfapi.h>
#include <Mferror.h>
#include <vector>
#include "../../../SubPic/DX9SubPic.h"
@@ -42,10 +40,22 @@
#include "MacrovisionKicker.h"
#include "IPinHook.h"
#include "PixelShaderCompiler.h"
-#include "SyncRenderer.h"
-#include "version.h"
#include "FocusThread.h"
#include "../../../DSUtil/ArrayUtils.h"
+#include "../../../DSUtil/SysVersion.h"
+#include "../../../DSUtil/vd.h"
+#include <mpc-hc_config.h>
+
+#include <initguid.h>
+#include <mfapi.h>
+#include "SyncRenderer.h"
+
+#define REFERENCE_WIDTH 1920
+#define FONT_HEIGHT 21
+#define BOLD_THRESHOLD 11
+#define TEXT_PADDING 2
+#define GRAPH_HEIGHT 360
+#define GRAPH_WIDTH 1000
// only for debugging
//#define DISABLE_USING_D3D9EX
@@ -213,19 +223,17 @@ CBaseAP::~CBaseAP()
m_pFont = nullptr;
m_pLine = nullptr;
+ m_pSprite = nullptr;
+ m_pOSDTexture = nullptr;
+ m_pOSDSurface = nullptr;
m_pD3DDev = nullptr;
m_pD3DDevEx = nullptr;
m_pPSC.Free();
m_pD3D = nullptr;
m_pD3DEx = nullptr;
- if (m_hDWMAPI) {
- FreeLibrary(m_hDWMAPI);
- m_hDWMAPI = nullptr;
- }
- if (m_hD3D9) {
- FreeLibrary(m_hD3D9);
- m_hD3D9 = nullptr;
- }
+ m_pSubPicQueue = nullptr;
+ m_pAllocator = nullptr;
+
m_pAudioStats = nullptr;
SAFE_DELETE(m_pGenlock);
@@ -236,6 +244,15 @@ CBaseAP::~CBaseAP()
TerminateThread(m_FocusThread->m_hThread, 0xDEAD);
}
}
+
+ if (m_hDWMAPI) {
+ FreeLibrary(m_hDWMAPI);
+ m_hDWMAPI = nullptr;
+ }
+ if (m_hD3D9) {
+ FreeLibrary(m_hD3D9);
+ m_hD3D9 = nullptr;
+ }
}
template<int texcoords>
@@ -462,7 +479,8 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
D3DDISPLAYMODE d3ddm;
ZeroMemory(&d3ddm, sizeof(d3ddm));
- if (FAILED(m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm))) {
+ if (FAILED(m_pD3D->GetAdapterDisplayMode(m_CurrentAdapter, &d3ddm))
+ || d3ddm.Width <= 0 || d3ddm.Height <= 0) {
_Error += L"Can not retrieve display mode data\n";
return E_UNEXPECTED;
}
@@ -683,20 +701,6 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
m_pSubPicQueue->SetSubPicProvider(pSubPicProvider);
}
- if (m_pD3DXCreateFont) {
- LONG MinSize = 1600;
- LONG CurrentSize = std::min(m_ScreenSize.cx, MinSize);
- double Scale = double(CurrentSize) / double(MinSize);
- m_TextScale = Scale;
- m_pD3DXCreateFont(m_pD3DDev, (int)(-24.0 * Scale), (UINT)(-11.0 * Scale), CurrentSize < 800 ? FW_NORMAL : FW_BOLD, 0, FALSE,
- DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FIXED_PITCH | FF_DONTCARE, L"Lucida Console", &m_pFont);
- }
- if (m_pD3DXCreateSprite) {
- m_pD3DXCreateSprite(m_pD3DDev, &m_pSprite);
- }
- if (m_pD3DXCreateLine) {
- m_pD3DXCreateLine(m_pD3DDev, &m_pLine);
- }
m_LastAdapterCheck = GetRenderersData()->GetPerfCounter();
return S_OK;
}
@@ -774,7 +778,8 @@ HRESULT CBaseAP::ResetDXDevice(CString& _Error)
D3DDISPLAYMODE d3ddm;
ZeroMemory(&d3ddm, sizeof(d3ddm));
- if (FAILED(m_pD3D->GetAdapterDisplayMode(GetAdapter(m_pD3D, m_hWnd), &d3ddm))) {
+ if (FAILED(m_pD3D->GetAdapterDisplayMode(GetAdapter(m_pD3D, m_hWnd), &d3ddm))
+ || d3ddm.Width <= 0 || d3ddm.Height <= 0) {
_Error += L"Can not retrieve display mode data\n";
return E_UNEXPECTED;
}
@@ -913,22 +918,9 @@ HRESULT CBaseAP::ResetDXDevice(CString& _Error)
}
m_pFont = nullptr;
- if (m_pD3DXCreateFont) {
- LONG MinSize = 1600;
- LONG CurrentSize = std::min(m_ScreenSize.cx, MinSize);
- double Scale = double(CurrentSize) / double(MinSize);
- m_TextScale = Scale;
- m_pD3DXCreateFont(m_pD3DDev, (int)(-24.0 * Scale), (UINT)(-11.0 * Scale), CurrentSize < 800 ? FW_NORMAL : FW_BOLD, 0, FALSE,
- DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FIXED_PITCH | FF_DONTCARE, L"Lucida Console", &m_pFont);
- }
m_pSprite = nullptr;
- if (m_pD3DXCreateSprite) {
- m_pD3DXCreateSprite(m_pD3DDev, &m_pSprite);
- }
m_pLine = nullptr;
- if (m_pD3DXCreateLine) {
- m_pD3DXCreateLine(m_pD3DDev, &m_pLine);
- }
+
return S_OK;
}
@@ -1946,70 +1938,97 @@ STDMETHODIMP_(bool) CBaseAP::DisplayChange()
return true;
}
-void CBaseAP::DrawText(const RECT& rc, const CString& strText, int _Priority)
+void CBaseAP::InitStats()
{
- if (_Priority < 1) {
- return;
+ ASSERT(m_pD3DDev);
+ static LONG currentHeight = 0;
+ int newHeight = lround(FONT_HEIGHT * (double(m_windowRect.Width()) / REFERENCE_WIDTH));
+
+ if (m_pD3DXCreateFont && (!m_pFont || currentHeight != newHeight)) {
+ m_pFont = nullptr;
+ if (newHeight <= 0) {
+ ASSERT(FALSE);
+ }
+ m_pD3DXCreateFont(m_pD3DDev, newHeight, 0, newHeight < BOLD_THRESHOLD ? FW_NORMAL : FW_BOLD,
+ 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
+ SysVersion::IsXPOrLater() ? CLEARTYPE_NATURAL_QUALITY : ANTIALIASED_QUALITY,
+ FIXED_PITCH | FF_DONTCARE, L"Lucida Console", &m_pFont);
+ currentHeight = newHeight;
}
- D3DXCOLOR Color1(1.0f, 0.2f, 0.2f, 1.0f);
- D3DXCOLOR Color0(0.0f, 0.0f, 0.0f, 1.0f);
- RECT Rect1 = rc;
- RECT Rect2 = rc;
- OffsetRect(&Rect2, 2, 2);
+ if (m_pD3DXCreateSprite && !m_pSprite) {
+ m_pD3DXCreateSprite(m_pD3DDev, &m_pSprite);
+ }
- // Draw shadow
- m_pFont->DrawText(m_pSprite, strText, -1, &Rect2, DT_NOCLIP, Color0);
- // Draw text
- m_pFont->DrawText(m_pSprite, strText, -1, &Rect1, DT_NOCLIP, Color1);
+ if (m_pD3DXCreateLine && !m_pLine) {
+ m_pD3DXCreateLine(m_pD3DDev, &m_pLine);
+ }
}
void CBaseAP::DrawStats()
{
- const CRenderersSettings& r = GetRenderersSettings();
const CRenderersData* rd = GetRenderersData();
- LONGLONG llMaxJitter = m_MaxJitter;
- LONGLONG llMinJitter = m_MinJitter;
+ InitStats();
+ const float textScale = float(m_windowRect.Width()) / REFERENCE_WIDTH;
+ const int lineHeight = lround((FONT_HEIGHT + TEXT_PADDING) * textScale);
- RECT rc = {20, 20, 520, 520 };
// pApp->m_iDisplayStats = 1 for full stats, 2 for little less, 3 for basic, 0 for no stats
if (m_pFont && m_pSprite) {
+ auto drawText = [&](CRect & rc, const CString & strText) {
+ D3DXCOLOR Color1(1.0f, 0.2f, 0.2f, 1.0f);
+ D3DXCOLOR Color0(0.0f, 0.0f, 0.0f, 1.0f);
+
+ RECT shadowRect = rc;
+ OffsetRect(&shadowRect, 2, 2);
+
+ // Draw shadow
+ m_pFont->DrawText(m_pSprite, strText, -1, &shadowRect, DT_NOCLIP, Color0);
+ // Draw text
+ m_pFont->DrawText(m_pSprite, strText, -1, rc, DT_NOCLIP, Color1);
+ rc.OffsetRect(0, lineHeight);
+ };
+
+ const CRenderersSettings& r = GetRenderersSettings();
+ LONGLONG llMaxJitter = m_MaxJitter;
+ LONGLONG llMinJitter = m_MinJitter;
+ CRect rc(lineHeight, lineHeight, 0, 0);
+
m_pSprite->Begin(D3DXSPRITE_ALPHABLEND);
CString strText;
- int TextHeight = (int)(25.0 * m_TextScale + 0.5);
- strText.Format(L"Frames drawn from stream start: %u | Sample time stamp: %ld ms", m_pcFramesDrawn, (LONG)(m_llSampleTime / 10000));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Frames drawn from stream start: %u | Sample time stamp: %ld ms"),
+ m_pcFramesDrawn, (LONG)(m_llSampleTime / 10000));
+ drawText(rc, strText);
if (rd->m_iDisplayStats == 1) {
- strText.Format(L"Frame cycle : %.3f ms [%.3f ms, %.3f ms] Actual %+5.3f ms [%+.3f ms, %+.3f ms]", m_dFrameCycle, m_pGenlock->minFrameCycle, m_pGenlock->maxFrameCycle, m_fJitterMean / 10000.0, (double(llMinJitter) / 10000.0), (double(llMaxJitter) / 10000.0));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Frame cycle : %.3f ms [%.3f ms, %.3f ms] Actual %+5.3f ms [%+.3f ms, %+.3f ms]"),
+ m_dFrameCycle, m_pGenlock->minFrameCycle, m_pGenlock->maxFrameCycle,
+ m_fJitterMean / 10000.0, (double(llMinJitter) / 10000.0),
+ (double(llMaxJitter) / 10000.0));
+ drawText(rc, strText);
- strText.Format(L"Display cycle: Measured closest match %.3f ms Measured base %.3f ms", m_dOptimumDisplayCycle, m_dEstRefreshCycle);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Display cycle: Measured closest match %.3f ms Measured base %.3f ms"),
+ m_dOptimumDisplayCycle, m_dEstRefreshCycle);
+ drawText(rc, strText);
- strText.Format(L"Frame rate : %.3f fps Actual frame rate: %.3f fps", 1000.0 / m_dFrameCycle, 10000000.0 / m_fJitterMean);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Frame rate : %.3f fps Actual frame rate: %.3f fps"),
+ 1000.0 / m_dFrameCycle, 10000000.0 / m_fJitterMean);
+ drawText(rc, strText);
- strText.Format(L"Windows : Display cycle %.3f ms Display refresh rate %u Hz", m_dD3DRefreshCycle, m_refreshRate);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Windows : Display cycle %.3f ms Display refresh rate %u Hz"),
+ m_dD3DRefreshCycle, m_refreshRate);
+ drawText(rc, strText);
if (m_pGenlock->powerstripTimingExists) {
- strText.Format(L"Powerstrip : Display cycle %.3f ms Display refresh rate %.3f Hz", 1000.0 / m_pGenlock->curDisplayFreq, m_pGenlock->curDisplayFreq);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Powerstrip : Display cycle %.3f ms Display refresh rate %.3f Hz"),
+ 1000.0 / m_pGenlock->curDisplayFreq, m_pGenlock->curDisplayFreq);
+ drawText(rc, strText);
}
if ((m_caps.Caps & D3DCAPS_READ_SCANLINE) == 0) {
- strText = L"Scan line err: Graphics device does not support scan line access. No sync is possible";
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText = _T("Scan line err: Graphics device does not support scan line access. No sync is possible");
+ drawText(rc, strText);
}
#ifdef _DEBUG
@@ -2021,175 +2040,184 @@ void CBaseAP::DrawStats()
D3DPRESENTSTATS stats;
hr = pSCEx->GetPresentStats(&stats);
if (SUCCEEDED(hr)) {
- strText = L"Graphics device present stats:";
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText = _T("Graphics device present stats:");
+ drawText(rc, strText);
- strText.Format(L" PresentCount %u PresentRefreshCount %u SyncRefreshCount %u",
+ strText.Format(_T(" PresentCount %u PresentRefreshCount %u SyncRefreshCount %u"),
stats.PresentCount, stats.PresentRefreshCount, stats.SyncRefreshCount);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
LARGE_INTEGER Freq;
QueryPerformanceFrequency(&Freq);
Freq.QuadPart /= 1000;
- strText.Format(L" SyncQPCTime %dms SyncGPUTime %dms",
- stats.SyncQPCTime.QuadPart / Freq.QuadPart, stats.SyncGPUTime.QuadPart / Freq.QuadPart);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T(" SyncQPCTime %dms SyncGPUTime %dms"),
+ stats.SyncQPCTime.QuadPart / Freq.QuadPart,
+ stats.SyncGPUTime.QuadPart / Freq.QuadPart);
+ drawText(rc, strText);
} else {
strText = L"Graphics device does not support present stats";
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
}
}
}
#endif
- strText.Format(L"Video size : %ld x %ld (AR = %ld : %ld) Display resolution %ld x %ld ", m_nativeVideoSize.cx, m_nativeVideoSize.cy, m_aspectRatio.cx, m_aspectRatio.cy, m_ScreenSize.cx, m_ScreenSize.cy);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Video size : %ld x %ld (AR = %ld : %ld) Display resolution %ld x %ld "),
+ m_nativeVideoSize.cx, m_nativeVideoSize.cy, m_aspectRatio.cx, m_aspectRatio.cy,
+ m_ScreenSize.cx, m_ScreenSize.cy);
+ drawText(rc, strText);
if (r.m_AdvRendSets.bSynchronizeDisplay || r.m_AdvRendSets.bSynchronizeVideo) {
if (r.m_AdvRendSets.bSynchronizeDisplay && !m_pGenlock->PowerstripRunning()) {
- strText = L"Sync error : PowerStrip is not running. No display sync is possible.";
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText = _T("Sync error : PowerStrip is not running. No display sync is possible.");
+ drawText(rc, strText);
} else {
- strText.Format(L"Sync adjust : %d | # of adjustments: %u", m_pGenlock->adjDelta, (m_pGenlock->clockAdjustmentsMade + m_pGenlock->displayAdjustmentsMade) / 2);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Sync adjust : %d | # of adjustments: %u"),
+ m_pGenlock->adjDelta,
+ (m_pGenlock->clockAdjustmentsMade + m_pGenlock->displayAdjustmentsMade) / 2);
+ drawText(rc, strText);
}
}
}
- strText.Format(L"Sync offset : Average %3.1f ms [%.1f ms, %.1f ms] Target %3.1f ms", m_pGenlock->syncOffsetAvg, m_pGenlock->minSyncOffset, m_pGenlock->maxSyncOffset, r.m_AdvRendSets.fTargetSyncOffset);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Sync offset : Average %3.1f ms [%.1f ms, %.1f ms] Target %3.1f ms"),
+ m_pGenlock->syncOffsetAvg, m_pGenlock->minSyncOffset,
+ m_pGenlock->maxSyncOffset, r.m_AdvRendSets.fTargetSyncOffset);
+ drawText(rc, strText);
- strText.Format(L"Sync status : glitches %u, display-frame cycle mismatch: %7.3f %%, dropped frames %u", m_uSyncGlitches, 100 * m_dCycleDifference, m_pcFramesDropped);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Sync status : glitches %u, display-frame cycle mismatch: %7.3f %%, dropped frames %u"),
+ m_uSyncGlitches, 100 * m_dCycleDifference, m_pcFramesDropped);
+ drawText(rc, strText);
if (rd->m_iDisplayStats == 1) {
if (m_pAudioStats && r.m_AdvRendSets.bSynchronizeVideo) {
- strText.Format(L"Audio lag : %3lu ms [%ld ms, %ld ms] | %s", m_lAudioLag, m_lAudioLagMin, m_lAudioLagMax, (m_lAudioSlaveMode == 4) ? _T("Audio renderer is matching rate (for analog sound output)") : _T("Audio renderer is not matching rate"));
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Audio lag : %3lu ms [%ld ms, %ld ms] | %s"),
+ m_lAudioLag, m_lAudioLagMin, m_lAudioLagMax,
+ (m_lAudioSlaveMode == 4) ?
+ _T("Audio renderer is matching rate (for analog sound output)") :
+ _T("Audio renderer is not matching rate"));
+ drawText(rc, strText);
}
- strText.Format(L"Sample time : waiting %3ld ms", m_lNextSampleWait);
+ strText.Format(_T("Sample time : waiting %3ld ms"), m_lNextSampleWait);
if (r.m_AdvRendSets.bSynchronizeNearest) {
CString temp;
- temp.Format(L" paint time correction: %3ld ms Hysteresis: %I64d", m_lShiftToNearest, m_llHysteresis / 10000);
+ temp.Format(_T(" paint time correction: %3ld ms Hysteresis: %I64d"),
+ m_lShiftToNearest, m_llHysteresis / 10000);
strText += temp;
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
- strText.Format(L"Buffering : Buffered %3ld Free %3d Current Surface %3d", m_nUsedBuffer, m_nDXSurface - m_nUsedBuffer, m_nCurSurface);
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ strText.Format(_T("Buffering : Buffered %3ld Free %3ld Current Surface %3d"),
+ m_nUsedBuffer, m_nDXSurface - m_nUsedBuffer, m_nCurSurface);
+ drawText(rc, strText);
- strText = L"Settings : ";
+ strText = _T("Settings : ");
if (m_bIsFullscreen) {
- strText += "D3DFS ";
+ strText += _T("D3DFS ");
}
if (r.m_AdvRendSets.bVMRDisableDesktopComposition) {
- strText += "DisDC ";
+ strText += _T("DisDC ");
}
if (r.m_AdvRendSets.bSynchronizeVideo) {
- strText += "SyncVideo ";
+ strText += _T("SyncVideo ");
}
if (r.m_AdvRendSets.bSynchronizeDisplay) {
- strText += "SyncDisplay ";
+ strText += _T("SyncDisplay ");
}
if (r.m_AdvRendSets.bSynchronizeNearest) {
- strText += "SyncNearest ";
+ strText += _T("SyncNearest ");
}
if (m_bHighColorResolution) {
- strText += "10 bit ";
+ strText += _T("10 bit ");
}
if (r.m_AdvRendSets.iEVROutputRange == 0) {
- strText += "0-255 ";
+ strText += _T("0-255 ");
} else if (r.m_AdvRendSets.iEVROutputRange == 1) {
- strText += "16-235 ";
+ strText += _T("16-235 ");
}
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
-
- DrawText(rc, rd->m_strDXVAInfo, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
+ drawText(rc, rd->m_strDXVAInfo);
strText.Format(L"DirectX SDK : %u", rd->GetDXSdkRelease());
- DrawText(rc, strText, 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, strText);
for (int i = 0; i < 6; i++) {
if (m_strStatsMsg[i][0]) {
- DrawText(rc, m_strStatsMsg[i], 1);
- OffsetRect(&rc, 0, TextHeight);
+ drawText(rc, m_strStatsMsg[i]);
}
}
}
- OffsetRect(&rc, 0, TextHeight); // Extra "line feed"
m_pSprite->End();
}
if (m_pLine && (rd->m_iDisplayStats < 3)) {
- D3DXVECTOR2 Points[NB_JITTER];
- int nIndex;
-
- int DrawWidth = 625;
- int DrawHeight = 250;
- int Alpha = 80;
- int StartX = m_windowRect.Width() - (DrawWidth + 20);
- int StartY = m_windowRect.Height() - (DrawHeight + 20);
-
- DrawRect(RGB(0, 0, 0), Alpha, CRect(StartX, StartY, StartX + DrawWidth, StartY + DrawHeight));
- m_pLine->SetWidth(2.5);
- m_pLine->SetAntialias(1);
+ D3DXVECTOR2 points[NB_JITTER];
+ const float graphWidth = GRAPH_WIDTH * textScale;
+ const float graphHeight = GRAPH_HEIGHT * textScale;
+ const float topLeftX = m_windowRect.Width() - (graphWidth + lineHeight);
+ const float topLeftY = m_windowRect.Height() - (graphHeight + lineHeight);
+ const float gridStepY = graphHeight / 24.0f;
+ const float gridStepX = graphWidth / NB_JITTER;
+
+ // Draw background
+ DrawRect(RGB(0, 0, 0), 80, CRect(int(topLeftX),
+ int(topLeftY),
+ int(topLeftX + graphWidth),
+ int(topLeftY + graphHeight)));
+
+ m_pLine->SetWidth(2.5f * textScale);
+ m_pLine->SetAntialias(TRUE);
m_pLine->Begin();
- for (int i = 0; i <= DrawHeight; i += 5) {
- Points[0].x = (float)StartX;
- Points[0].y = (float)(StartY + i);
- Points[1].x = (float)(StartX + (((i + 25) % 25) ? 50 : 625));
- Points[1].y = (float)(StartY + i);
- m_pLine->Draw(Points, 2, D3DCOLOR_XRGB(100, 100, 255));
- }
-
- for (int i = 0; i < DrawWidth; i += 125) { // Every 25:th sample
- Points[0].x = (float)(StartX + i);
- Points[0].y = (float)(StartY + DrawHeight / 2);
- Points[1].x = (float)(StartX + i);
- Points[1].y = (float)(StartY + DrawHeight / 2 + 10);
- m_pLine->Draw(Points, 2, D3DCOLOR_XRGB(100, 100, 255));
+ // Draw grid lines
+ for (int i = 1; i < 24; ++i) {
+ points[0].x = topLeftX;
+ points[0].y = topLeftY + i * gridStepY;
+ points[1].y = points[0].y;
+
+ float lineLength;
+ D3DCOLOR color;
+ if (i % 12 == 0) {
+ lineLength = 1.0f;
+ color = D3DCOLOR_XRGB(100, 100, 255);
+ } else if (i % 4 == 0) {
+ lineLength = 0.96f;
+ color = D3DCOLOR_XRGB(100, 100, 180);
+ } else {
+ lineLength = 0.04f;
+ color = D3DCOLOR_XRGB(100, 100, 140);
+ }
+ points[1].x = topLeftX + graphWidth * lineLength;
+ m_pLine->Draw(points, 2, color);
}
- for (int i = 0; i < NB_JITTER; i++) {
- nIndex = (m_nNextJitter + 1 + i) % NB_JITTER;
+ // Draw jitter
+ for (int i = 1; i <= NB_JITTER; ++i) {
+ int nIndex = (m_nNextJitter + i) % NB_JITTER;
if (nIndex < 0) {
nIndex += NB_JITTER;
+ ASSERT(FALSE);
}
- double Jitter = m_pllJitter[nIndex] - m_fJitterMean;
- Points[i].x = (float)(StartX + (i * 5));
- Points[i].y = (float)(StartY + (Jitter / 2000.0 + 125.0));
+ float jitter = float(m_pllJitter[nIndex] - m_fJitterMean);
+ points[i - 1].x = topLeftX + i * gridStepX;
+ points[i - 1].y = topLeftY + (jitter * textScale / 2000.0f + graphHeight / 2.0f);
}
- m_pLine->Draw(Points, NB_JITTER, D3DCOLOR_XRGB(255, 100, 100));
+ m_pLine->Draw(points, NB_JITTER, D3DCOLOR_XRGB(255, 100, 100));
if (rd->m_iDisplayStats == 1) { // Full on-screen statistics
- for (int i = 0; i < NB_JITTER; i++) {
- nIndex = (m_nNextSyncOffset + 1 + i) % NB_JITTER;
+ // Draw sync offset
+ for (int i = 1; i <= NB_JITTER; ++i) {
+ int nIndex = (m_nNextSyncOffset + i) % NB_JITTER;
if (nIndex < 0) {
nIndex += NB_JITTER;
}
- Points[i].x = (float)(StartX + (i * 5));
- Points[i].y = (float)(StartY + ((m_pllSyncOffset[nIndex]) / 2000 + 125));
+ points[i - 1].x = topLeftX + i * gridStepX;
+ points[i - 1].y = topLeftY + (m_pllSyncOffset[nIndex] * textScale / 2000.0f + graphHeight / 2.0f);
}
- m_pLine->Draw(Points, NB_JITTER, D3DCOLOR_XRGB(100, 200, 100));
+ m_pLine->Draw(points, NB_JITTER, D3DCOLOR_XRGB(100, 200, 100));
}
m_pLine->End();
}
@@ -2343,22 +2371,11 @@ STDMETHODIMP CBaseAP::GetDIB(BYTE* lpDib, DWORD* size)
}
}
- BITMAPINFOHEADER* bih = (BITMAPINFOHEADER*)lpDib;
- ZeroMemory(bih, sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
- bih->biWidth = desc.Width;
- bih->biHeight = desc.Height;
- bih->biBitCount = 32;
- bih->biPlanes = 1;
- bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
-
- BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
+ hr = CreateDIBFromSurfaceData(desc, r, lpDib);
pSurface->UnlockRect();
- return S_OK;
+ return hr;
}
STDMETHODIMP CBaseAP::SetPixelShader(LPCSTR pSrcData, LPCSTR pTarget)
@@ -2428,13 +2445,13 @@ CSyncAP::CSyncAP(HWND hWnd, bool bFullscreen, HRESULT& hr, CString& _Error)
, m_nResetToken(0)
, m_nStepCount(0)
, m_SampleFreeCallback(this, &CSyncAP::OnSampleFree)
- , fnDXVA2CreateDirect3DDeviceManager9("dxva2.dll", "DXVA2CreateDirect3DDeviceManager9")
- , fnMFCreateDXSurfaceBuffer("evr.dll", "MFCreateDXSurfaceBuffer")
- , fnMFCreateVideoSampleFromSurface("evr.dll", "MFCreateVideoSampleFromSurface")
- , fnMFCreateMediaType("mfplat.dll", "MFCreateMediaType")
- , fnAvSetMmThreadCharacteristicsW("avrt.dll", "AvSetMmThreadCharacteristicsW")
- , fnAvSetMmThreadPriority("avrt.dll", "AvSetMmThreadPriority")
- , fnAvRevertMmThreadCharacteristics("avrt.dll", "AvRevertMmThreadCharacteristics")
+ , fnDXVA2CreateDirect3DDeviceManager9(_T("dxva2.dll"), "DXVA2CreateDirect3DDeviceManager9")
+ , fnMFCreateDXSurfaceBuffer(_T("evr.dll"), "MFCreateDXSurfaceBuffer")
+ , fnMFCreateVideoSampleFromSurface(_T("evr.dll"), "MFCreateVideoSampleFromSurface")
+ , fnMFCreateMediaType(_T("mfplat.dll"), "MFCreateMediaType")
+ , fnAvSetMmThreadCharacteristicsW(_T("avrt.dll"), "AvSetMmThreadCharacteristicsW")
+ , fnAvSetMmThreadPriority(_T("avrt.dll"), "AvSetMmThreadPriority")
+ , fnAvRevertMmThreadCharacteristics(_T("avrt.dll"), "AvRevertMmThreadCharacteristics")
{
const CRenderersSettings& r = GetRenderersSettings();
diff --git a/src/filters/renderer/VideoRenderers/SyncRenderer.h b/src/filters/renderer/VideoRenderers/SyncRenderer.h
index f10fcc8fb..44778e177 100644
--- a/src/filters/renderer/VideoRenderers/SyncRenderer.h
+++ b/src/filters/renderer/VideoRenderers/SyncRenderer.h
@@ -175,7 +175,7 @@ namespace GothSync
// Functions to trace timing performance
void SyncStats(LONGLONG syncTime);
void SyncOffsetStats(LONGLONG syncOffset);
- void DrawText(const RECT& rc, const CString& strText, int _Priority);
+ void InitStats();
void DrawStats();
template<int texcoords>
diff --git a/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.cpp
deleted file mode 100644
index ed2876070..000000000
--- a/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.cpp
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "RenderersSettings.h"
-
-#include "VMR7AllocatorPresenter.h"
-#include "IPinHook.h"
-
-extern bool g_bNoDuration; // Defined in MainFrm.cpp
-extern bool g_bExternalSubtitleTime;
-
-using namespace DSObjects;
-
-//
-// CVMR7AllocatorPresenter
-//
-
-#define MY_USER_ID 0x6ABE51
-
-CVMR7AllocatorPresenter::CVMR7AllocatorPresenter(HWND hWnd, HRESULT& hr)
- : CDX7AllocatorPresenter(hWnd, hr)
- , m_fUseInternalTimer(false)
-{
- if (FAILED(hr)) {
- return;
- }
-
- if (FAILED(hr = m_pSA.CoCreateInstance(CLSID_AllocPresenter))) {
- hr = E_FAIL;
- return;
- }
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
-{
- CheckPointer(ppv, E_POINTER);
-
- return
- QI(IVMRSurfaceAllocator)
- QI(IVMRImagePresenter)
- QI(IVMRWindowlessControl)
- __super::NonDelegatingQueryInterface(riid, ppv);
-}
-
-HRESULT CVMR7AllocatorPresenter::CreateDevice()
-{
- HRESULT hr = __super::CreateDevice();
- if (FAILED(hr)) {
- return hr;
- }
-
- if (m_pIVMRSurfAllocNotify) {
- HMONITOR hMonitor = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
- if (FAILED(hr = m_pIVMRSurfAllocNotify->ChangeDDrawDevice(m_pDD, hMonitor))) {
- return hr; //return false;
- }
- }
-
- return hr;
-}
-
-void CVMR7AllocatorPresenter::DeleteSurfaces()
-{
- CAutoLock cAutoLock(this);
-
- m_pSA->FreeSurface(MY_USER_ID);
-
- __super::DeleteSurfaces();
-}
-
-// ISubPicAllocatorPresenter
-
-STDMETHODIMP CVMR7AllocatorPresenter::CreateRenderer(IUnknown** ppRenderer)
-{
- CheckPointer(ppRenderer, E_POINTER);
-
- *ppRenderer = nullptr;
- CComPtr<IBaseFilter> pBF;
-
- if (FAILED(pBF.CoCreateInstance(CLSID_VideoMixingRenderer))) {
- return E_FAIL;
- }
-
- CComQIPtr<IVMRFilterConfig> pConfig = pBF;
- if (!pConfig) {
- return E_FAIL;
- }
-
- if (FAILED(pConfig->SetRenderingMode(VMRMode_Renderless))) {
- return E_FAIL;
- }
-
- CComQIPtr<IVMRSurfaceAllocatorNotify> pSAN = pBF;
- if (!pSAN) {
- return E_FAIL;
- }
-
- if (FAILED(pSAN->AdviseSurfaceAllocator(MY_USER_ID, static_cast<IVMRSurfaceAllocator*>(this)))
- || FAILED(AdviseNotify(pSAN))) {
- return E_FAIL;
- }
-
- CComPtr<IPin> pPin = GetFirstPin(pBF);
- CComQIPtr<IMemInputPin> pMemInputPin = pPin;
- m_fUseInternalTimer = HookNewSegmentAndReceive((IPinC*)(IPin*)pPin, (IMemInputPinC*)(IMemInputPin*)pMemInputPin);
-
- *ppRenderer = (IUnknown*)pBF.Detach();
-
- return S_OK;
-}
-
-STDMETHODIMP_(void) CVMR7AllocatorPresenter::SetTime(REFERENCE_TIME rtNow)
-{
- __super::SetTime(rtNow);
- // m_fUseInternalTimer = false;
-}
-
-// IVMRSurfaceAllocator
-
-STDMETHODIMP CVMR7AllocatorPresenter::AllocateSurface(DWORD_PTR dwUserID, VMRALLOCATIONINFO* lpAllocInfo, DWORD* lpdwBuffer, LPDIRECTDRAWSURFACE7* lplpSurface)
-{
- if (!lpAllocInfo || !lpdwBuffer || !lplpSurface) {
- return E_POINTER;
- }
-
- if (!m_pIVMRSurfAllocNotify) {
- return E_FAIL;
- }
-
- HRESULT hr;
-
- DeleteSurfaces();
-
- // HACK: yv12 will fail to blt onto the backbuffer anyway, but if we first
- // allocate it and then let our FreeSurface callback call m_pSA->FreeSurface,
- // then that might stall for about 30 seconds because of some unknown buggy code
- // behind <ddraw surface>->Release()
-
- if (lpAllocInfo->lpHdr->biBitCount < 16) {
- return E_FAIL;
- }
-
- hr = m_pSA->AllocateSurface(dwUserID, lpAllocInfo, lpdwBuffer, lplpSurface);
- if (FAILED(hr)) {
- return hr;
- }
-
- CSize VideoSize(abs(lpAllocInfo->lpHdr->biWidth), abs(lpAllocInfo->lpHdr->biHeight));
- CSize AspectRatio(lpAllocInfo->szAspectRatio.cx, lpAllocInfo->szAspectRatio.cy);
- SetVideoSize(VideoSize, AspectRatio);
-
- if (FAILED(hr = AllocSurfaces())) {
- return hr;
- }
-
- // test if the colorspace is acceptable
- if (FAILED(hr = m_pVideoSurface->Blt(nullptr, *lplpSurface, nullptr, DDBLT_WAIT, nullptr))) {
- DeleteSurfaces();
- return hr;
- }
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- m_pVideoSurface->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- return hr;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::FreeSurface(DWORD_PTR dwUserID)
-{
- DeleteSurfaces();
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::PrepareSurface(DWORD_PTR dwUserID, IDirectDrawSurface7* lpSurface, DWORD dwSurfaceFlags)
-{
- SetThreadName(DWORD(-1), "CVMR7AllocatorPresenter");
-
- CheckPointer(lpSurface, E_POINTER);
-
- // FIXME: sometimes the msmpeg4/divx3/wmv decoder wants to reuse our
- // surface (expects it to point to the same mem every time), and to avoid
- // problems we can't call m_pSA->PrepareSurface (flips? clears?).
- return S_OK;
- /*
- return m_pSA->PrepareSurface(dwUserID, lpSurface, dwSurfaceFlags);
- */
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::AdviseNotify(IVMRSurfaceAllocatorNotify* lpIVMRSurfAllocNotify)
-{
- CAutoLock cAutoLock(this);
-
- m_pIVMRSurfAllocNotify = lpIVMRSurfAllocNotify;
- HRESULT hr;
- HMONITOR hMonitor = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
-
- if (FAILED(hr = m_pIVMRSurfAllocNotify->SetDDrawDevice(m_pDD, hMonitor))) {
- return hr;
- }
-
- return m_pSA->AdviseNotify(lpIVMRSurfAllocNotify);
-}
-
-// IVMRImagePresenter
-
-STDMETHODIMP CVMR7AllocatorPresenter::StartPresenting(DWORD_PTR dwUserID)
-{
- if (!m_bPendingResetDevice) {
- ASSERT(m_pD3DDev);
- }
-
- CAutoLock cAutoLock(this);
-
- m_bIsRendering = true;
-
- return m_pD3DDev ? S_OK : E_FAIL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::StopPresenting(DWORD_PTR dwUserID)
-{
- m_bIsRendering = false;
-
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::PresentImage(DWORD_PTR dwUserID, VMRPRESENTATIONINFO* lpPresInfo)
-{
- if (!lpPresInfo || !lpPresInfo->lpSurf) {
- return E_POINTER;
- }
-
- CAutoLock cAutoLock(this);
-
- if (!m_bPendingResetDevice) {
- m_pVideoSurface->Blt(nullptr, lpPresInfo->lpSurf, nullptr, DDBLT_WAIT, nullptr);
- }
-
- if (lpPresInfo->rtEnd > lpPresInfo->rtStart) {
- REFERENCE_TIME rtTimePerFrame = lpPresInfo->rtEnd - lpPresInfo->rtStart;
- m_fps = 10000000.0 / rtTimePerFrame;
- } else {
- TRACE(_T("VMR7: Invalid frame timestamps (%s - %s), not setting the FPS. The timestamp from the pin hook will be used anyway (%s).\n"),
- ReftimeToString(lpPresInfo->rtStart), ReftimeToString(lpPresInfo->rtEnd), ReftimeToString(g_tSampleStart));
- }
-
- if (m_pSubPicQueue) {
- m_pSubPicQueue->SetFPS(m_fps);
-
- if (m_fUseInternalTimer && !g_bExternalSubtitleTime) {
- __super::SetTime(g_tSegmentStart + g_tSampleStart);
- }
- }
-
- CSize VideoSize = m_nativeVideoSize;
- int arx = lpPresInfo->szAspectRatio.cx, ary = lpPresInfo->szAspectRatio.cy;
- if (arx > 0 && ary > 0) {
- VideoSize.cx = VideoSize.cy * arx / ary;
- }
- if (VideoSize != GetVideoSize()) {
- SetVideoSize(m_nativeVideoSize, CSize(lpPresInfo->szAspectRatio));
- AfxGetApp()->m_pMainWnd->PostMessage(WM_REARRANGERENDERLESS);
- }
-
- Paint(true);
-
- return S_OK;
-}
-
-// IVMRWindowlessControl
-//
-// It is only implemented (partially) for the dvd navigator's
-// menu handling, which needs to know a few things about the
-// location of our window.
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetNativeVideoSize(LONG* lpWidth, LONG* lpHeight, LONG* lpARWidth, LONG* lpARHeight)
-{
- CSize VideoSize = GetVideoSize(); // DVD Nav. bug workaround fix
-
- if (lpWidth) {
- *lpWidth = VideoSize.cx;
- }
- if (lpHeight) {
- *lpHeight = VideoSize.cy;
- }
- if (lpARWidth) {
- *lpARWidth = m_aspectRatio.cx;
- }
- if (lpARHeight) {
- *lpARHeight = m_aspectRatio.cy;
- }
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetMinIdealVideoSize(LONG* lpWidth, LONG* lpHeight)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetMaxIdealVideoSize(LONG* lpWidth, LONG* lpHeight)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::SetVideoPosition(const LPRECT lpSRCRect, const LPRECT lpDSTRect)
-{
- return E_NOTIMPL; // we have our own method for this
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetVideoPosition(LPRECT lpSRCRect, LPRECT lpDSTRect)
-{
- CopyRect(lpSRCRect, CRect(CPoint(0, 0), m_nativeVideoSize));
- CopyRect(lpDSTRect, &m_videoRect);
- // DVD Nav. bug workaround fix
- GetNativeVideoSize(&lpSRCRect->right, &lpSRCRect->bottom, nullptr, nullptr);
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetAspectRatioMode(DWORD* lpAspectRatioMode)
-{
- if (lpAspectRatioMode) {
- *lpAspectRatioMode = AM_ARMODE_STRETCHED;
- }
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::SetAspectRatioMode(DWORD AspectRatioMode)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::SetVideoClippingWindow(HWND hwnd)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::RepaintVideo(HWND hwnd, HDC hdc)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::DisplayModeChanged()
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetCurrentImage(BYTE** lpDib)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::SetBorderColor(COLORREF Clr)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetBorderColor(COLORREF* lpClr)
-{
- if (lpClr) {
- *lpClr = 0;
- }
- return S_OK;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::SetColorKey(COLORREF Clr)
-{
- return E_NOTIMPL;
-}
-
-STDMETHODIMP CVMR7AllocatorPresenter::GetColorKey(COLORREF* lpClr)
-{
- return E_NOTIMPL;
-}
diff --git a/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.h
deleted file mode 100644
index fe9a8b7a1..000000000
--- a/src/filters/renderer/VideoRenderers/VMR7AllocatorPresenter.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "DX7AllocatorPresenter.h"
-
-namespace DSObjects
-{
-
- class CVMR7AllocatorPresenter
- : public CDX7AllocatorPresenter
- , public IVMRSurfaceAllocator
- , public IVMRImagePresenter
- , public IVMRWindowlessControl
- {
- CComPtr<IVMRSurfaceAllocatorNotify> m_pIVMRSurfAllocNotify;
- CComPtr<IVMRSurfaceAllocator> m_pSA;
-
- HRESULT CreateDevice();
- void DeleteSurfaces();
-
- bool m_fUseInternalTimer;
-
- public:
- CVMR7AllocatorPresenter(HWND hWnd, HRESULT& hr);
-
- DECLARE_IUNKNOWN
- STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
-
- // ISubPicAllocatorPresenter
- STDMETHODIMP CreateRenderer(IUnknown** ppRenderer);
- STDMETHODIMP_(void) SetTime(REFERENCE_TIME rtNow);
-
- // IVMRSurfaceAllocator
- STDMETHODIMP AllocateSurface(DWORD_PTR dwUserID, VMRALLOCATIONINFO* lpAllocInfo, DWORD* lpdwBuffer, LPDIRECTDRAWSURFACE7* lplpSurface);
- STDMETHODIMP FreeSurface(DWORD_PTR dwUserID);
- STDMETHODIMP PrepareSurface(DWORD_PTR dwUserID, IDirectDrawSurface7* lpSurface, DWORD dwSurfaceFlags);
- STDMETHODIMP AdviseNotify(IVMRSurfaceAllocatorNotify* lpIVMRSurfAllocNotify);
-
- // IVMRImagePresenter
- STDMETHODIMP StartPresenting(DWORD_PTR dwUserID);
- STDMETHODIMP StopPresenting(DWORD_PTR dwUserID);
- STDMETHODIMP PresentImage(DWORD_PTR dwUserID, VMRPRESENTATIONINFO* lpPresInfo);
-
- // IVMRWindowlessControl
- STDMETHODIMP GetNativeVideoSize(LONG* lpWidth, LONG* lpHeight, LONG* lpARWidth, LONG* lpARHeight);
- STDMETHODIMP GetMinIdealVideoSize(LONG* lpWidth, LONG* lpHeight);
- STDMETHODIMP GetMaxIdealVideoSize(LONG* lpWidth, LONG* lpHeight);
- STDMETHODIMP SetVideoPosition(const LPRECT lpSRCRect, const LPRECT lpDSTRect);
- STDMETHODIMP GetVideoPosition(LPRECT lpSRCRect, LPRECT lpDSTRect);
- STDMETHODIMP GetAspectRatioMode(DWORD* lpAspectRatioMode);
- STDMETHODIMP SetAspectRatioMode(DWORD AspectRatioMode);
- STDMETHODIMP SetVideoClippingWindow(HWND hwnd);
- STDMETHODIMP RepaintVideo(HWND hwnd, HDC hdc);
- STDMETHODIMP DisplayModeChanged();
- STDMETHODIMP GetCurrentImage(BYTE** lpDib);
- STDMETHODIMP SetBorderColor(COLORREF Clr);
- STDMETHODIMP GetBorderColor(COLORREF* lpClr);
- STDMETHODIMP SetColorKey(COLORREF Clr);
- STDMETHODIMP GetColorKey(COLORREF* lpClr);
- };
-
-}
diff --git a/src/filters/renderer/VideoRenderers/VMR9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/VMR9AllocatorPresenter.cpp
index a8b32264f..5a1e43c92 100644
--- a/src/filters/renderer/VideoRenderers/VMR9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/VMR9AllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -422,14 +422,9 @@ STDMETHODIMP CVMR9AllocatorPresenter::PresentImage(DWORD_PTR dwUserID, VMR9Prese
}
}
- CSize VideoSize = GetVisibleVideoSize();
- int arx = lpPresInfo->szAspectRatio.cx;
- int ary = lpPresInfo->szAspectRatio.cy;
- if (arx > 0 && ary > 0) {
- VideoSize.cx = VideoSize.cy * arx / ary;
- }
- if (VideoSize != GetVideoSize()) {
- SetVideoSize(m_nativeVideoSize, CSize(arx, ary));
+ CSize ar(lpPresInfo->szAspectRatio.cx, lpPresInfo->szAspectRatio.cy);
+ if (ar != m_aspectRatio) {
+ SetVideoSize(m_nativeVideoSize, ar);
AfxGetApp()->m_pMainWnd->PostMessage(WM_REARRANGERENDERLESS);
}
diff --git a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
index 0c6973d05..a08743f1c 100644
--- a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
+++ b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,69 +34,26 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Lib>
<AdditionalDependencies>d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="AllocatorCommon.cpp" />
- <ClCompile Include="AllocatorCommon7.cpp" />
<ClCompile Include="D3DFont.cpp" />
<ClCompile Include="Dither.cpp" />
- <ClCompile Include="DX7AllocatorPresenter.cpp" />
<ClCompile Include="DX9AllocatorPresenter.cpp" />
<ClCompile Include="DX9RenderingEngine.cpp" />
<ClCompile Include="DXRAllocatorPresenter.cpp" />
@@ -122,26 +64,22 @@
<ClCompile Include="madVRAllocatorPresenter.cpp" />
<ClCompile Include="OuterEVR.cpp" />
<ClCompile Include="OuterVMR.cpp" />
+ <ClCompile Include="PixelShaderCache.cpp" />
<ClCompile Include="PixelShaderCompiler.cpp" />
- <ClCompile Include="QT7AllocatorPresenter.cpp" />
<ClCompile Include="QT9AllocatorPresenter.cpp" />
<ClCompile Include="RenderersSettings.cpp" />
- <ClCompile Include="RM7AllocatorPresenter.cpp" />
<ClCompile Include="RM9AllocatorPresenter.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="SyncRenderer.cpp" />
- <ClCompile Include="VMR7AllocatorPresenter.cpp" />
<ClCompile Include="VMR9AllocatorPresenter.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="AllocatorCommon.h" />
- <ClInclude Include="AllocatorCommon7.h" />
<ClInclude Include="AsyncCallback.h" />
<ClInclude Include="D3DFont.h" />
<ClInclude Include="Dither.h" />
- <ClInclude Include="DX7AllocatorPresenter.h" />
<ClInclude Include="DX9AllocatorPresenter.h" />
<ClInclude Include="DX9RenderingEngine.h" />
<ClInclude Include="DXRAllocatorPresenter.h" />
@@ -153,16 +91,14 @@
<ClInclude Include="madVRAllocatorPresenter.h" />
<ClInclude Include="OuterEVR.h" />
<ClInclude Include="OuterVMR.h" />
+ <ClInclude Include="PixelShaderCache.h" />
<ClInclude Include="PixelShaderCompiler.h" />
- <ClInclude Include="QT7AllocatorPresenter.h" />
<ClInclude Include="QT9AllocatorPresenter.h" />
<ClInclude Include="RenderersSettings.h" />
- <ClInclude Include="RM7AllocatorPresenter.h" />
<ClInclude Include="RM9AllocatorPresenter.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="SyncAllocatorPresenter.h" />
<ClInclude Include="SyncRenderer.h" />
- <ClInclude Include="VMR7AllocatorPresenter.h" />
<ClInclude Include="VMR9AllocatorPresenter.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj.filters b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj.filters
index 2c606a773..98c44fd6a 100644
--- a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj.filters
+++ b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{91abd446-f660-4356-a9fe-c6f7f9dee6cb}</UniqueIdentifier>
@@ -14,15 +14,9 @@
<ClCompile Include="AllocatorCommon.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="AllocatorCommon7.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="D3DFont.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="DX7AllocatorPresenter.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="DX9AllocatorPresenter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -44,18 +38,12 @@
<ClCompile Include="PixelShaderCompiler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="QT7AllocatorPresenter.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="QT9AllocatorPresenter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RenderersSettings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="RM7AllocatorPresenter.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="RM9AllocatorPresenter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -65,9 +53,6 @@
<ClCompile Include="SyncRenderer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="VMR7AllocatorPresenter.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="VMR9AllocatorPresenter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -86,20 +71,17 @@
<ClCompile Include="FocusThread.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="PixelShaderCache.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="AllocatorCommon.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="AllocatorCommon7.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="D3DFont.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="DX7AllocatorPresenter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="DX9AllocatorPresenter.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -121,18 +103,12 @@
<ClInclude Include="PixelShaderCompiler.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="QT7AllocatorPresenter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="QT9AllocatorPresenter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="RenderersSettings.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="RM7AllocatorPresenter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="RM9AllocatorPresenter.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -145,9 +121,6 @@
<ClInclude Include="SyncRenderer.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="VMR7AllocatorPresenter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="VMR9AllocatorPresenter.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -172,5 +145,8 @@
<ClInclude Include="AsyncCallback.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="PixelShaderCache.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
index 04eef572b..bce285688 100644
--- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,6 +23,7 @@
#include "../../../SubPic/DX9SubPic.h"
#include "../../../SubPic/SubPicQueueImpl.h"
#include "RenderersSettings.h"
+#include <initguid.h>
#include <mvrInterfaces.h>
@@ -60,6 +61,7 @@ STDMETHODIMP CmadVRAllocatorPresenter::NonDelegatingQueryInterface(REFIID riid,
return QI(ISubRenderCallback)
QI(ISubRenderCallback2)
QI(ISubRenderCallback3)
+ QI(ISubRenderCallback4)
__super::NonDelegatingQueryInterface(riid, ppv);
}
@@ -71,6 +73,7 @@ HRESULT CmadVRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
// release all resources
m_pSubPicQueue = nullptr;
m_pAllocator = nullptr;
+ __super::SetPosition(CRect(), CRect());
return S_OK;
}
@@ -108,13 +111,14 @@ HRESULT CmadVRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
// ISubRenderCallback3
-HRESULT CmadVRAllocatorPresenter::RenderEx2(REFERENCE_TIME rtStart,
+HRESULT CmadVRAllocatorPresenter::RenderEx3(REFERENCE_TIME rtStart,
REFERENCE_TIME /*rtStop*/,
REFERENCE_TIME atpf,
RECT croppedVideoRect,
RECT /*originalVideoRect*/,
RECT viewportRect,
- const double videoStretchFactor)
+ const double videoStretchFactor /*= 1.0*/,
+ int xOffsetInPixels /*= 0*/, DWORD flags /*= 0*/)
{
CheckPointer(m_pSubPicQueue, E_UNEXPECTED);
@@ -126,7 +130,7 @@ HRESULT CmadVRAllocatorPresenter::RenderEx2(REFERENCE_TIME rtStart,
m_fps = 10000000.0 / atpf;
m_pSubPicQueue->SetFPS(m_fps);
}
- AlphaBltSubPic(viewportRect, croppedVideoRect, nullptr, videoStretchFactor);
+ AlphaBltSubPic(viewportRect, croppedVideoRect, nullptr, videoStretchFactor, xOffsetInPixels);
return S_OK;
}
@@ -170,6 +174,8 @@ STDMETHODIMP_(SIZE) CmadVRAllocatorPresenter::GetVideoSize(bool bCorrectAR) cons
if (!bCorrectAR) {
if (CComQIPtr<IBasicVideo> pBV = m_pMVR) {
+ // Final size of the video, after all scaling and cropping operations
+ // This is also aspect ratio adjusted
pBV->GetVideoSize(&size.cx, &size.cy);
}
} else {
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
index 443f9fbf9..436fa635e 100644
--- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,7 +25,7 @@
namespace DSObjects
{
- class CmadVRAllocatorPresenter : public CSubPicAllocatorPresenterImpl, ISubRenderCallback3
+ class CmadVRAllocatorPresenter : public CSubPicAllocatorPresenterImpl, ISubRenderCallback4
{
CComPtr<IUnknown> m_pMVR;
@@ -41,20 +41,30 @@ namespace DSObjects
STDMETHODIMP Render(REFERENCE_TIME rtStart, int left, int top, int right,
int bottom, int width, int height) override {
return RenderEx(rtStart, 0, 0, left, top, right, bottom, width, height);
- };
+ }
// ISubRenderCallback2
STDMETHODIMP RenderEx(REFERENCE_TIME rtStart, REFERENCE_TIME rtStop, REFERENCE_TIME atpf,
int left, int top, int right, int bottom, int width, int height) override {
return RenderEx2(rtStart, rtStop, atpf, { left, top, right, bottom },
{ left, top, right, bottom }, { 0, 0, width, height });
- };
+ }
// ISubRenderCallback3
STDMETHODIMP RenderEx2(REFERENCE_TIME rtStart, REFERENCE_TIME rtStop,
REFERENCE_TIME atpf, RECT croppedVideoRect,
RECT originalVideoRect, RECT viewportRect,
- const double videoStretchFactor = 1.0) override;
+ const double videoStretchFactor = 1.0) override {
+ return RenderEx3(std::move(rtStart), std::move(rtStop), std::move(atpf), std::move(croppedVideoRect),
+ std::move(originalVideoRect), std::move(viewportRect), std::move(videoStretchFactor));
+ }
+
+ // ISubRenderCallback4
+ STDMETHODIMP RenderEx3(REFERENCE_TIME rtStart, REFERENCE_TIME rtStop,
+ REFERENCE_TIME atpf, RECT croppedVideoRect,
+ RECT originalVideoRect, RECT viewportRect,
+ const double videoStretchFactor = 1.0,
+ int xOffsetInPixels = 0, DWORD flags = 0) override;
// ISubPicAllocatorPresenter
STDMETHODIMP CreateRenderer(IUnknown** ppRenderer) override;
@@ -64,7 +74,7 @@ namespace DSObjects
STDMETHODIMP GetDIB(BYTE* lpDib, DWORD* size) override;
STDMETHODIMP SetPixelShader(LPCSTR pSrcData, LPCSTR pTarget) override {
return SetPixelShader2(pSrcData, pTarget, false);
- };
+ }
STDMETHODIMP SetPixelShader2(LPCSTR pSrcData, LPCSTR pTarget, bool bScreenSpace) override;
// ISubPicAllocatorPresenter2
diff --git a/src/filters/source/BaseSource/BaseSource.vcxproj b/src/filters/source/BaseSource/BaseSource.vcxproj
index 01dc2c798..22eb871f7 100644
--- a/src/filters/source/BaseSource/BaseSource.vcxproj
+++ b/src/filters/source/BaseSource/BaseSource.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/filters/source/BaseSource/BaseSource.vcxproj.filters b/src/filters/source/BaseSource/BaseSource.vcxproj.filters
index 82f2cf98f..5bb15a894 100644
--- a/src/filters/source/BaseSource/BaseSource.vcxproj.filters
+++ b/src/filters/source/BaseSource/BaseSource.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{d55d7ca3-f025-4f7c-bfa1-01bb4db7f6cd}</UniqueIdentifier>
diff --git a/src/filters/source/SubtitleSource/SubtitleSource.vcxproj b/src/filters/source/SubtitleSource/SubtitleSource.vcxproj
index 1c894b69c..ddb6d1b87 100644
--- a/src/filters/source/SubtitleSource/SubtitleSource.vcxproj
+++ b/src/filters/source/SubtitleSource/SubtitleSource.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,128 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>SubtitleSource.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>SubtitleSource.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>SubtitleSource.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>SubtitleSource.def</ModuleDefinitionFile>
@@ -172,30 +80,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
@@ -207,14 +91,14 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
<ClInclude Include="SubtitleSource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SubtitleSource.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/source/SubtitleSource/SubtitleSource.vcxproj.filters b/src/filters/source/SubtitleSource/SubtitleSource.vcxproj.filters
index b7c00be75..1e69995e6 100644
--- a/src/filters/source/SubtitleSource/SubtitleSource.vcxproj.filters
+++ b/src/filters/source/SubtitleSource/SubtitleSource.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{02ec0f4b-6c0b-4d12-b1f0-0cbc16c2b813}</UniqueIdentifier>
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
index 655c87b8a..c3f3dde56 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,128 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>AudioSwitcher.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>AudioSwitcher.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>AudioSwitcher.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<AdditionalDependencies>Vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>AudioSwitcher.def</ModuleDefinitionFile>
@@ -172,30 +80,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Audio.cpp" />
<ClCompile Include="AudioSwitcher.cpp" />
@@ -211,14 +95,14 @@
<ClInclude Include="Audio.h" />
<ClInclude Include="AudioSwitcher.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
<ClInclude Include="StreamSwitcher.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="AudioSwitcher.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj.filters b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj.filters
index a1df243af..0e4f0567c 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj.filters
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{5d72cb26-7cb5-4089-8afe-a1675cca05bd}</UniqueIdentifier>
diff --git a/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj b/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj
index 693d9bd47..c3ca52f5a 100644
--- a/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj
+++ b/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,114 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>AVI2AC3Filter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>AVI2AC3Filter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<ModuleDefinitionFile>AVI2AC3Filter.def</ModuleDefinitionFile>
</Link>
@@ -157,41 +79,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>AVI2AC3Filter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="AVI2AC3Filter.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -204,13 +91,13 @@
<ItemGroup>
<ClInclude Include="AVI2AC3Filter.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="AVI2AC3Filter.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj.filters b/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj.filters
index 255fb9ad8..801dac214 100644
--- a/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj.filters
+++ b/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{00cf5f87-ccb3-495d-aa71-5c96741443af}</UniqueIdentifier>
diff --git a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.cpp b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.cpp
index 0c20030da..4e309adc3 100644
--- a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.cpp
+++ b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,10 +25,10 @@
#include "../../../DSUtil/DSUtil.h"
#include "../../../DSUtil/MediaTypes.h"
-#include <InitGuid.h>
#include "moreuuids.h"
// Even if we don't use this, it is needed for mvrInterfaces.h
typedef interface IDirect3DDevice9* LPDIRECT3DDEVICE9;
+#include <initguid.h>
#include <mvrInterfaces.h>
//
diff --git a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
index 3ed0a834d..75ea8b02c 100644
--- a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
+++ b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,42 +34,12 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj.filters b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj.filters
index 061e1cc2f..6a3df21c4 100644
--- a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj.filters
+++ b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{a11bf24b-08b5-4cf3-84cf-dcb0e13c32a9}</UniqueIdentifier>
diff --git a/src/filters/transform/BufferFilter/BufferFilter.vcxproj b/src/filters/transform/BufferFilter/BufferFilter.vcxproj
index 602005e99..e4b8547f3 100644
--- a/src/filters/transform/BufferFilter/BufferFilter.vcxproj
+++ b/src/filters/transform/BufferFilter/BufferFilter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,114 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>BufferFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>BufferFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<ModuleDefinitionFile>BufferFilter.def</ModuleDefinitionFile>
</Link>
@@ -157,41 +79,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>BufferFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="BufferFilter.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -204,13 +91,13 @@
<ItemGroup>
<ClInclude Include="BufferFilter.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="BufferFilter.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/transform/BufferFilter/BufferFilter.vcxproj.filters b/src/filters/transform/BufferFilter/BufferFilter.vcxproj.filters
index 35fe7ed0a..06d3f156d 100644
--- a/src/filters/transform/BufferFilter/BufferFilter.vcxproj.filters
+++ b/src/filters/transform/BufferFilter/BufferFilter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{9b46af16-2931-44b3-981b-5a22b3ba715b}</UniqueIdentifier>
diff --git a/src/filters/transform/DeCSSFilter/DeCSSFilter.cpp b/src/filters/transform/DeCSSFilter/DeCSSFilter.cpp
index 8111c0ce5..d12772bd0 100644
--- a/src/filters/transform/DeCSSFilter/DeCSSFilter.cpp
+++ b/src/filters/transform/DeCSSFilter/DeCSSFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -28,6 +28,9 @@
#ifdef STANDALONE_FILTER
+#include <initguid.h>
+#include "moreuuids.h"
+
const AMOVIESETUP_MEDIATYPE sudPinTypesIn[] = {
{&MEDIATYPE_DVD_ENCRYPTED_PACK, &MEDIASUBTYPE_NULL},
};
diff --git a/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj b/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj
index 8ee84325d..7b5f000b9 100644
--- a/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj
+++ b/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -42,114 +42,36 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
+ <PropertyGroup Condition="$(Configuration.Contains('Filter'))" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">.ax</TargetExt>
- <TargetExt Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">.ax</TargetExt>
+ <TargetExt Condition="$(Configuration.Contains('Filter'))">.ax</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>DeCSSFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Filter'))">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <Link>
- <ModuleDefinitionFile>DeCSSFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Filter'))">
<Link>
<ModuleDefinitionFile>DeCSSFilter.def</ModuleDefinitionFile>
</Link>
@@ -157,41 +79,6 @@
<AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>DeCSSFilter.def</ModuleDefinitionFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="DeCSSFilter.cpp" />
<ClCompile Include="stdafx.cpp">
@@ -204,13 +91,13 @@
<ItemGroup>
<ClInclude Include="DeCSSFilter.h" />
<ClInclude Include="resource.h">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="DeCSSFilter.rc">
- <ExcludedFromBuild Condition="'$(Configuration)'=='Debug' or '$(Configuration)'=='Release'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="!$(Configuration.Contains('Filter'))">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
diff --git a/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj.filters b/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj.filters
index 39c10af14..f5eda4594 100644
--- a/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj.filters
+++ b/src/filters/transform/DeCSSFilter/DeCSSFilter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{8b808ee2-0f72-4075-8ecb-82a22d4466ae}</UniqueIdentifier>
diff --git a/src/filters/transform/VSFilter/Copy.cpp b/src/filters/transform/VSFilter/Copy.cpp
index b6c65e0d8..383c3f986 100644
--- a/src/filters/transform/VSFilter/Copy.cpp
+++ b/src/filters/transform/VSFilter/Copy.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -27,7 +27,6 @@
#include "../../../DSUtil/DSUtil.h"
#include "../../../DSUtil/MediaTypes.h"
-#include <InitGuid.h>
#include "moreuuids.h"
extern int c2y_yb[256];
@@ -184,10 +183,10 @@ void CDirectVobSubFilter::PrintMessages(BYTE* pOut)
bihOut.biWidth, bihOut.biHeight,
Subtype2String(m_pOutput->CurrentMediaType().subtype));
- msg.AppendFormat(_T("real fps: %.3f, current fps: %.3f\nmedia time: %d, subtitle time: %I64d [ms]\nframe number: %d (calculated)\nrate: %.4lf\n"),
+ msg.AppendFormat(_T("real fps: %.3f, current fps: %.3f\nmedia time: %I64d, subtitle time: %I64d [ms]\nframe number: %I64d (calculated)\nrate: %.4lf\n"),
m_fps, m_fMediaFPSEnabled ? m_MediaFPS : fabs(m_fps),
- m_tPrev.Millisecs(), CalcCurrentTime() / 10000,
- (int)(m_tPrev.m_time * m_fps / 10000000),
+ RT2MS(m_tPrev.GetUnits()), RT2MS(CalcCurrentTime()),
+ std::llround(m_tPrev.m_time * m_fps / UNITS_FLOAT),
m_pInput->CurrentRate());
CAutoLock cAutoLock(&m_csQueueLock);
@@ -196,11 +195,11 @@ void CDirectVobSubFilter::PrintMessages(BYTE* pOut)
int nSubPics = -1;
REFERENCE_TIME rtNow = -1, rtStart = -1, rtStop = -1;
m_pSubPicQueue->GetStats(nSubPics, rtNow, rtStart, rtStop);
- msg.AppendFormat(_T("queue stats: %I64d - %I64d [ms]\n"), rtStart / 10000, rtStop / 10000);
+ msg.AppendFormat(_T("queue stats: %I64d - %I64d [ms]\n"), RT2MS(rtStart), RT2MS(rtStop));
for (int i = 0; i < nSubPics; i++) {
m_pSubPicQueue->GetStats(i, rtStart, rtStop);
- msg.AppendFormat(_T("%d: %I64d - %I64d [ms]\n"), i, rtStart / 10000, rtStop / 10000);
+ msg.AppendFormat(_T("%d: %I64d - %I64d [ms]\n"), i, RT2MS(rtStart), RT2MS(rtStop));
}
}
diff --git a/src/filters/transform/VSFilter/DirectVobSub.cpp b/src/filters/transform/VSFilter/DirectVobSub.cpp
index f8cdc9b1c..e264644a2 100644
--- a/src/filters/transform/VSFilter/DirectVobSub.cpp
+++ b/src/filters/transform/VSFilter/DirectVobSub.cpp
@@ -55,6 +55,10 @@ CDirectVobSub::CDirectVobSub()
m_fMediaFPSEnabled = !!theApp.GetProfileInt(ResStr(IDS_R_TIMING), ResStr(IDS_RTM_MEDIAFPSENABLED), FALSE);
m_ePARCompensationType = static_cast<CSimpleTextSubtitle::EPARCompensationType>(theApp.GetProfileInt(ResStr(IDS_R_TEXT), ResStr(IDS_RT_AUTOPARCOMPENSATION), 0));
+ int gcd = GCD(m_SubtitleSpeedMul, m_SubtitleSpeedDiv);
+ m_SubtitleSpeedNormalizedMul = m_SubtitleSpeedMul / gcd;
+ m_SubtitleSpeedNormalizedDiv = m_SubtitleSpeedDiv / gcd;
+
BYTE* pData = nullptr;
UINT nSize;
if (theApp.GetProfileBinary(ResStr(IDS_R_TIMING), ResStr(IDS_RTM_MEDIAFPS), &pData, &nSize) && pData) {
@@ -459,6 +463,10 @@ STDMETHODIMP CDirectVobSub::put_SubtitleTiming(int delay, int speedmul, int spee
m_SubtitleSpeedDiv = speeddiv;
}
+ int gcd = GCD(m_SubtitleSpeedMul, m_SubtitleSpeedDiv);
+ m_SubtitleSpeedNormalizedMul = m_SubtitleSpeedMul / gcd;
+ m_SubtitleSpeedNormalizedDiv = m_SubtitleSpeedDiv / gcd;
+
return S_OK;
}
diff --git a/src/filters/transform/VSFilter/DirectVobSub.h b/src/filters/transform/VSFilter/DirectVobSub.h
index 6282020c3..9321f6ae9 100644
--- a/src/filters/transform/VSFilter/DirectVobSub.h
+++ b/src/filters/transform/VSFilter/DirectVobSub.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -49,6 +49,9 @@ protected:
bool m_fOSD;
int m_nReloaderDisableCount;
int m_SubtitleDelay, m_SubtitleSpeedMul, m_SubtitleSpeedDiv;
+ // User could specify any values for m_SubtitleSpeedMul and m_SubtitleSpeedDiv.
+ // We want to normalize the user input to minimize the chance of overflow later when we do calculations.
+ int m_SubtitleSpeedNormalizedMul, m_SubtitleSpeedNormalizedDiv;
bool m_fMediaFPSEnabled;
double m_MediaFPS;
bool m_fSaveFullPath;
diff --git a/src/filters/transform/VSFilter/DirectVobSubFilter.cpp b/src/filters/transform/VSFilter/DirectVobSubFilter.cpp
index beefbdeac..9c22beab1 100644
--- a/src/filters/transform/VSFilter/DirectVobSubFilter.cpp
+++ b/src/filters/transform/VSFilter/DirectVobSubFilter.cpp
@@ -34,7 +34,6 @@
#include "../../../Subtitles/RLECodedSubtitle.h"
#include "../../../Subtitles/PGSSub.h"
-#include <InitGuid.h>
#include <d3d9.h>
#include <dxva2api.h>
#include "moreuuids.h"
@@ -518,7 +517,7 @@ HRESULT CDirectVobSubFilter::NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tS
REFERENCE_TIME CDirectVobSubFilter::CalcCurrentTime()
{
REFERENCE_TIME rt = m_pSubClock ? m_pSubClock->GetTime() : m_tPrev;
- return (rt - 10000i64 * m_SubtitleDelay) * m_SubtitleSpeedMul / m_SubtitleSpeedDiv; // no, it won't overflow if we use normal parameters (__int64 is enough for about 2000 hours if we multiply it by the max: 65536 as m_SubtitleSpeedMul)
+ return (rt - 10000i64 * m_SubtitleDelay) * m_SubtitleSpeedNormalizedMul / m_SubtitleSpeedNormalizedDiv; // no, it won't overflow if we use normal parameters (__int64 is enough for about 2000 hours if we multiply it by the max: 65536 as m_SubtitleSpeedMul)
}
void CDirectVobSubFilter::InitSubPicQueue()
@@ -743,7 +742,7 @@ void CDirectVobSubFilter::UpdatePreferedLanguages(CString l)
// move "Hide subtitles" to the last position if it wasn't our selection
- CString hidesubs = ResStr(IDS_M_HIDESUBTITLES);
+ CString hidesubs(StrRes(IDS_M_HIDESUBTITLES));
for (k = 1; k < j; k++) {
if (!langs[k].CompareNoCase(hidesubs)) {
@@ -1355,18 +1354,22 @@ bool CDirectVobSubFilter2::IsAppBlackListed()
_T("wm8eutil."), // wmp8 encoder's dummy renderer releases the outputted media sample after calling Receive on its input pin (yes, even when dvobsub isn't registered at all)
_T("explorer."), // as some users reported thumbnail preview loads dvobsub, I've never experienced this yet...
_T("producer."), // this is real's producer
- _T("googledesktopindex."), // Google Desktop
- _T("googledesktopdisplay."), // Google Desktop
- _T("googledesktopcrawl."), // Google Desktop
- _T("subtitleworkshop."), // Subtitle Workshop
- _T("subtitleworkshop4."),
+ _T("googledesktop"), // Google Desktop
+ _T("subtitleworkshop"), // Subtitle Workshop
_T("darksouls."), // Dark Souls (Game)
_T("rometw."), // Rome Total War (Game)
_T("everquest2."), // EverQuest II (Game)
_T("yso_win."), // Ys Origin (Game)
_T("launcher_main."), // Logitech WebCam Software
- _T("webcamdell2."), // Dell WebCam Software
+ _T("webcamdell"), // Dell WebCam Software
_T("data."), // Dark Souls 1 (Game)
+ _T("unravel"), // Unravel (Game)
+ _T("mshta"), // MS Scripting Host
+#if WIN64
+ _T("ridex64.exe"), // Ride (Game)
+#else
+ _T("ride.exe"), // Ride (Game)
+#endif
};
for (size_t i = 0; i < _countof(blacklistedapps); i++) {
@@ -1592,10 +1595,10 @@ void CDirectVobSubFilter::UpdateSubtitle()
void CDirectVobSubFilter::SetSubtitle(ISubStream* pSubStream)
{
- CAutoLock cAutolock(&m_csQueueLock);
+ CAutoLock cQueueLock(&m_csQueueLock);
if (pSubStream) {
- CAutoLock cAutolock(&m_csSubLock);
+ CAutoLock cSubLock(&m_csSubLock);
CLSID clsid;
pSubStream->GetClassID(&clsid);
diff --git a/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp b/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
index 828b20bdf..ff115406a 100644
--- a/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
+++ b/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
diff --git a/src/filters/transform/VSFilter/VSFilter.cpp b/src/filters/transform/VSFilter/VSFilter.cpp
index 8da330ec3..b5e740b8e 100644
--- a/src/filters/transform/VSFilter/VSFilter.cpp
+++ b/src/filters/transform/VSFilter/VSFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,9 +24,7 @@
#include "DirectVobSubPropPage.h"
#include "VSFilter.h"
#include "../../../DSUtil/MediaTypes.h"
-#include "../../../MathLibFix/MathLibFix.h"
-#include <InitGuid.h>
#include "moreuuids.h"
/////////////////////////////////////////////////////////////////////////////
@@ -47,8 +45,6 @@ BOOL CVSFilterApp::InitInstance()
return FALSE;
}
- WorkAroundMathLibraryBug();
-
SetRegistryKey(_T("MPC-HC"));
DllEntryPoint(AfxGetInstanceHandle(), DLL_PROCESS_ATTACH, 0); // "DllMain" of the dshow baseclasses
diff --git a/src/filters/transform/VSFilter/VSFilter.vcxproj b/src/filters/transform/VSFilter/VSFilter.vcxproj
index c521cf4b7..f6667556a 100644
--- a/src/filters/transform/VSFilter/VSFilter.vcxproj
+++ b/src/filters/transform/VSFilter/VSFilter.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Filter|Win32">
<Configuration>Debug Filter</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,73 +34,18 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VSFilter.def</ModuleDefinitionFile>
- </Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\VSFilter.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VSFilter.def</ModuleDefinitionFile>
- </Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\VSFilter.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>Vfw32.lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>VSFilter.def</ModuleDefinitionFile>
- </Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\VSFilter.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
+ <!--
+ Remove /Zc:threadSafeInit- once Windows XP in no longer supported. TLS doesn't work on this system with dynamically loaded libraries.
+ And it will not be fixed. https://connect.microsoft.com/VisualStudio/feedback/details/1789709
+ -->
+ <AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>ISOLATION_AWARE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@@ -180,9 +110,6 @@
<ProjectReference Include="..\..\..\DSUtil\DSUtil.vcxproj">
<Project>{fc70988b-1ae5-4381-866d-4f405e28ac42}</Project>
</ProjectReference>
- <ProjectReference Include="..\..\..\MathLibFix\MathLibFix.vcxproj">
- <Project>{fc9fc17f-70bf-4aca-8285-c24d1889bacb}</Project>
- </ProjectReference>
<ProjectReference Include="..\..\..\SubPic\SubPic.vcxproj">
<Project>{d514ea4d-eafb-47a9-a437-a582ca571251}</Project>
</ProjectReference>
diff --git a/src/filters/transform/VSFilter/VSFilter.vcxproj.filters b/src/filters/transform/VSFilter/VSFilter.vcxproj.filters
index 0c975605b..e1d250d9e 100644
--- a/src/filters/transform/VSFilter/VSFilter.vcxproj.filters
+++ b/src/filters/transform/VSFilter/VSFilter.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{6d1c2595-a734-4727-a302-743496e0d217}</UniqueIdentifier>
diff --git a/src/filters/transform/VSFilter/installer/vsfilter_setup.iss b/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
index 96506b364..a78b9f5fc 100644
--- a/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
+++ b/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
@@ -1,4 +1,4 @@
-; (C) 2012-2015 see Authors.txt
+; (C) 2012-2017 see Authors.txt
;
; This file is part of MPC-HC.
;
@@ -20,8 +20,8 @@
; Inno Setup: http://www.jrsoftware.org/isdl.php
-#if VER < EncodeVer(5,5,4)
- #error Update your Inno Setup version (5.5.4 or newer)
+#if VER < EncodeVer(5,5,7)
+ #error Update your Inno Setup version (5.5.7 or newer)
#endif
; If you want to compile the 64-bit version define "x64Build" (uncomment the define below or use build.bat)
@@ -36,7 +36,7 @@
#include AddBackslash(top_dir) + "include\mpc-hc_config.h"
#include AddBackslash(top_dir) + "include\version.h"
-#define copyright_str "2001-2015"
+#define copyright_str "2001-2017"
#define app_name "VSFilter"
#define app_version str(VerMajor) + "." + str(VerMinor) + "." + str(MPC_VERSION_REV)
diff --git a/src/filters/transform/VSFilter/plugins.cpp b/src/filters/transform/VSFilter/plugins.cpp
index b42a46d67..c1d4ac0aa 100644
--- a/src/filters/transform/VSFilter/plugins.cpp
+++ b/src/filters/transform/VSFilter/plugins.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -571,7 +571,7 @@ namespace Plugin
bool FssProc(VDXFilterActivation* fa, const VDXFilterFunctions* ff, char* buf, int buflen) {
CStringA fn(GetFileName());
fn.Replace("\\", "\\\\");
- _snprintf_s(buf, buflen, buflen, "Config(\"%s\")", fn);
+ _snprintf_s(buf, buflen, buflen, "Config(\"%s\")", fn.GetString());
return true;
}
};
@@ -610,7 +610,7 @@ namespace Plugin
void StringProc(const VDXFilterActivation* fa, const VDXFilterFunctions* ff, char* str) {
if (!GetFileName().IsEmpty()) {
- sprintf_s(str, STRING_PROC_BUFFER_SIZE, " (%s, %d)", CStringA(GetFileName()), GetCharSet());
+ sprintf_s(str, STRING_PROC_BUFFER_SIZE, " (%s, %d)", CStringA(GetFileName()).GetString(), GetCharSet());
} else {
sprintf_s(str, STRING_PROC_BUFFER_SIZE, " (empty)");
}
@@ -619,7 +619,7 @@ namespace Plugin
bool FssProc(VDXFilterActivation* fa, const VDXFilterFunctions* ff, char* buf, int buflen) {
CStringA fn(GetFileName());
fn.Replace("\\", "\\\\");
- _snprintf_s(buf, buflen, buflen, "Config(\"%s\", %d)", fn, GetCharSet());
+ _snprintf_s(buf, buflen, buflen, "Config(\"%s\", %d)", fn.GetString(), GetCharSet());
return true;
}
};
@@ -1068,7 +1068,7 @@ UINT_PTR CALLBACK OpenHookProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lPar
for (ptrdiff_t i = 0; i < CharSetLen; i++) {
CString s;
- s.Format(_T("%s (%d)"), CharSetNames[i], CharSetList[i]);
+ s.Format(_T("%s (%u)"), CharSetNames[i], CharSetList[i]);
SendMessage(GetDlgItem(hDlg, IDC_COMBO1), CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)s);
if (CharSetList[i] == (int)((OPENFILENAME*)lParam)->lCustData) {
SendMessage(GetDlgItem(hDlg, IDC_COMBO1), CB_SETCURSEL, i, 0);
diff --git a/src/mpc-hc/AboutDlg.cpp b/src/mpc-hc/AboutDlg.cpp
index cd0ad8f99..73dcd1810 100644
--- a/src/mpc-hc/AboutDlg.cpp
+++ b/src/mpc-hc/AboutDlg.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2012-2015 see Authors.txt
+ * (C) 2012-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -94,28 +94,31 @@ BOOL CAboutDlg::OnInitDialog()
#error Compiler is not supported!
#endif
#elif defined(_MSC_VER)
-#if (_MSC_VER == 1800) // 2013
-#if (_MSC_FULL_VER == 180040629)
- m_MPCCompiler = _T("MSVC 2013 Update 5");
-#elif (_MSC_FULL_VER == 180031101)
- m_MPCCompiler = _T("MSVC 2013 Update 4");
-#elif (_MSC_FULL_VER == 180030723)
- m_MPCCompiler = _T("MSVC 2013 Update 3");
-#elif (_MSC_FULL_VER == 180030501)
- m_MPCCompiler = _T("MSVC 2013 Update 2");
-#elif (_MSC_FULL_VER < 180021005)
- m_MPCCompiler = _T("MSVC 2013 Preview/Beta/RC");
+#if (_MSC_VER == 1900) // 2015
+#if (_MSC_FULL_VER == 190024210)
+ m_MPCCompiler = _T("MSVC 2015 Update 3");
+#elif (_MSC_FULL_VER == 190023918)
+ m_MPCCompiler = _T("MSVC 2015 Update 2");
+#elif (_MSC_FULL_VER == 190023506)
+ m_MPCCompiler = _T("MSVC 2015 Update 1");
+#elif (_MSC_FULL_VER == 190023026)
+ m_MPCCompiler = _T("MSVC 2015");
#else
- m_MPCCompiler = _T("MSVC 2013");
+ m_MPCCompiler.Format(_T("MSVC v%.2d.%.2d.%.5d"), _MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 100000);
+#if _MSC_BUILD
+ m_MPCCompiler.AppendFormat(_T(".%.2d"), _MSC_BUILD);
#endif
-#elif (_MSC_VER <= 1700)
+#endif
+#elif (_MSC_VER <= 1800)
#error Compiler is not supported!
#endif
#else
#error Please add support for your compiler
#endif
-#if (__AVX__)
+#if (__AVX2__)
+ m_MPCCompiler += _T(" (AVX2)");
+#elif (__AVX__)
m_MPCCompiler += _T(" (AVX)");
#elif (__SSSE3__)
m_MPCCompiler += _T(" (SSSE3)");
diff --git a/src/mpc-hc/AppSettings.cpp b/src/mpc-hc/AppSettings.cpp
index 627964d71..3a858f567 100644
--- a/src/mpc-hc/AppSettings.cpp
+++ b/src/mpc-hc/AppSettings.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,18 +20,18 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
#include "AppSettings.h"
+#include "CrashReporter.h"
#include "FGFilter.h"
+#include "FakeFilterMapper2.h"
#include "FileAssoc.h"
-#include "CrashReporter.h"
-#include "VersionInfo.h"
#include "SysVersion.h"
-#include "WinAPIUtils.h"
#include "PathUtils.h"
#include "Translations.h"
#include "UpdateChecker.h"
+#include "WinAPIUtils.h"
#include "moreuuids.h"
+#include "mplayerc.h"
#include <mvrInterfaces.h>
#include "../thirdparty/sanear/sanear/src/Factory.h"
@@ -91,6 +91,7 @@ CAppSettings::CAppSettings()
, nBalance(0)
, nLoops(1)
, fLoopForever(false)
+ , eLoopMode(LoopMode::PLAYLIST)
, fRememberZoomLevel(true)
, nAutoFitFactor(75)
, iZoomLevel(1)
@@ -100,6 +101,7 @@ CAppSettings::CAppSettings()
, fBlockVSFilter(true)
, nVolumeStep(5)
, nSpeedStep(0)
+ , nDefaultToolbarSize(24)
, eAfterPlayback(AfterPlayback::DO_NOTHING)
, fUseDVDPath(false)
, idMenuLang(0)
@@ -149,6 +151,11 @@ CAppSettings::CAppSettings()
, fPrioritizeExternalSubtitles(true)
, fDisableInternalSubtitles(true)
, bAllowOverridingExternalSplitterChoice(false)
+ , bAutoDownloadSubtitles(false)
+ , nAutoDownloadScoreMovies(0x16)
+ , nAutoDownloadScoreSeries(0x18)
+ , bAutoUploadSubtitles(false)
+ , bPreferHearingImpairedSubtitles(false)
, nJumpDistS(DEFAULT_JUMPDISTANCE_1)
, nJumpDistM(DEFAULT_JUMPDISTANCE_2)
, nJumpDistL(DEFAULT_JUMPDISTANCE_3)
@@ -201,6 +208,7 @@ CAppSettings::CAppSettings()
, bEnableCoverArt(true)
, nCoverArtSizeLimit(600)
, bEnableLogging(false)
+ , bUseLegacyToolbar(false)
, iLAVGPUDevice(DWORD_MAX)
, eSubtitleRenderer(SubtitleRenderer::INTERNAL)
{
@@ -424,8 +432,10 @@ void CAppSettings::CreateCommands()
wmcmds.AddTail({ID_FILE_SAVE_IMAGE_AUTO, VK_F5, FVIRTKEY | FNOINVERT, IDS_MPLAYERC_6});
wmcmds.AddTail({ID_FILE_SAVE_THUMBNAILS, 0, FVIRTKEY | FNOINVERT, IDS_FILE_SAVE_THUMBNAILS});
- wmcmds.AddTail({ID_FILE_LOAD_SUBTITLE, 'L', FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_LOAD_SUBTITLE});
- wmcmds.AddTail({ID_FILE_SAVE_SUBTITLE, 'S', FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_SAVE_SUBTITLE});
+ wmcmds.AddTail({ID_FILE_SUBTITLES_LOAD, 'L', FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_LOAD_SUBTITLES});
+ wmcmds.AddTail({ID_FILE_SUBTITLES_SAVE, 'S', FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_SAVE_SUBTITLES});
+ wmcmds.AddTail({ID_FILE_SUBTITLES_DOWNLOAD, 'D', FVIRTKEY | FNOINVERT, IDS_SUBTITLES_DOWNLOAD});
+ wmcmds.AddTail({ID_FILE_SUBTITLES_UPLOAD, 'U', FVIRTKEY | FNOINVERT, IDS_SUBTITLES_UPLOAD});
wmcmds.AddTail({ID_FILE_CLOSE_AND_RESTORE, 'C', FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_CLOSE});
wmcmds.AddTail({ID_FILE_PROPERTIES, VK_F10, FVIRTKEY | FSHIFT | FNOINVERT, IDS_AG_PROPERTIES});
wmcmds.AddTail({ID_FILE_EXIT, 'X', FVIRTKEY | FALT | FNOINVERT, IDS_AG_EXIT});
@@ -450,6 +460,9 @@ void CAppSettings::CreateCommands()
wmcmds.AddTail({ID_PLAY_SEEKKEYFORWARD, VK_RIGHT, FVIRTKEY | FSHIFT | FNOINVERT, IDS_MPLAYERC_29});
wmcmds.AddTail({ID_PLAY_SEEKKEYBACKWARD, VK_LEFT, FVIRTKEY | FSHIFT | FNOINVERT, IDS_MPLAYERC_30});
wmcmds.AddTail({ID_PLAY_SEEKSET, VK_HOME, FVIRTKEY | FNOINVERT, IDS_AG_SEEKSET});
+ wmcmds.AddTail({ID_PLAY_REPEAT_FOREVER, 0, FVIRTKEY | FNOINVERT, IDS_PLAYLOOP_FOREVER});
+ wmcmds.AddTail({ID_PLAY_REPEAT_ONEFILE, 0, FVIRTKEY | FNOINVERT, IDS_PLAYLOOPMODE_FILE});
+ wmcmds.AddTail({ID_PLAY_REPEAT_WHOLEPLAYLIST, 0, FVIRTKEY | FNOINVERT, IDS_PLAYLOOPMODE_PLAYLIST});
wmcmds.AddTail({ID_NAVIGATE_SKIPFORWARD, VK_NEXT, FVIRTKEY | FNOINVERT, IDS_AG_NEXT, APPCOMMAND_MEDIA_NEXTTRACK, wmcmd::X2DOWN, wmcmd::X2DOWN});
wmcmds.AddTail({ID_NAVIGATE_SKIPBACK, VK_PRIOR, FVIRTKEY | FNOINVERT, IDS_AG_PREVIOUS, APPCOMMAND_MEDIA_PREVIOUSTRACK, wmcmd::X1DOWN, wmcmd::X1DOWN});
wmcmds.AddTail({ID_NAVIGATE_SKIPFORWARDFILE, VK_NEXT, FVIRTKEY | FCONTROL | FNOINVERT, IDS_AG_NEXT_FILE});
@@ -553,7 +566,6 @@ void CAppSettings::CreateCommands()
wmcmds.AddTail({ID_STREAM_SUB_PREV, 'S', FVIRTKEY | FSHIFT | FNOINVERT, IDS_AG_PREV_SUBTITLE});
wmcmds.AddTail({ID_STREAM_SUB_ONOFF, 'W', FVIRTKEY | FNOINVERT, IDS_MPLAYERC_85});
wmcmds.AddTail({ID_SUBTITLES_SUBITEM_START + 2, 0, FVIRTKEY | FNOINVERT, IDS_MPLAYERC_86});
- wmcmds.AddTail({ID_FILE_ISDB_DOWNLOAD, 'D', FVIRTKEY | FNOINVERT, IDS_DOWNLOAD_SUBS});
wmcmds.AddTail({ID_DVD_ANGLE_NEXT, 0, FVIRTKEY | FNOINVERT, IDS_MPLAYERC_91});
wmcmds.AddTail({ID_DVD_ANGLE_PREV, 0, FVIRTKEY | FNOINVERT, IDS_MPLAYERC_92});
wmcmds.AddTail({ID_DVD_AUDIO_NEXT, 0, FVIRTKEY | FNOINVERT, IDS_MPLAYERC_93});
@@ -651,7 +663,6 @@ bool CAppSettings::IsSubtitleRendererSupported(SubtitleRenderer eSubtitleRendere
switch (eSubtitleRenderer) {
case SubtitleRenderer::INTERNAL:
switch (videoRenderer) {
- case VIDRNDT_DS_VMR7RENDERLESS:
case VIDRNDT_DS_VMR9RENDERLESS:
case VIDRNDT_DS_EVR_CUSTOM:
case VIDRNDT_DS_DXR:
@@ -684,8 +695,6 @@ bool CAppSettings::IsSubtitleRendererSupported(SubtitleRenderer eSubtitleRendere
bool CAppSettings::IsVideoRendererAvailable(int iVideoRendererType)
{
switch (iVideoRendererType) {
- case VIDRNDT_DS_VMR7RENDERLESS:
- return !VersionInfo::Is64Bit() && GetSystemMetrics(SM_CXVIRTUALSCREEN) < 2048 && GetSystemMetrics(SM_CYVIRTUALSCREEN) < 2048;
case VIDRNDT_DS_DXR:
return IsCLSIDRegistered(CLSID_DXR);
case VIDRNDT_DS_EVR:
@@ -738,6 +747,7 @@ void CAppSettings::SaveSettings()
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MUTE, fMute);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOOPNUM, nLoops);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOOP, fLoopForever);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOOPMODE, static_cast<int>(eLoopMode));
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ZOOM, iZoomLevel);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MULTIINST, fAllowMultipleInst);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_TITLEBARTEXTSTYLE, iTitleBarTextStyle);
@@ -817,6 +827,14 @@ void CAppSettings::SaveSettings()
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITIZEEXTERNALSUBTITLES, fPrioritizeExternalSubtitles);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DISABLEINTERNALSUBTITLES, fDisableInternalSubtitles);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ALLOW_OVERRIDING_EXT_SPLITTER, bAllowOverridingExternalSplitterChoice);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSUBTITLES, bAutoDownloadSubtitles);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSCOREMOVIES, nAutoDownloadScoreMovies);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSCORESERIES, nAutoDownloadScoreSeries);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSUBTITLESEXCLUDE, strAutoDownloadSubtitlesExclude);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOUPLOADSUBTITLES, bAutoUploadSubtitles);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_PREFERHEARINGIMPAIREDSUBTITLES, bPreferHearingImpairedSubtitles);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESPROVIDERS, strSubtitlesProviders);
+
pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, strSubtitlePaths);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_USEDEFAULTSUBTITLESSTYLE, fUseDefaultSubtitlesStyle);
@@ -987,9 +1005,6 @@ void CAppSettings::SaveSettings()
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, iThumbWidth);
VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SUBSAVEEXTERNALSTYLEFILE, bSubSaveExternalStyleFile));
-
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, strISDb);
-
{
// Save the list of extra (non-default) shader files
VERIFY(pApp->WriteProfileString(IDS_R_SHADERS, IDS_RS_SHADERS_EXTRA, m_ShadersExtraList.ToString()));
@@ -1029,10 +1044,13 @@ void CAppSettings::SaveSettings()
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_COVER_ART_SIZE_LIMIT, nCoverArtSizeLimit);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOGGING, bEnableLogging);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_USE_LEGACY_TOOLBAR, bUseLegacyToolbar);
VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SUBTITLE_RENDERER,
static_cast<int>(eSubtitleRenderer)));
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULTTOOLBARSIZE, nDefaultToolbarSize);
+
{
CComHeapPtr<WCHAR> pDeviceId;
BOOL bExclusive;
@@ -1254,6 +1272,7 @@ void CAppSettings::SaveSettingsAutoChangeFullScreenMode()
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_CHECKED, mode.bChecked));
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTART, std::lround(mode.dFrameRateStart * 1000000)));
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTOP, std::lround(mode.dFrameRateStop * 1000000)));
+ VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_AUDIODELAY, mode.msAudioDelay));
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_BPP, mode.dm.bpp));
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_FREQ, mode.dm.freq));
VERIFY(pApp->WriteProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_SIZEX, mode.dm.size.cx));
@@ -1282,7 +1301,7 @@ void CAppSettings::LoadSettings()
if (language <= 23) {
// We must be updating from a really old version, use the default language
language = Translations::SetDefaultLanguage();
- } else if (!Translations::SetLanguage(Translations::GetLanguageResourceByLocaleID(language))) {
+ } else if (!Translations::SetLanguage(language)) {
// In case of error, reset the language to English
language = 0;
}
@@ -1304,9 +1323,10 @@ void CAppSettings::LoadSettings()
fMute = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MUTE, FALSE);
nLoops = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOOPNUM, 1);
fLoopForever = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOOP, FALSE);
+ eLoopMode = static_cast<LoopMode>(pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOOPMODE, static_cast<int>(LoopMode::PLAYLIST)));
iZoomLevel = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ZOOM, 1);
iDSVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE,
- SysVersion::IsVistaOrLater() ? (IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS) : VIDRNDT_DS_VMR7RENDERLESS);
+ (SysVersion::IsVistaOrLater() && IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM)) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS);
iRMVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DEFAULT);
iQTVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DEFAULT);
nVolumeStep = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VOLUMESTEP, 5);
@@ -1361,6 +1381,9 @@ void CAppSettings::LoadSettings()
// Last Open Dir
strLastOpenDir = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_LAST_OPEN_DIR, _T("C:\\"));
+ fAudioTimeShift = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOTIMESHIFT, FALSE);
+ iAudioTimeShift = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, 0);
+
// Auto-change fullscreen mode
autoChangeFSMode.bEnabled = !!pApp->GetProfileInt(IDS_R_SETTINGS_FULLSCREEN_AUTOCHANGE_MODE, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_ENABLE, FALSE);
autoChangeFSMode.bApplyDefaultModeAtFSExit = !!pApp->GetProfileInt(IDS_R_SETTINGS_FULLSCREEN_AUTOCHANGE_MODE, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_APPLYDEFMODEATFSEXIT, TRUE);
@@ -1379,6 +1402,7 @@ void CAppSettings::LoadSettings()
double dFrameRateStart = pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTART, 0) / 1000000.0;
double dFrameRateStop = pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTOP, 0) / 1000000.0;
+ int msAudioDelay = pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_AUDIODELAY, fAudioTimeShift ? iAudioTimeShift : 0);
DisplayMode dm;
dm.bValid = true;
dm.bpp = (int)pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_BPP, 0);
@@ -1387,7 +1411,7 @@ void CAppSettings::LoadSettings()
dm.size.cy = (LONG)pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_SIZEY, 0);
dm.dwDisplayFlags = pApp->GetProfileInt(section, IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_FLAGS, 0);
- autoChangeFSMode.modes.emplace_back(!!iChecked, dFrameRateStart, dFrameRateStop, dm);
+ autoChangeFSMode.modes.emplace_back(!!iChecked, dFrameRateStart, dFrameRateStop, msAudioDelay, std::move(dm));
}
fExitFullScreenAtTheEnd = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_EXITFULLSCREENATTHEEND, TRUE);
@@ -1458,11 +1482,16 @@ void CAppSettings::LoadSettings()
fPrioritizeExternalSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITIZEEXTERNALSUBTITLES, TRUE);
fDisableInternalSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DISABLEINTERNALSUBTITLES, FALSE);
bAllowOverridingExternalSplitterChoice = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ALLOW_OVERRIDING_EXT_SPLITTER, FALSE);
+ bAutoDownloadSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSUBTITLES, FALSE);
+ nAutoDownloadScoreMovies = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSCOREMOVIES, 0x16);
+ nAutoDownloadScoreSeries = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSCORESERIES, 0x18);
+ strAutoDownloadSubtitlesExclude = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUTODOWNLOADSUBTITLESEXCLUDE);
+ bAutoUploadSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOUPLOADSUBTITLES, FALSE);
+ bPreferHearingImpairedSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_PREFERHEARINGIMPAIREDSUBTITLES, FALSE);
+ strSubtitlesProviders = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESPROVIDERS, _T("<|OpenSubtitles|||1|1|>"));
strSubtitlePaths = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, DEFAULT_SUBTITLE_PATHS);
fUseDefaultSubtitlesStyle = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_USEDEFAULTSUBTITLESSTYLE, FALSE);
fEnableAudioSwitcher = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOSWITCHER, TRUE);
- fAudioTimeShift = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOTIMESHIFT, FALSE);
- iAudioTimeShift = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, 0);
fDownSampleTo441 = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DOWNSAMPLETO441, FALSE);
fCustomChannelMapping = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_CUSTOMCHANNELMAPPING, FALSE);
@@ -1647,10 +1676,7 @@ void CAppSettings::LoadSettings()
iThumbWidth = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, 1024);
bSubSaveExternalStyleFile = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SUBSAVEEXTERNALSTYLEFILE, FALSE);
-
- strISDb = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, _T("www.opensubtitles.org/isdb"));
-
- nLastUsedPage = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LASTUSEDPAGE, 0);
+ nLastUsedPage = WORD(pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LASTUSEDPAGE, 0));
{
// Load the list of extra (non-default) shader files
@@ -1765,10 +1791,13 @@ void CAppSettings::LoadSettings()
nCoverArtSizeLimit = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_COVER_ART_SIZE_LIMIT, 600);
bEnableLogging = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOGGING, FALSE);
+ bUseLegacyToolbar = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_USE_LEGACY_TOOLBAR, FALSE);
eSubtitleRenderer = static_cast<SubtitleRenderer>(pApp->GetProfileInt(IDS_R_SETTINGS,
IDS_RS_SUBTITLE_RENDERER, static_cast<int>(SubtitleRenderer::INTERNAL)));
+ nDefaultToolbarSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULTTOOLBARSIZE, 24);
+
if (fLaunchfullscreen) {
nCLSwitches |= CLSW_FULLSCREEN;
}
@@ -1840,6 +1869,8 @@ void CAppSettings::UpdateRenderersData(bool fSave)
pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("TargetSyncOffset"), (LPBYTE) & (ars.fTargetSyncOffset), sizeof(ars.fTargetSyncOffset));
pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("ControlLimit"), (LPBYTE) & (ars.fControlLimit), sizeof(ars.fControlLimit));
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_CACHESHADERS, ars.bCacheShaders);
+
pApp->WriteProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), r.fResetDevice);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, r.subPicQueueSettings.nSize);
@@ -1904,6 +1935,11 @@ void CAppSettings::UpdateRenderersData(bool fSave)
delete [] dPtr;
}
+ ars.bCacheShaders = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_CACHESHADERS, DefaultSettings.bCacheShaders);
+ if (AfxGetMyApp()->GetAppSavePath(ars.sShaderCachePath)) {
+ ars.sShaderCachePath = PathUtils::CombinePaths(ars.sShaderCachePath, IDS_R_SHADER_CACHE);
+ }
+
r.fResetDevice = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), !SysVersion::IsVistaOrLater());
r.subPicQueueSettings.nSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, 10);
@@ -2478,7 +2514,7 @@ void CAppSettings::UpdateSettings()
dm.freq = modeOld.dmFSRes.freq;
dm.dwDisplayFlags = modeOld.dmFSRes.dmDisplayFlags & DM_INTERLACED;
- autoChangeFSMode.modes.emplace_back(modeOld.fChecked, modeOld.vfr_from, modeOld.vfr_to, dm);
+ autoChangeFSMode.modes.emplace_back(modeOld.fChecked, modeOld.vfr_from, modeOld.vfr_to, 0, std::move(dm));
}
}
@@ -2514,7 +2550,7 @@ void CAppSettings::UpdateSettings()
subrenderer = SubtitleRenderer::VS_FILTER;
}
if (IsSubtitleRendererRegistered(SubtitleRenderer::XY_SUB_FILTER)) {
- int renderer = SysVersion::IsVistaOrLater() ? (IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS) : VIDRNDT_DS_VMR7RENDERLESS;
+ int renderer = (SysVersion::IsVistaOrLater() && IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM)) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS;
renderer = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, renderer);
if (IsSubtitleRendererSupported(SubtitleRenderer::XY_SUB_FILTER, renderer)) {
subrenderer = SubtitleRenderer::XY_SUB_FILTER;
@@ -2524,6 +2560,23 @@ void CAppSettings::UpdateSettings()
VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SUBTITLE_RENDERER, static_cast<int>(subrenderer)));
}
// no break
+ case 7:
+ // Update the settings after the removal of DirectX 7 renderers
+ switch (pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, VIDRNDT_DS_DEFAULT)) {
+ case 3: // VIDRNDT_DS_VMR7WINDOWED
+ VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, VIDRNDT_DS_VMR9WINDOWED));
+ break;
+ case 5: // VIDRNDT_DS_VMR7RENDERLESS
+ VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, VIDRNDT_DS_VMR9RENDERLESS));
+ break;
+ }
+ if (pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DEFAULT) == 1) { // VIDRNDT_RM_DX7
+ VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DX9));
+ }
+ if (pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DEFAULT) == 1) { // VIDRNDT_QT_DX7
+ VERIFY(pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DX9));
+ }
+ // no break
default:
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_R_VERSION, APPSETTINGS_VERSION);
}
diff --git a/src/mpc-hc/AppSettings.h b/src/mpc-hc/AppSettings.h
index 0b4f1012a..85c37f086 100644
--- a/src/mpc-hc/AppSettings.h
+++ b/src/mpc-hc/AppSettings.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,22 +21,23 @@
#pragma once
-#include "SettingsDefines.h"
-#include "FilterEnum.h"
-#include "RenderersSettings.h"
#include "../Subtitles/STS.h"
-#include "MediaFormats.h"
+#include "../filters/switcher/AudioSwitcher/AudioSwitcher.h"
+#include "../thirdparty/sanear/sanear/src/Interfaces.h"
#include "DVBChannel.h"
+#include "FileAssoc.h"
+#include "FilterEnum.h"
+#include "MediaFormats.h"
#include "MediaPositionList.h"
-#include "../filters/switcher/AudioSwitcher/AudioSwitcher.h"
+#include "RenderersSettings.h"
+#include "SettingsDefines.h"
#include "Shaders.h"
-#include "FileAssoc.h"
-#include "FakeFilterMapper2.h"
-#include "../thirdparty/sanear/sanear/src/Interfaces.h"
#include <afxadv.h>
#include <afxsock.h>
+class FilterOverride;
+
// flags for CAppSettings::nCS
enum {
CS_NONE = 0,
@@ -100,10 +101,8 @@ enum {
VIDRNDT_DS_DEFAULT,
VIDRNDT_DS_OLDRENDERER,
VIDRNDT_DS_OVERLAYMIXER,
- VIDRNDT_DS_VMR7WINDOWED,
- VIDRNDT_DS_VMR9WINDOWED,
- VIDRNDT_DS_VMR7RENDERLESS,
- VIDRNDT_DS_VMR9RENDERLESS,
+ VIDRNDT_DS_VMR9WINDOWED = 4,
+ VIDRNDT_DS_VMR9RENDERLESS = 6,
VIDRNDT_DS_DXR,
VIDRNDT_DS_NULL_COMP,
VIDRNDT_DS_NULL_UNCOMP,
@@ -219,16 +218,18 @@ struct DisplayMode {
};
struct AutoChangeMode {
- AutoChangeMode(bool bChecked, double dFrameRateStart, double dFrameRateStop, DisplayMode dm)
- : bChecked(bChecked)
- , dFrameRateStart(dFrameRateStart)
- , dFrameRateStop(dFrameRateStop)
- , dm(dm) {
- };
+ AutoChangeMode(bool _bChecked, double _dFrameRateStart, double _dFrameRateStop, int _msAudioDelay, DisplayMode _dm)
+ : bChecked(_bChecked)
+ , dFrameRateStart(_dFrameRateStart)
+ , dFrameRateStop(_dFrameRateStop)
+ , msAudioDelay(_msAudioDelay)
+ , dm(std::move(_dm)) {
+ }
bool bChecked;
double dFrameRateStart;
double dFrameRateStop;
+ int msAudioDelay;
DisplayMode dm;
};
@@ -289,18 +290,18 @@ public:
, rmrepcnt(0) {
}
- wmcmd(WORD cmd, WORD key, BYTE fVirt, DWORD dwname, UINT appcmd = 0, UINT mouse = NONE, UINT mouseFS = NONE, LPCSTR rmcmd = "", int rmrepcnt = 5)
- : ACCEL( { fVirt, key, cmd })
- , backup({ fVirt, key, cmd })
- , appcmdorg(appcmd)
- , mouseorg(mouse)
- , mouseFSorg(mouseFS)
- , dwname(dwname)
- , appcmd(appcmd)
- , mouse(mouse)
- , mouseFS(mouseFS)
- , rmcmd(rmcmd)
- , rmrepcnt(rmrepcnt) {
+ wmcmd(WORD _cmd, WORD _key, BYTE _fVirt, DWORD _dwname, UINT _appcmd = 0, UINT _mouse = NONE, UINT _mouseFS = NONE, LPCSTR _rmcmd = "", int _rmrepcnt = 5)
+ : ACCEL( { _fVirt, _key, _cmd })
+ , backup({ _fVirt, _key, _cmd })
+ , appcmdorg(_appcmd)
+ , mouseorg(_mouse)
+ , mouseFSorg(_mouseFS)
+ , dwname(_dwname)
+ , appcmd(_appcmd)
+ , mouse(_mouse)
+ , mouseFS(_mouseFS)
+ , rmcmd(_rmcmd)
+ , rmrepcnt(_rmrepcnt) {
}
bool operator == (const wmcmd& wc) const {
@@ -369,7 +370,7 @@ public:
CUIceClient();
};
-#define APPSETTINGS_VERSION 7
+#define APPSETTINGS_VERSION 8
class CAppSettings
{
@@ -477,6 +478,12 @@ public:
int nBalance;
int nLoops;
bool fLoopForever;
+
+ enum class LoopMode {
+ FILE,
+ PLAYLIST
+ } eLoopMode;
+
bool fRememberZoomLevel;
int nAutoFitFactor;
int iZoomLevel;
@@ -488,6 +495,7 @@ public:
bool fBlockVSFilter;
UINT nVolumeStep;
UINT nSpeedStep;
+ int nDefaultToolbarSize;
enum class AfterPlayback {
DO_NOTHING,
@@ -583,8 +591,14 @@ public:
bool fPrioritizeExternalSubtitles;
bool fDisableInternalSubtitles;
bool bAllowOverridingExternalSplitterChoice;
+ bool bAutoDownloadSubtitles;
+ int nAutoDownloadScoreMovies;
+ int nAutoDownloadScoreSeries;
+ CString strAutoDownloadSubtitlesExclude;
+ bool bAutoUploadSubtitles;
+ bool bPreferHearingImpairedSubtitles;
+ CString strSubtitlesProviders;
CString strSubtitlePaths;
- CString strISDb;
// Tweaks
int nJumpDistS;
@@ -625,7 +639,6 @@ public:
// Video Frame
int iDefaultVideoSize;
bool fKeepAspectRatio;
- CSize sizeAspectRatio;
bool fCompMonDeskARDiff;
// Pan&Scan
CString strPnSPreset;
@@ -653,7 +666,7 @@ public:
// OTHER STATES
CStringW strLastOpenDir;
UINT nLastWindowType;
- UINT nLastUsedPage;
+ WORD nLastUsedPage;
bool fRemainingTime;
bool bHighPrecisionTimer;
bool fLastFullScreen;
@@ -671,6 +684,7 @@ public:
int nCoverArtSizeLimit;
bool bEnableLogging;
+ bool bUseLegacyToolbar;
bool IsD3DFullscreen() const;
CString SelectedAudioRenderer() const;
@@ -697,6 +711,12 @@ public:
static bool IsSubtitleRendererSupported(SubtitleRenderer eSubtitleRenderer, int videoRenderer);
+ CSize GetAspectRatioOverride() const {
+ ASSERT(fKeepAspectRatio && "Keep Aspect Ratio option have to be enabled if override value is used.");
+ return sizeAspectRatio;
+ };
+ void SetAspectRatioOverride(const CSize& ar) { sizeAspectRatio = ar; }
+
private:
struct FilterKey {
CString name;
@@ -731,6 +751,7 @@ private:
friend void CRenderersSettings::UpdateData(bool bSave);
SubtitleRenderer eSubtitleRenderer;
+ CSize sizeAspectRatio;
public:
CAppSettings();
diff --git a/src/mpc-hc/AuthDlg.cpp b/src/mpc-hc/AuthDlg.cpp
index 47569ac73..6c0b2af2d 100644
--- a/src/mpc-hc/AuthDlg.cpp
+++ b/src/mpc-hc/AuthDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -43,13 +43,13 @@ HRESULT PromptForCredentials(HWND hWnd, const CString& strCaptionText, const CSt
if (SysVersion::IsVistaOrLater()) {
// Define CredUI.dll functions for Windows Vista+
const WinapiFunc<decltype(CredPackAuthenticationBufferW)>
- fnCredPackAuthenticationBufferW = { "CREDUI.DLL", "CredPackAuthenticationBufferW" };
+ fnCredPackAuthenticationBufferW = { _T("CREDUI.DLL"), "CredPackAuthenticationBufferW" };
const WinapiFunc<decltype(CredUIPromptForWindowsCredentialsW)>
- fnCredUIPromptForWindowsCredentialsW = { "CREDUI.DLL", "CredUIPromptForWindowsCredentialsW" };
+ fnCredUIPromptForWindowsCredentialsW = { _T("CREDUI.DLL"), "CredUIPromptForWindowsCredentialsW" };
const WinapiFunc<decltype(CredUnPackAuthenticationBufferW)>
- fnCredUnPackAuthenticationBufferW = { "CREDUI.DLL", "CredUnPackAuthenticationBufferW" };
+ fnCredUnPackAuthenticationBufferW = { _T("CREDUI.DLL"), "CredUnPackAuthenticationBufferW" };
if (fnCredPackAuthenticationBufferW && fnCredUIPromptForWindowsCredentialsW && fnCredUnPackAuthenticationBufferW) {
PVOID pvInAuthBlob = nullptr;
@@ -93,10 +93,10 @@ HRESULT PromptForCredentials(HWND hWnd, const CString& strCaptionText, const CSt
} else if (SysVersion::IsXPOrLater()) {
// Define CredUI.dll functions for Windows XP
const WinapiFunc<decltype(CredUIPromptForCredentialsW)>
- fnCredUIPromptForCredentialsW = { "CREDUI.DLL", "CredUIPromptForCredentialsW" };
+ fnCredUIPromptForCredentialsW = { _T("CREDUI.DLL"), "CredUIPromptForCredentialsW" };
const WinapiFunc<decltype(CredUIParseUserNameW)>
- fnCredUIParseUserNameW = { "CREDUI.DLL", "CredUIParseUserNameW" };
+ fnCredUIParseUserNameW = { _T("CREDUI.DLL"), "CredUIParseUserNameW" };
if (fnCredUIPromptForCredentialsW && fnCredUIParseUserNameW) {
const DWORD dwAuthError = 0;
diff --git a/src/mpc-hc/CmdLineHelpDlg.cpp b/src/mpc-hc/CmdLineHelpDlg.cpp
index 5cac04c8e..c94b632b5 100644
--- a/src/mpc-hc/CmdLineHelpDlg.cpp
+++ b/src/mpc-hc/CmdLineHelpDlg.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2014 see Authors.txt
+ * (C) 2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,9 @@
#include "stdafx.h"
#include "CmdLineHelpDlg.h"
+#include <ArrayUtils.h>
+#include "SettingsDefines.h"
+#include <array>
CmdLineHelpDlg::CmdLineHelpDlg(const CString& cmdLine /*= _T("")*/)
: CResizableDialog(CmdLineHelpDlg::IDD)
@@ -50,10 +53,27 @@ BOOL CmdLineHelpDlg::OnInitDialog()
m_icon.SetIcon(LoadIcon(nullptr, IDI_INFORMATION));
if (!m_cmdLine.IsEmpty()) {
- m_text = ResStr(IDS_UNKNOWN_SWITCH);
+ m_text.LoadString(IDS_UNKNOWN_SWITCH);
m_text.AppendFormat(_T("%s\n\n"), m_cmdLine);
}
- m_text.Append(ResStr(IDS_USAGE));
+ m_text.AppendFormat(_T("%s\n"), ResStr(IDS_USAGE));
+
+ constexpr auto cmdArgs = make_array(
+ IDS_CMD_PATHNAME, IDS_CMD_DUB, IDS_CMD_DUBDELAY, IDS_CMD_D3DFS, IDS_CMD_SUB,
+ IDS_CMD_FILTER, IDS_CMD_DVD, IDS_CMD_DVDPOS_TC, IDS_CMD_DVDPOS_TIME, IDS_CMD_CD,
+ IDS_CMD_DEVICE, IDS_CMD_OPEN, IDS_CMD_PLAY, IDS_CMD_CLOSE, IDS_CMD_SHUTDOWN,
+ IDS_CMD_STANDBY, IDS_CMD_HIBERNATE, IDS_CMD_LOGOFF, IDS_CMD_LOCK, IDS_CMD_MONITOROFF,
+ IDS_CMD_PLAYNEXT, IDS_CMD_FULLSCREEN, IDS_CMD_MINIMIZED, IDS_CMD_NEW, IDS_CMD_ADD,
+ IDS_CMD_RANDOMIZE, IDS_CMD_REGVID, IDS_CMD_REGAUD, IDS_CMD_REGPL, IDS_CMD_REGALL,
+ IDS_CMD_UNREGALL, IDS_CMD_START, IDS_CMD_STARTPOS, IDS_CMD_FIXEDSIZE, IDS_CMD_MONITOR,
+ IDS_CMD_AUDIORENDERER, IDS_CMD_SHADERPRESET, IDS_CMD_PNS, IDS_CMD_ICONASSOC,
+ IDS_CMD_NOFOCUS, IDS_CMD_WEBPORT, IDS_CMD_DEBUG, IDS_CMD_NOCRASHREPORTER,
+ IDS_CMD_SLAVE, IDS_CMD_HWGPU, IDS_CMD_RESET, IDS_CMD_HELP
+ );
+
+ for (const auto& cmdArg : cmdArgs) {
+ m_text.AppendFormat(_T("\n%s"), ResStr(cmdArg).GetString());
+ }
m_text.Replace(_T("\n"), _T("\r\n"));
UpdateData(FALSE);
diff --git a/src/mpc-hc/CoverArt.h b/src/mpc-hc/CoverArt.h
index 37d7aa6c0..3e4190437 100644
--- a/src/mpc-hc/CoverArt.h
+++ b/src/mpc-hc/CoverArt.h
@@ -1,5 +1,5 @@
/*
-* (C) 2014 see Authors.txt
+* (C) 2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,6 @@
#pragma once
-#include <afx.h>
#include <vector>
namespace CoverArt
diff --git a/src/mpc-hc/CrashReporter.cpp b/src/mpc-hc/CrashReporter.cpp
index 322c39e74..57b773357 100644
--- a/src/mpc-hc/CrashReporter.cpp
+++ b/src/mpc-hc/CrashReporter.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2015 see Authors.txt
+ * (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,12 +21,10 @@
#include "stdafx.h"
#include "CrashReporter.h"
#ifndef _DEBUG
-#include <DbgHelp.h>
#include "VersionInfo.h"
#include "mpc-hc_config.h"
#include "DoctorDump/CrashRpt.h"
#include "mplayerc.h"
-#include "translations.h"
using namespace crash_rpt;
diff --git a/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj b/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj
index ae54a3f50..7823eaba8 100644
--- a/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj
+++ b/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release Lite|Win32">
<Configuration>Release Lite</Configuration>
@@ -38,17 +38,11 @@
<Import Project="..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x86\CrashReporter\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x86 Lite\CrashReporter\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x64\CrashReporter\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x64 Lite\CrashReporter\</OutDir>
+ <PropertyGroup>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\mpc-hc_x86\CrashReporter\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">$(SolutionDir)bin\mpc-hc_x86 Lite\CrashReporter\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\mpc-hc_x64\CrashReporter\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">$(SolutionDir)bin\mpc-hc_x64 Lite\CrashReporter\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
@@ -77,6 +71,11 @@
<ItemGroup>
<ResourceCompile Include="CrashReporterDialog.rc" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\build\BuildConfig.vcxproj">
+ <Project>{981574ae-5a5e-4f27-bdf1-1b841e374cff}</Project>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
diff --git a/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj.filters b/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj.filters
index f87263b49..b0e7b309e 100644
--- a/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj.filters
+++ b/src/mpc-hc/CrashReporterDialog/CrashReporterDialog.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/mpc-hc/DVBChannel.cpp b/src/mpc-hc/DVBChannel.cpp
index e4a0b7e41..393d35c77 100644
--- a/src/mpc-hc/DVBChannel.cpp
+++ b/src/mpc-hc/DVBChannel.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,8 +21,15 @@
#include "stdafx.h"
#include "DVBChannel.h"
+#include "ISOLang.h"
+#include "mplayerc.h"
+LCID DVBStreamInfo::GetLCID() const
+{
+ return ISOLang::ISO6392ToLcid(CStringA(sLanguage));
+};
+
CDVBChannel::CDVBChannel(CString strChannel)
{
FromString(strChannel);
@@ -40,6 +47,8 @@ void CDVBChannel::FromString(CString strValue)
m_strName = strValue.Tokenize(_T("|"), i);
m_ulFrequency = _tstol(strValue.Tokenize(_T("|"), i));
+ m_ulBandwidth = (nVersion > FORMAT_VERSION_4) ? _tstol(strValue.Tokenize(_T("|"), i))
+ : AfxGetAppSettings().iBDABandwidth * 1000;
m_nPrefNumber = _tstol(strValue.Tokenize(_T("|"), i));
m_nOriginNumber = _tstol(strValue.Tokenize(_T("|"), i));
if (nVersion > FORMAT_VERSION_0) {
@@ -98,10 +107,11 @@ CString CDVBChannel::ToString() const
};
CString strValue;
- strValue.AppendFormat(_T("%d|%s|%lu|%d|%d|%d|%d|%lu|%lu|%lu|%lu|%lu|%lu|%d|%d|%d|%d|%d"),
+ strValue.AppendFormat(_T("%d|%s|%lu|%lu|%d|%d|%d|%d|%lu|%lu|%lu|%lu|%lu|%lu|%d|%d|%d|%d|%d"),
FORMAT_VERSION_CURRENT,
- m_strName,
+ m_strName.GetString(),
m_ulFrequency,
+ m_ulBandwidth,
m_nPrefNumber,
m_nOriginNumber,
m_bEncrypted,
diff --git a/src/mpc-hc/DVBChannel.h b/src/mpc-hc/DVBChannel.h
index 61558e985..7cc4ea276 100644
--- a/src/mpc-hc/DVBChannel.h
+++ b/src/mpc-hc/DVBChannel.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,12 +21,14 @@
#pragma once
#include <vector>
+#include <array>
#define FORMAT_VERSION_0 0
#define FORMAT_VERSION_1 1
#define FORMAT_VERSION_2 2
#define FORMAT_VERSION_3 3
-#define FORMAT_VERSION_CURRENT 4
+#define FORMAT_VERSION_4 4
+#define FORMAT_VERSION_CURRENT 5
#define DVB_MAX_AUDIO 10
#define DVB_MAX_SUBTITLE 10
@@ -94,7 +96,7 @@ struct DVBStreamInfo {
PES_STREAM_TYPE nPesType = INVALID;
CString sLanguage;
- LCID GetLCID() { return ISO6392ToLcid(CStringA(sLanguage)); };
+ LCID GetLCID() const;
};
class CDVBChannel
@@ -116,6 +118,7 @@ public:
LPCTSTR GetName() const { return m_strName; };
ULONG GetFrequency() const { return m_ulFrequency; };
+ ULONG GetBandwidth() const { return m_ulBandwidth; }
int GetPrefNumber() const { return m_nPrefNumber; };
int GetOriginNumber() const { return m_nOriginNumber; };
ULONG GetONID() const { return m_ulONID; };
@@ -151,6 +154,7 @@ public:
void SetName(LPCTSTR Value) { m_strName = Value; };
void SetFrequency(ULONG Value) { m_ulFrequency = Value; };
+ void SetBandwidth(ULONG ulBandwidth) { m_ulBandwidth = ulBandwidth; }
void SetPrefNumber(int Value) { m_nPrefNumber = Value; };
void SetOriginNumber(int Value) { m_nOriginNumber = Value; };
void SetEncrypted(bool Value) { m_bEncrypted = Value; };
@@ -178,11 +182,14 @@ public:
}
// Returns true for channels with the same place, doesn't necessarily need to be equal (i.e if internal streams were updated)
- bool operator==(CDVBChannel const& channel) const { return GetPMT() == channel.GetPMT() && GetFrequency() == channel.GetFrequency(); }
+ bool operator==(CDVBChannel const& channel) const {
+ return GetPMT() == channel.GetPMT() && GetFrequency() == channel.GetFrequency();
+ }
private:
CString m_strName;
ULONG m_ulFrequency = 0;
+ ULONG m_ulBandwidth = 0;
int m_nPrefNumber = 0;
int m_nOriginNumber = 0;
bool m_bEncrypted = false;
diff --git a/src/mpc-hc/DebugShadersDlg.cpp b/src/mpc-hc/DebugShadersDlg.cpp
index 7086eb04d..6ad165c24 100644
--- a/src/mpc-hc/DebugShadersDlg.cpp
+++ b/src/mpc-hc/DebugShadersDlg.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,8 @@
#include "DebugShadersDlg.h"
#include "mplayerc.h"
#include "PathUtils.h"
+#include "SettingsDefines.h"
+#include "AppSettings.h"
CModelessDialog::CModelessDialog(UINT nIDTemplate)
: CResizableDialog(nIDTemplate)
@@ -251,7 +253,7 @@ void CDebugShadersDlg::OnRecompileShader()
}
CString disasm, compilerMsg;
if (SUCCEEDED(m_Compiler.CompileShaderFromFile(shader.filePath, "main", profile,
- D3DXSHADER_DEBUG, nullptr, &disasm, &compilerMsg))) {
+ D3DCOMPILE_DEBUG, nullptr, &disasm, &compilerMsg))) {
if (!compilerMsg.IsEmpty()) {
compilerMsg += _T("\n");
}
diff --git a/src/mpc-hc/DeinterlacerFilter.cpp b/src/mpc-hc/DeinterlacerFilter.cpp
index 028cf7e09..fcd1d31ea 100644
--- a/src/mpc-hc/DeinterlacerFilter.cpp
+++ b/src/mpc-hc/DeinterlacerFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -92,9 +92,8 @@ HRESULT CDeinterlacerFilter::Transform(IMediaSample* pIn, IMediaSample* pOut)
int bppOut = !(bihOut.biBitCount & 7) ? bihOut.biBitCount : 8;
int pitchIn = bihIn.biWidth * bppIn >> 3;
int pitchOut = bihOut.biWidth * bppOut >> 3;
- BYTE* pDataOut2 = pDataOut;
+
if (fFlip) {
- pDataOut2 += pitchOut * (bihIn.biHeight - 1);
pitchOut = -pitchOut;
}
diff --git a/src/mpc-hc/DpiHelper.cpp b/src/mpc-hc/DpiHelper.cpp
index 04397208b..7eb135d9f 100644
--- a/src/mpc-hc/DpiHelper.cpp
+++ b/src/mpc-hc/DpiHelper.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2015 see Authors.txt
+ * (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -48,9 +48,9 @@ DpiHelper::DpiHelper()
void DpiHelper::Override(HWND hWindow)
{
const WinapiFunc<decltype(GetDpiForMonitor)>
- fnGetDpiForMonitor = { "Shcore.dll", "GetDpiForMonitor" };
+ fnGetDpiForMonitor = { _T("Shcore.dll"), "GetDpiForMonitor" };
- if (fnGetDpiForMonitor) {
+ if (hWindow && fnGetDpiForMonitor) {
if (fnGetDpiForMonitor(MonitorFromWindow(hWindow, MONITOR_DEFAULTTONULL),
MDT_EFFECTIVE_DPI, (UINT*)&m_dpix, (UINT*)&m_dpiy) != S_OK) {
m_dpix = m_sdpix;
diff --git a/src/mpc-hc/DpiHelper.h b/src/mpc-hc/DpiHelper.h
index 66000183f..34e0dc857 100644
--- a/src/mpc-hc/DpiHelper.h
+++ b/src/mpc-hc/DpiHelper.h
@@ -1,5 +1,5 @@
/*
- * (C) 2015 see Authors.txt
+ * (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,6 +29,9 @@ public:
void Override(HWND hWindow);
void Override(int dpix, int dpiy);
+ inline double ScaleFactorX() const { return m_dpix / 96.0; }
+ inline double ScaleFactorY() const { return m_dpiy / 96.0; }
+
inline int ScaleFloorX(int x) const { return x * m_dpix / 96; }
inline int ScaleFloorY(int y) const { return y * m_dpiy / 96; }
inline int ScaleX(int x) const { return MulDiv(x, m_dpix, 96); }
diff --git a/src/mpc-hc/EditListEditor.cpp b/src/mpc-hc/EditListEditor.cpp
index e1c82e04e..abdd56c59 100644
--- a/src/mpc-hc/EditListEditor.cpp
+++ b/src/mpc-hc/EditListEditor.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2014 see Authors.txt
+ * (C) 2009-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -202,7 +202,7 @@ void CEditListEditor::CloseFile()
m_editList.RemoveAll();
m_list.DeleteAllItems();
m_curPos = nullptr;
- m_strFileName = "";
+ m_strFileName.Empty();
m_bFileOpen = false;
m_cbHotFolders.SetCurSel(0);
}
diff --git a/src/mpc-hc/EventDispatcher.h b/src/mpc-hc/EventDispatcher.h
index f321497e6..033c7ef7d 100644
--- a/src/mpc-hc/EventDispatcher.h
+++ b/src/mpc-hc/EventDispatcher.h
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -46,6 +46,7 @@ enum class MpcEvent {
CHANGING_UI_LANGUAGE,
STREAM_POS_UPDATE_REQUEST,
DPI_CHANGED,
+ DEFAULT_TOOLBAR_SIZE_CHANGED,
};
class EventClient;
diff --git a/src/mpc-hc/FGFilter.cpp b/src/mpc-hc/FGFilter.cpp
index b907747f4..c4f544e55 100644
--- a/src/mpc-hc/FGFilter.cpp
+++ b/src/mpc-hc/FGFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,13 +24,14 @@
#include "FGFilter.h"
#include "MainFrm.h"
#include "DSUtil.h"
-#include "AllocatorCommon7.h"
-#include "AllocatorCommon.h"
-#include "SyncAllocatorPresenter.h"
#include "IPinHook.h" // For the NVIDIA driver bug work-around
#include "moreuuids.h"
#include <mvrInterfaces.h>
+#include <initguid.h>
+#include "AllocatorCommon.h"
+#include "SyncAllocatorPresenter.h"
+
//
// CFGFilter
@@ -470,8 +471,6 @@ HRESULT CFGFilterVideoRenderer::Create(IBaseFilter** ppBF, CInterfaceList<IUnkno
}
} else if (m_clsid == CLSID_VMR9AllocatorPresenter || m_clsid == CLSID_DXRAllocatorPresenter) {
CheckNoLog(CreateAP9(m_clsid, m_hWnd, isD3DFullScreenMode(), &pCAP));
- } else if (m_clsid == CLSID_VMR7AllocatorPresenter) {
- CheckNoLog(CreateAP7(m_clsid, m_hWnd, &pCAP));
} else {
CComPtr<IBaseFilter> pBF;
CheckNoLog(pBF.CoCreateInstance(m_clsid));
diff --git a/src/mpc-hc/FGFilterLAV.cpp b/src/mpc-hc/FGFilterLAV.cpp
index 7301e95c2..58f1c7291 100644
--- a/src/mpc-hc/FGFilterLAV.cpp
+++ b/src/mpc-hc/FGFilterLAV.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -19,24 +19,20 @@
*/
#include "stdafx.h"
-#include <mpconfig.h>
-#include "FGFilterLAV.h"
-#include "MainFrm.h"
-#include "DSUtil.h"
-#include "FileVersionInfo.h"
+#include "mplayerc.h"
#include "PathUtils.h"
#include "SysVersion.h"
-#include "AllocatorCommon7.h"
-#include "AllocatorCommon.h"
-#include "SyncAllocatorPresenter.h"
-#include "moreuuids.h"
#include "../filters/InternalPropertyPage.h"
#include "../filters/PinInfoWnd.h"
+#include <FileVersionInfo.h>
+
+#include <initguid.h>
+#include "FGFilterLAV.h"
#define LAV_FILTERS_VERSION_MAJOR 0
-#define LAV_FILTERS_VERSION_MINOR 66
+#define LAV_FILTERS_VERSION_MINOR 67
#define LAV_FILTERS_VERSION_REVISION 0
-#define LAV_FILTERS_VERSION_COMMIT_NUM 0
+#define LAV_FILTERS_VERSION_COMMIT_NUM 82
#define LAV_FILTERS_VERSION ((QWORD)LAV_FILTERS_VERSION_MAJOR << 48 | (QWORD)LAV_FILTERS_VERSION_MINOR << 32 | (QWORD)LAV_FILTERS_VERSION_REVISION << 16 | LAV_FILTERS_VERSION_COMMIT_NUM)
#define IDS_R_INTERNAL_LAVSPLITTER IDS_R_INTERNAL_FILTERS _T("\\LAVSplitter")
@@ -207,7 +203,7 @@ HRESULT CFGFilterLAV::PropertyPageCallback(IBaseFilter* pBF)
{
CheckPointer(pBF, E_POINTER);
- CComPropertySheet ps(ResStr(IDS_PROPSHEET_PROPERTIES), AfxGetMyApp()->GetMainWnd());
+ CComPropertySheet ps(IDS_PROPSHEET_PROPERTIES, AfxGetMyApp()->GetMainWnd());
// Find out which internal filter we are opening the property page for
CFGFilterLAV::LAVFILTER_TYPE LAVFilterType = CFGFilterLAV::INVALID;
@@ -613,8 +609,6 @@ void CFGFilterLAVVideo::Settings::LoadSettings()
for (int i = 0; i < LAVOutPixFmt_NB; ++i) {
bPixFmts[i] = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_OUTPUTFORMAT, pixFmtSettingsMap[i], bPixFmts[i]);
}
- // Force disable, for future use
- bPixFmts[LAVOutPixFmt_YV16] = FALSE;
dwHWAccel = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWAccel"), -1);
if (dwHWAccel == DWORD(-1)) {
@@ -651,13 +645,17 @@ void CFGFilterLAVVideo::Settings::LoadSettings()
bHWFormats[HWCodec_HEVC] = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("hevc"), bHWFormats[HWCodec_HEVC]);
+ bHWFormats[HWCodec_VP9] = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("vp9"), bHWFormats[HWCodec_VP9]);
+
dwHWAccelResFlags = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWResFlags"), dwHWAccelResFlags);
dwHWDeintMode = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintMode"), dwHWDeintMode);
dwHWDeintOutput = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintOutput"), dwHWDeintOutput);
- bHWDeintHQ = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintHQ"), bHWDeintHQ);
+ dwHWAccelDeviceDXVA2 = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWAccelDeviceDXVA2"), dwHWAccelDeviceDXVA2);
+
+ dwHWAccelDeviceDXVA2Desc = pApp->GetProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWAccelDeviceDXVA2Desc"), dwHWAccelDeviceDXVA2Desc);
}
void CFGFilterLAVVideo::Settings::SaveSettings()
@@ -701,13 +699,17 @@ void CFGFilterLAVVideo::Settings::SaveSettings()
pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("hevc"), bHWFormats[HWCodec_HEVC]);
+ pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("vp9"), bHWFormats[HWCodec_VP9]);
+
pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWResFlags"), dwHWAccelResFlags);
pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintMode"), dwHWDeintMode);
pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintOutput"), dwHWDeintOutput);
- pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWDeintHQ"), bHWDeintHQ);
+ pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWAccelDeviceDXVA2"), dwHWAccelDeviceDXVA2);
+
+ pApp->WriteProfileInt(IDS_R_INTERNAL_LAVVIDEO_HWACCEL, _T("HWAccelDeviceDXVA2Desc"), dwHWAccelDeviceDXVA2Desc);
}
bool CFGFilterLAVVideo::Settings::GetSettings(CComQIPtr<ILAVVideoSettings> pLAVFSettings)
@@ -750,7 +752,7 @@ bool CFGFilterLAVVideo::Settings::GetSettings(CComQIPtr<ILAVVideoSettings> pLAVF
dwHWDeintOutput = pLAVFSettings->GetHWAccelDeintOutput();
- bHWDeintHQ = pLAVFSettings->GetHWAccelDeintHQ();
+ dwHWAccelDeviceDXVA2 = pLAVFSettings->GetHWAccelDeviceIndex(HWAccel_DXVA2CopyBack, &dwHWAccelDeviceDXVA2Desc);
return true;
}
@@ -795,7 +797,7 @@ bool CFGFilterLAVVideo::Settings::SetSettings(CComQIPtr<ILAVVideoSettings> pLAVF
pLAVFSettings->SetHWAccelDeintOutput((LAVDeintOutput)dwHWDeintOutput);
- pLAVFSettings->SetHWAccelDeintHQ(bHWDeintHQ);
+ pLAVFSettings->SetHWAccelDeviceIndex(HWAccel_DXVA2CopyBack, dwHWAccelDeviceDXVA2, dwHWAccelDeviceDXVA2Desc);
// Force RV1/2 and v210/v410 enabled, the user can control it from our own options
pLAVFSettings->SetFormatConfiguration(Codec_RV12, TRUE);
diff --git a/src/mpc-hc/FGFilterLAV.h b/src/mpc-hc/FGFilterLAV.h
index c6b312950..bb979ba42 100644
--- a/src/mpc-hc/FGFilterLAV.h
+++ b/src/mpc-hc/FGFilterLAV.h
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -71,7 +71,7 @@ public:
if (SUCCEEDED(pLAVFilter->Create(&pBF, pUnks))) {
if (CComQIPtr<ISpecifyPropertyPages> pSPP = pBF) {
- CComPropertySheet ps(ResStr(IDS_PROPSHEET_PROPERTIES), pParendWnd);
+ CComPropertySheet ps(IDS_PROPSHEET_PROPERTIES, pParendWnd);
ps.AddPages(pSPP, iIgnoredPage);
ps.DoModal();
@@ -167,12 +167,13 @@ public:
DWORD dwHWAccelResFlags;
DWORD dwHWDeintMode;
DWORD dwHWDeintOutput;
- BOOL bHWDeintHQ;
DWORD dwDeintFieldOrder;
LAVDeintMode deintMode;
DWORD dwSWDeintMode;
DWORD dwSWDeintOutput;
DWORD dwDitherMode;
+ DWORD dwHWAccelDeviceDXVA2;
+ DWORD dwHWAccelDeviceDXVA2Desc;
void LoadSettings();
void SaveSettings();
diff --git a/src/mpc-hc/FGManager.cpp b/src/mpc-hc/FGManager.cpp
index 9086332e6..ae75d40d7 100644
--- a/src/mpc-hc/FGManager.cpp
+++ b/src/mpc-hc/FGManager.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,34 +20,38 @@
*/
#include "stdafx.h"
-#include <mpconfig.h>
-#include "mplayerc.h"
#include "FGManager.h"
-#include "DSUtil.h"
-#include "FileVersionInfo.h"
-#include "PathUtils.h"
+#include "../DeCSS/VobFile.h"
#include "../filters/Filters.h"
-#include "AllocatorCommon7.h"
#include "AllocatorCommon.h"
-#include "SyncAllocatorPresenter.h"
#include "DeinterlacerFilter.h"
-#include "../DeCSS/VobFile.h"
-#include <InitGuid.h>
-#include <dmodshow.h>
+#include "FakeFilterMapper2.h"
+#include "FileVersionInfo.h"
+#include "IPinHook.h"
+#include "NullRenderers.h"
+#include "PathUtils.h"
+#include "SyncAllocatorPresenter.h"
+#include "mplayerc.h"
+#include "sanear/sanear/src/Factory.h"
#include <d3d9.h>
-#include <vmr9.h>
#include <evr.h>
#include <evr9.h>
+#include <vmr9.h>
+#include <ks.h>
#include <ksproxy.h>
-#include "IPinHook.h"
-#include "moreuuids.h"
+#include <mpconfig.h>
#include <mvrInterfaces.h>
-#include "../thirdparty/sanear/sanear/src/Factory.h"
+
+#include <initguid.h>
+#include "moreuuids.h"
+#include <dmodshow.h>
//
// CFGManager
//
+class CNullAudioRenderer;
+
CFGManager::CFGManager(LPCTSTR pName, LPUNKNOWN pUnk)
: CUnknown(pName, pUnk)
, m_dwRegister(0)
@@ -155,7 +159,7 @@ bool CFGManager::CheckBytes(HANDLE hFile, CString chkbytes)
// LAME
while (maskstr.GetLength() < valstr.GetLength()) {
- maskstr += 'F';
+ maskstr += _T('F');
}
CAtlArray<BYTE> mask, val;
@@ -1566,6 +1570,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_SOURCEFILTER_HTTP
if (src[SRC_HTTP]) {
pFGLAVSplitterSource->m_protocols.AddTail(_T("http"));
+ pFGLAVSplitterSource->m_protocols.AddTail(_T("https"));
pFGLAVSplitterSource->m_protocols.AddTail(_T("icyx"));
pFGLAVSplitterSource->AddEnabledFormat("http");
}
@@ -2394,42 +2399,36 @@ CFGManagerPlayer::CFGManagerPlayer(LPCTSTR pName, LPUNKNOWN pUnk, HWND hWnd)
m_transform.AddTail(DEBUG_NEW CFGFilterRegistry(CLSID_VideoRenderer, m_vrmerit));
break;
case VIDRNDT_DS_OVERLAYMIXER:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_OverlayMixer, ResStr(IDS_PPAGE_OUTPUT_OVERLAYMIXER), m_vrmerit));
- break;
- case VIDRNDT_DS_VMR7WINDOWED:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VideoMixingRenderer, ResStr(IDS_PPAGE_OUTPUT_VMR7WINDOWED), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_OverlayMixer, StrRes(IDS_PPAGE_OUTPUT_OVERLAYMIXER), m_vrmerit));
break;
case VIDRNDT_DS_VMR9WINDOWED:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VideoMixingRenderer9, ResStr(IDS_PPAGE_OUTPUT_VMR9WINDOWED), m_vrmerit));
- break;
- case VIDRNDT_DS_VMR7RENDERLESS:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VMR7AllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_VMR7RENDERLESS), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VideoMixingRenderer9, StrRes(IDS_PPAGE_OUTPUT_VMR9WINDOWED), m_vrmerit));
break;
case VIDRNDT_DS_VMR9RENDERLESS:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VMR9AllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_VMR9RENDERLESS), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_VMR9AllocatorPresenter, StrRes(IDS_PPAGE_OUTPUT_VMR9RENDERLESS), m_vrmerit));
break;
case VIDRNDT_DS_EVR:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_EnhancedVideoRenderer, ResStr(IDS_PPAGE_OUTPUT_EVR), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_EnhancedVideoRenderer, StrRes(IDS_PPAGE_OUTPUT_EVR), m_vrmerit));
break;
case VIDRNDT_DS_EVR_CUSTOM:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_EVRAllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_EVR_CUSTOM), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_EVRAllocatorPresenter, StrRes(IDS_PPAGE_OUTPUT_EVR_CUSTOM), m_vrmerit));
break;
case VIDRNDT_DS_DXR:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_DXRAllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_DXR), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_DXRAllocatorPresenter, StrRes(IDS_PPAGE_OUTPUT_DXR), m_vrmerit));
break;
case VIDRNDT_DS_MADVR:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_madVRAllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_MADVR), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_madVRAllocatorPresenter, StrRes(IDS_PPAGE_OUTPUT_MADVR), m_vrmerit));
break;
case VIDRNDT_DS_SYNC:
- m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_SyncAllocatorPresenter, ResStr(IDS_PPAGE_OUTPUT_SYNC), m_vrmerit));
+ m_transform.AddTail(DEBUG_NEW CFGFilterVideoRenderer(m_hWnd, CLSID_SyncAllocatorPresenter, StrRes(IDS_PPAGE_OUTPUT_SYNC), m_vrmerit));
break;
case VIDRNDT_DS_NULL_COMP:
- pFGF = DEBUG_NEW CFGFilterInternal<CNullVideoRenderer>(ResStr(IDS_PPAGE_OUTPUT_NULL_COMP), MERIT64_ABOVE_DSHOW + 2);
+ pFGF = DEBUG_NEW CFGFilterInternal<CNullVideoRenderer>(StrRes(IDS_PPAGE_OUTPUT_NULL_COMP), MERIT64_ABOVE_DSHOW + 2);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_NULL);
m_transform.AddTail(pFGF);
break;
case VIDRNDT_DS_NULL_UNCOMP:
- pFGF = DEBUG_NEW CFGFilterInternal<CNullUVideoRenderer>(ResStr(IDS_PPAGE_OUTPUT_NULL_UNCOMP), MERIT64_ABOVE_DSHOW + 2);
+ pFGF = DEBUG_NEW CFGFilterInternal<CNullUVideoRenderer>(StrRes(IDS_PPAGE_OUTPUT_NULL_UNCOMP), MERIT64_ABOVE_DSHOW + 2);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_NULL);
m_transform.AddTail(pFGF);
break;
diff --git a/src/mpc-hc/FGManagerBDA.cpp b/src/mpc-hc/FGManagerBDA.cpp
index da97f4a71..ee6cddb33 100644
--- a/src/mpc-hc/FGManagerBDA.cpp
+++ b/src/mpc-hc/FGManagerBDA.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -19,28 +19,19 @@
*/
#include "stdafx.h"
-
-#include <ks.h>
-#include <ksmedia.h>
-#include "BaseClasses/streams.h"
-#include <mpeg2data.h>
-#include <tuner.h>
-#include <time.h>
-#include <dvbsiparser.h>
-
-#include "DSUtil.h"
-#include "GolombBuffer.h"
-#include "../filters/switcher/AudioSwitcher/AudioSwitcher.h"
-#include "moreuuids.h"
-#include "mplayerc.h"
#include "FGManagerBDA.h"
-#include "DVBChannel.h"
#include "Mpeg2SectionData.h"
#include "MainFrm.h"
-#include "SysVersion.h"
#include "Logger.h"
+#include <ISOLang.h>
+#include <SysVersion.h>
+#include <moreuuids.h>
+#include <dvdmedia.h>
+#include <ks.h>
+#include <ksmedia.h>
+#include <bdamedia.h>
-#define LOG Logger<LogTargets::BDA>::LOG
+#define LOG(...) MPCHC_LOG(BDA, __VA_ARGS__)
#define CheckAndLogBDA(x, msg) hr = ##x; if (FAILED(hr)) { LOG(msg _T(": 0x%08x\n"), hr); return hr; }
#define CheckAndLogBDANoRet(x, msg) hr = ##x; if (FAILED(hr)) { LOG(msg _T(": 0x%08x\n"), hr); }
@@ -615,9 +606,10 @@ STDMETHODIMP CFGManagerBDA::SetChannel(int nChannelPrefNumber)
CDVBChannel* pChannel = s.FindChannelByPref(nChannelPrefNumber);
LOG(_T("Start SetChannel %d."), nChannelPrefNumber);
if (pChannel) {
- if ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_NEVER) ||
- ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_WHEN_SWITCHING) && (m_nCurVideoType == pChannel->GetVideoType())) ||
- ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_ALWAYS) && (s.nDVBLastChannel == nChannelPrefNumber))) {
+ if (!((m_nCurAudioType == DVB_UNKNOWN) ^ (pChannel->GetDefaultAudioType() == DVB_UNKNOWN)) &&
+ ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_NEVER) ||
+ ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_WHEN_SWITCHING) && (m_nCurVideoType == pChannel->GetVideoType())) ||
+ ((m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_ALWAYS) && (s.nDVBLastChannel == nChannelPrefNumber)))) {
hr = SetChannelInternal(pChannel);
} else {
s.nDVBLastChannel = nChannelPrefNumber;
@@ -641,34 +633,33 @@ STDMETHODIMP CFGManagerBDA::SetAudio(int nAudioIndex)
return E_NOTIMPL;
}
-STDMETHODIMP CFGManagerBDA::SetFrequency(ULONG freq)
+STDMETHODIMP CFGManagerBDA::SetFrequency(ULONG ulFrequency, ULONG ulBandwidth)
{
HRESULT hr;
- const CAppSettings& s = AfxGetAppSettings();
- LOG(_T("SetFrequency to %u."), freq);
+ LOG(_T("Frequency %lu, Bandwidth %lu"), ulFrequency, ulBandwidth);
CheckPointer(m_pBDAControl, E_FAIL);
CheckPointer(m_pBDAFreq, E_FAIL);
CheckAndLogBDA(m_pBDAControl->StartChanges(), _T(" SetFrequency StartChanges"));
CheckAndLogBDANoRet(m_pBDAFreq->put_FrequencyMultiplier(1000), _T(" SetFrequency put_FrequencyMultiplier"));
- CheckAndLogBDANoRet(m_pBDAFreq->put_Bandwidth(s.iBDABandwidth), _T(" SetFrequency put_Bandwidth"));
- CheckAndLogBDA(m_pBDAFreq->put_Frequency(freq), _T(" SetFrequency put_Frequency"));
+ CheckAndLogBDANoRet(m_pBDAFreq->put_Bandwidth(ulBandwidth / 1000), _T(" SetFrequency put_Bandwidth"));
+ CheckAndLogBDA(m_pBDAFreq->put_Frequency(ulFrequency), _T(" SetFrequency put_Frequency"));
CheckAndLogBDA(m_pBDAControl->CheckChanges(), _T(" SetFrequency CheckChanges"));
CheckAndLogBDA(m_pBDAControl->CommitChanges(), _T(" SetFrequency CommitChanges"));
int i = 50;
ULONG pState = BDA_CHANGES_PENDING;
while (SUCCEEDED(hr = m_pBDAControl->GetChangeState(&pState)) && pState == BDA_CHANGES_PENDING && i-- > 0) {
- LOG(_T("SetFrequency changes pending, waiting for tuner..."));
+ LOG(_T("changes pending, waiting for tuner..."));
Sleep(50);
}
if (SUCCEEDED(hr)) {
if (pState == BDA_CHANGES_PENDING) {
- LOG(_T("SetFrequency changes pending (timeout error----)"));
+ LOG(_T("changes pending (timeout error----)"));
hr = VFW_E_TIMEOUT;
} else {
- LOG(_T("Frequency set to %u."), freq);
+ LOG(_T("Frequency changed: %lu / %lu."), ulFrequency, ulBandwidth);
#ifdef _DEBUG
BOOLEAN bPresent;
BOOLEAN bLocked;
@@ -719,18 +710,18 @@ HRESULT CFGManagerBDA::ClearMaps()
return hr;
}
-STDMETHODIMP CFGManagerBDA::Scan(ULONG ulFrequency, HWND hWnd)
+STDMETHODIMP CFGManagerBDA::Scan(ULONG ulFrequency, ULONG ulBandwidth, HWND hWnd)
{
HRESULT hr = S_OK;
- if (ulFrequency == 0) {
+ if (ulFrequency == 0 || ulBandwidth == 0) {
ClearMaps();
} else {
CMpeg2DataParser Parser(m_DVBStreams[DVB_PSI].GetFilter());
LOG(_T("Scanning frequency %u.........."), ulFrequency);
- if (FAILED(hr = Parser.ParseSDT(ulFrequency))) {
+ if (FAILED(hr = Parser.ParseSDT(ulFrequency, ulBandwidth))) {
LOG(_T("ParseSDT failed. Result: 0x%08x."), hr);
} else if (FAILED(hr = Parser.ParsePAT())) {
LOG(_T("ParsePAT failed. Result: 0x%08x."), hr);
@@ -921,7 +912,7 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
if (!pStreamInfo->sLanguage.IsEmpty() && pStreamInfo->GetLCID() == 0) {
// Try to convert language code even if LCID was not found.
- str += _T(" [") + ISO6392ToLanguage(CStringA(pStreamInfo->sLanguage)) + _T("]");
+ str += _T(" [") + ISOLang::ISO6392ToLanguage(CStringA(pStreamInfo->sLanguage)) + _T("]");
}
*ppszName = (WCHAR*)CoTaskMemAlloc((str.GetLength() + 1) * sizeof(WCHAR));
@@ -1123,7 +1114,7 @@ HRESULT CFGManagerBDA::SetChannelInternal(CDVBChannel* pChannel)
CheckNoLog(ChangeState(State_Running));
}
- CheckNoLog(SetFrequency(pChannel->GetFrequency()));
+ CheckNoLog(SetFrequency(pChannel->GetFrequency(), pChannel->GetBandwidth()));
CheckNoLog(Flush(pChannel->GetVideoType(), pChannel->GetDefaultAudioType()));
diff --git a/src/mpc-hc/FGManagerBDA.h b/src/mpc-hc/FGManagerBDA.h
index aeb46c5da..234e10286 100644
--- a/src/mpc-hc/FGManagerBDA.h
+++ b/src/mpc-hc/FGManagerBDA.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,11 +20,12 @@
#pragma once
-#include <bdatypes.h>
-#include <bdamedia.h>
-#include <bdaiface.h>
#include "FGManager.h"
+#include "DVBChannel.h"
+#include <bdaiface.h>
+enum DVB_RebuildFilterGraph;
+typedef struct tagVIDEOINFOHEADER2 VIDEOINFOHEADER2;
class CDVBStream
{
@@ -120,8 +121,8 @@ public:
// IBDATuner
STDMETHODIMP SetChannel(int nChannelPrefNumber);
STDMETHODIMP SetAudio(int nAudioIndex);
- STDMETHODIMP SetFrequency(ULONG freq);
- STDMETHODIMP Scan(ULONG ulFrequency, HWND hWnd);
+ STDMETHODIMP SetFrequency(ULONG ulFrequency, ULONG ulBandwidth);
+ STDMETHODIMP Scan(ULONG ulFrequency, ULONG ulBandwidth, HWND hWnd);
STDMETHODIMP GetStats(BOOLEAN& bPresent, BOOLEAN& bLocked, LONG& lDbStrength, LONG& lPercentQuality);
// IAMStreamSelect
diff --git a/src/mpc-hc/FakeFilterMapper2.cpp b/src/mpc-hc/FakeFilterMapper2.cpp
index 3acc7a1f1..b308dbc0a 100644
--- a/src/mpc-hc/FakeFilterMapper2.cpp
+++ b/src/mpc-hc/FakeFilterMapper2.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,7 +24,6 @@
#include "MacrovisionKicker.h"
#include "DSUtil.h"
-#include <InitGuid.h>
#include "MhookHelper.h"
diff --git a/src/mpc-hc/FavoriteAddDlg.cpp b/src/mpc-hc/FavoriteAddDlg.cpp
index 96e91321e..3842aaefb 100644
--- a/src/mpc-hc/FavoriteAddDlg.cpp
+++ b/src/mpc-hc/FavoriteAddDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,6 +23,7 @@
#include "mplayerc.h"
#include "FavoriteAddDlg.h"
#include "SettingsDefines.h"
+#include "AppSettings.h"
// CFavoriteAddDlg dialog
diff --git a/src/mpc-hc/FavoriteOrganizeDlg.cpp b/src/mpc-hc/FavoriteOrganizeDlg.cpp
index 65abb618c..8ebfe4b14 100644
--- a/src/mpc-hc/FavoriteOrganizeDlg.cpp
+++ b/src/mpc-hc/FavoriteOrganizeDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,11 +20,10 @@
*/
#include "stdafx.h"
-#include <strsafe.h>
+#include "FavoriteOrganizeDlg.h"
#include "mplayerc.h"
#include "MainFrm.h"
-#include "FavoriteOrganizeDlg.h"
-
+#include <strsafe.h>
// CFavoriteOrganizeDlg dialog
diff --git a/src/mpc-hc/FileAssoc.cpp b/src/mpc-hc/FileAssoc.cpp
index c33f237d7..8a8215830 100644
--- a/src/mpc-hc/FileAssoc.cpp
+++ b/src/mpc-hc/FileAssoc.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -137,7 +137,7 @@ bool CFileAssoc::RegisterApp()
bool success = false;
if (m_pAAR) {
- CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
+ CString appIcon = _T("\"") + PathUtils::GetProgramPath(true) + _T("\",0");
// Register MPC-HC for the windows "Default application" manager
CRegKey key;
@@ -191,7 +191,7 @@ bool CFileAssoc::Register(CString ext, CString strLabel, bool bRegister, bool bR
key.DeleteValue(_T("NoRecentDocs"));
}
- CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
+ CString appIcon = _T("\"") + PathUtils::GetProgramPath(true) + _T("\",0");
// Add to playlist option
if (bRegisterContextMenuEntries) {
@@ -281,11 +281,10 @@ bool CFileAssoc::SetFileAssociation(CString strExt, CString strProgID, bool bReg
return false;
}
- LPTSTR pszCurrentAssociation;
+ CComHeapPtr<WCHAR> pszCurrentAssociation;
// Save the application currently associated
if (SUCCEEDED(m_pAAR->QueryCurrentDefault(strExt, AT_FILEEXTENSION, AL_EFFECTIVE, &pszCurrentAssociation))) {
if (ERROR_SUCCESS != key.Create(HKEY_CLASSES_ROOT, strProgID)) {
- CoTaskMemFree(pszCurrentAssociation);
return false;
}
@@ -304,7 +303,6 @@ bool CFileAssoc::SetFileAssociation(CString strExt, CString strProgID, bool bReg
}
}
*/
- CoTaskMemFree(pszCurrentAssociation);
}
strNewApp = m_strRegisteredAppName;
} else {
@@ -436,7 +434,7 @@ bool CFileAssoc::AreRegisteredFileContextMenuEntries(CString strExt) const
bool registered = false;
if (ERROR_SUCCESS == key.Open(HKEY_CLASSES_ROOT, strProgID + _T("\\shell\\open"), KEY_READ)) {
- CString strCommand = ResStr(IDS_OPEN_WITH_MPC);
+ CString strCommand(StrRes(IDS_OPEN_WITH_MPC));
if (ERROR_SUCCESS == key.QueryStringValue(nullptr, buff, &len)) {
registered = (strCommand.CompareNoCase(CString(buff)) == 0);
}
@@ -526,7 +524,7 @@ bool CFileAssoc::RegisterFolderContextMenuEntries(bool bRegister)
if (bRegister) {
success = false;
- CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
+ CString appIcon = _T("\"") + PathUtils::GetProgramPath(true) + _T("\",0");
if (ERROR_SUCCESS == key.Create(HKEY_CLASSES_ROOT, _T("Directory\\shell\\") PROGID _T(".enqueue"))) {
key.SetStringValue(nullptr, ResStr(IDS_ADD_TO_PLAYLIST));
@@ -614,7 +612,7 @@ bool CFileAssoc::RegisterAutoPlay(autoplay_t ap, bool bRegister)
_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\AutoplayHandlers\\EventHandlers\\Play") + m_handlers[i].verb + _T("OnArrival"))) {
return false;
}
- key.SetStringValue(CString("MPCPlay") + m_handlers[i].verb + _T("OnArrival"), _T(""));
+ key.SetStringValue(_T("MPCPlay") + m_handlers[i].verb + _T("OnArrival"), _T(""));
key.Close();
} else {
if (ERROR_SUCCESS != key.Create(HKEY_LOCAL_MACHINE,
@@ -746,7 +744,7 @@ bool CFileAssoc::ReAssocIcons(const CAtlList<CString>& exts)
/* no icon was found for the file extension, so use MPC-HC's icon */
if (appIcon.IsEmpty()) {
- appIcon = "\"" + progPath + "\",0";
+ appIcon = _T("\"") + progPath + _T("\",0");
}
if (ERROR_SUCCESS != key.Create(HKEY_CLASSES_ROOT, strProgID + _T("\\DefaultIcon"))
@@ -775,11 +773,11 @@ void CFileAssoc::CheckIconsAssocThread()
if (auto iconLib = GetIconLib()) {
UINT nCurrentVersion = iconLib->GetVersion();
- iconLib->SaveVersion(); // Ensure we don't try to fix the icons more than once
CAtlList<CString> registeredExts;
if (nCurrentVersion != nLastVersion && GetAssociatedExtensionsFromRegistry(registeredExts)) {
+ iconLib->SaveVersion();
if (SysVersion::IsVistaOrLater() && !IsUserAnAdmin()) {
TASKDIALOGCONFIG config;
ZeroMemory(&config, sizeof(TASKDIALOGCONFIG));
@@ -818,7 +816,7 @@ void CFileAssoc::CheckIconsAssocThread()
}
}
- m_checkIconsAssocInactiveEvent.SetEvent();
+ m_checkIconsAssocInactiveEvent.Set();
}
void CFileAssoc::CheckIconsAssoc()
@@ -827,7 +825,7 @@ void CFileAssoc::CheckIconsAssoc()
HANDLE hEvent = m_checkIconsAssocInactiveEvent;
DWORD dwEvent;
VERIFY(CoWaitForMultipleHandles(0, INFINITE, 1, &hEvent, &dwEvent) == S_OK);
- m_checkIconsAssocInactiveEvent.ResetEvent();
+ m_checkIconsAssocInactiveEvent.Reset();
std::thread(
[this] { CheckIconsAssocThread(); }
).detach();
diff --git a/src/mpc-hc/FileAssoc.h b/src/mpc-hc/FileAssoc.h
index aaaf7c287..2598b40a9 100644
--- a/src/mpc-hc/FileAssoc.h
+++ b/src/mpc-hc/FileAssoc.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,9 +21,8 @@
#pragma once
-#include <afxmt.h>
-#include <afxwin.h>
#include "MediaFormats.h"
+#include <atlsync.h>
#include <array>
#include <memory>
diff --git a/src/mpc-hc/FreeviewEPGDecode.cpp b/src/mpc-hc/FreeviewEPGDecode.cpp
index c6ad4f502..2dd4d5a7f 100644
--- a/src/mpc-hc/FreeviewEPGDecode.cpp
+++ b/src/mpc-hc/FreeviewEPGDecode.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2006-2008 Team MediaPortal http://www.team-mediaportal.com
- * (C) 2013, 2015 see Authors.txt
+ * (C) 2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -739,7 +739,7 @@ CString DecodeFreeviewEPG(const BYTE* pBuffer, size_t uLength)
prevc = nextc;
} while (nextc != STOP);
} else {
- Logger<LogTargets::BDA>::LOG(_T("DecodeFreeviewEPG: unsupported huffman table version %d, only version 1 and 2 are supported\n"), pBuffer[0]);
+ BDA_LOG(_T("unsupported huffman table version %d, only version 1 and 2 are supported"), pBuffer[0]);
}
return uncompressedString;
diff --git a/src/mpc-hc/GoToDlg.cpp b/src/mpc-hc/GoToDlg.cpp
index 7d7b88f9b..0cb43216e 100644
--- a/src/mpc-hc/GoToDlg.cpp
+++ b/src/mpc-hc/GoToDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,7 +23,7 @@
#include "mplayerc.h"
#include "GoToDlg.h"
#include "SettingsDefines.h"
-#include <math.h>
+#include <cmath>
// CGoToDlg dialog
diff --git a/src/mpc-hc/GraphThread.cpp b/src/mpc-hc/GraphThread.cpp
index 61b4a40ec..69d8a8d36 100644
--- a/src/mpc-hc/GraphThread.cpp
+++ b/src/mpc-hc/GraphThread.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include "MainFrm.h"
#include "GraphThread.h"
+#include <afxsock.h>
IMPLEMENT_DYNCREATE(CGraphThread, CWinThread)
@@ -54,7 +55,7 @@ void CGraphThread::OnClose(WPARAM wParam, LPARAM lParam)
if (m_pMainFrame->GetLoadState() == MLS::CLOSING) {
m_pMainFrame->CloseMediaPrivate();
}
- VERIFY(m_pMainFrame->m_evClosePrivateFinished.SetEvent());
+ VERIFY(m_pMainFrame->m_evClosePrivateFinished.Set());
}
void CGraphThread::OnDisplayChange(WPARAM wParam, LPARAM lParam)
@@ -84,7 +85,7 @@ void CGraphThread::OnOpen(WPARAM wParam, LPARAM lParam)
CAutoPtr<OpenMediaData> pOMD((OpenMediaData*)lParam);
m_pMainFrame->OpenMediaPrivate(pOMD);
}
- VERIFY(m_pMainFrame->m_evOpenPrivateFinished.SetEvent());
+ VERIFY(m_pMainFrame->m_evOpenPrivateFinished.Set());
}
void CGraphThread::OnReset(WPARAM wParam, LPARAM lParam)
diff --git a/src/mpc-hc/IGraphBuilder2.h b/src/mpc-hc/IGraphBuilder2.h
index 0825c98b9..f2aedfdd8 100644
--- a/src/mpc-hc/IGraphBuilder2.h
+++ b/src/mpc-hc/IGraphBuilder2.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,8 @@
#pragma once
+class CMediaType;
+
interface __declspec(uuid("165BE9D6-0929-4363-9BA3-580D735AA0F6"))
IGraphBuilder2 :
public IFilterGraph2 {
@@ -49,8 +51,8 @@ IBDATuner :
public IUnknown {
STDMETHOD(SetChannel)(int nChannelPrefNumber) PURE;
STDMETHOD(SetAudio)(int nAudioIndex) PURE;
- STDMETHOD(SetFrequency)(ULONG ulFrequency) PURE;
- STDMETHOD(Scan)(ULONG ulFrequency, HWND hWnd) PURE;
+ STDMETHOD(SetFrequency)(ULONG ulFrequency, ULONG ulBandwidth) PURE;
+ STDMETHOD(Scan)(ULONG ulFrequency, ULONG ulBandwidth, HWND hWnd) PURE;
STDMETHOD(GetStats)(BOOLEAN & bPresent, BOOLEAN & bLocked, LONG & lDbStrength, LONG & lPercentQuality) PURE;
STDMETHOD(UpdatePSI)(const class CDVBChannel * pChannel, struct EventDescriptor & NowNext) PURE;
};
diff --git a/src/mpc-hc/ISDb.cpp b/src/mpc-hc/ISDb.cpp
deleted file mode 100644
index b8bb731f3..000000000
--- a/src/mpc-hc/ISDb.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include <atlpath.h>
-#include "ISDb.h"
-#include "mplayerc.h"
-
-#define PROBE_SIZE (64 * 1024)
-
-namespace ISDb
-{
- bool mpc_filehash(IFileSourceFilter* pFSF, filehash& fh)
- {
- CComQIPtr<IAsyncReader> pAR;
- if (CComQIPtr<IBaseFilter> pBF = pFSF) {
- BeginEnumPins(pBF, pEP, pPin)
- if (pAR = pPin) {
- break;
- }
- EndEnumPins;
- }
-
- if (!pAR || !pFSF) {
- return false;
- }
-
- CComHeapPtr<OLECHAR> name;
- if (FAILED(pFSF->GetCurFile(&name, nullptr))) {
- return false;
- }
- fh.name = name;
-
- LONGLONG size, available;
- if (pAR->Length(&size, &available) != S_OK) { // Don't accept estimates
- return false;
- }
- fh.size = size;
-
- fh.mpc_filehash = fh.size;
- LONGLONG position = 0;
- for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && SUCCEEDED(pAR->SyncRead(position, sizeof(tmp), (BYTE*)&tmp)); fh.mpc_filehash += tmp, position += sizeof(tmp), i++) {
- ;
- }
- position = std::max(0ll, (INT64)fh.size - PROBE_SIZE);
- for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && SUCCEEDED(pAR->SyncRead(position, sizeof(tmp), (BYTE*)&tmp)); fh.mpc_filehash += tmp, position += sizeof(tmp), i++) {
- ;
- }
-
- return true;
- }
-
- bool mpc_filehash(LPCTSTR fn, filehash& fh)
- {
- CFile f;
- CFileException fe;
- if (!f.Open(fn, CFile::modeRead | CFile::osSequentialScan | CFile::shareDenyNone, &fe)) {
- return false;
- }
-
- CPath p(fn);
- p.StripPath();
- fh.name = (LPCTSTR)p;
-
- fh.size = f.GetLength();
-
- fh.mpc_filehash = fh.size;
- for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && f.Read(&tmp, sizeof(tmp)); fh.mpc_filehash += tmp, i++) {
- ;
- }
- f.Seek(std::max(0ll, (INT64)fh.size - PROBE_SIZE), CFile::begin);
- for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && f.Read(&tmp, sizeof(tmp)); fh.mpc_filehash += tmp, i++) {
- ;
- }
-
- return true;
- }
-
- void mpc_filehash(CPlaylist& pl, CList<filehash>& fhs)
- {
- fhs.RemoveAll();
-
- POSITION pos = pl.GetHeadPosition();
- while (pos) {
- CString fn = pl.GetNext(pos).m_fns.GetHead();
- if (AfxGetAppSettings().m_Formats.FindExt(CPath(fn).GetExtension().MakeLower(), true)) {
- continue;
- }
-
- filehash fh;
- if (!mpc_filehash(fn, fh)) {
- continue;
- }
-
- fhs.AddTail(fh);
- }
- }
-
- CStringA makeargs(CPlaylist& pl)
- {
- CList<filehash> fhs;
- mpc_filehash(pl, fhs);
-
- CAtlList<CStringA> args;
-
- POSITION pos = fhs.GetHeadPosition();
- for (int i = 0; pos; i++) {
- filehash& fh = fhs.GetNext(pos);
-
- CStringA str;
- str.Format("name[%d]=%s&size[%d]=%016I64x&hash[%d]=%016I64x",
- i, UrlEncode(CStringA(fh.name)),
- i, fh.size,
- i, fh.mpc_filehash);
-
- args.AddTail(str);
- }
-
- return Implode(args, '&');
- }
-}
diff --git a/src/mpc-hc/ISDb.h b/src/mpc-hc/ISDb.h
deleted file mode 100644
index 4c31566a7..000000000
--- a/src/mpc-hc/ISDb.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
- *
- * This file is part of MPC-HC.
- *
- * MPC-HC is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * MPC-HC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include <atlcoll.h>
-#include <afxinet.h>
-#include "Playlist.h"
-
-
-#define ISDb_PROTOCOL_VERSION 1
-
-namespace ISDb
-{
- struct subtitle {
- int id, discs, disc_no;
- CStringA name, format, language, iso639_2, nick, email;
- struct subtitle() {
- reset();
- }
- void reset() {
- id = discs = disc_no = 0;
- format = language = nick = email = "";
- }
- };
-
- struct movie {
- CAtlList<CStringA> titles;
- CAtlList<subtitle> subs;
- void reset() {
- titles.RemoveAll();
- subs.RemoveAll();
- }
- movie& operator = (const struct movie& m) {
- if (this != &m) {
- titles.RemoveAll();
- titles.AddTailList(&m.titles);
- subs.RemoveAll();
- subs.AddTailList(&m.subs);
- }
- return *this;
- }
- };
-
- struct filehash {
- CString name;
- UINT64 size, mpc_filehash;
- };
-
- extern bool mpc_filehash(IFileSourceFilter* pFSF, filehash& fh);
- extern bool mpc_filehash(LPCTSTR fn, filehash& fh);
- extern void mpc_filehash(CPlaylist& pl, CList<filehash>& fhs);
- extern CStringA makeargs(CPlaylist& pl);
-}
diff --git a/src/mpc-hc/Ifo.h b/src/mpc-hc/Ifo.h
index 8d02e5ede..86e63a532 100644
--- a/src/mpc-hc/Ifo.h
+++ b/src/mpc-hc/Ifo.h
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2013 see Authors.txt
+ * (C) 2008-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,7 @@
#pragma once
-#include <stdint.h>
+#include <cstdint>
#pragma pack(push, 1)
diff --git a/src/mpc-hc/ImageGrayer.cpp b/src/mpc-hc/ImageGrayer.cpp
new file mode 100644
index 000000000..67e4074cf
--- /dev/null
+++ b/src/mpc-hc/ImageGrayer.cpp
@@ -0,0 +1,137 @@
+/*
+* (C) 2016 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "stdafx.h"
+#include "ImageGrayer.h"
+
+struct HLS {
+ double H, L, S;
+
+ HLS(const RGBQUAD& rgb) {
+ double R = rgb.rgbRed / 255.0;
+ double G = rgb.rgbGreen / 255.0;
+ double B = rgb.rgbBlue / 255.0;
+ double max = std::max({ R, G, B });
+ double min = std::min({ R, G, B });
+
+ L = (max + min) / 2.0;
+
+ if (max == min) {
+ S = H = 0.0;
+ } else {
+ double d = max - min;
+
+ S = (L < 0.5) ? (d / (max + min)) : (d / (2.0 - max - min));
+
+ if (R == max) {
+ H = (G - B) / d;
+ } else if (G == max) {
+ H = 2.0 + (B - R) / d;
+ } else { // if (B == max)
+ H = 4.0 + (R - G) / d;
+ }
+ H /= 6.0;
+ if (H < 0.0) {
+ H += 1.0;
+ }
+ }
+ }
+
+ RGBQUAD toRGBQUAD() {
+ RGBQUAD rgb;
+ rgb.rgbReserved = 255;
+
+ if (S == 0.0) {
+ rgb.rgbRed = rgb.rgbGreen = rgb.rgbBlue = BYTE(L * 255);
+ } else {
+ auto hue2rgb = [](double p, double q, double h) {
+ if (h < 0.0) {
+ h += 1.0;
+ } else if (h > 1.0) {
+ h -= 1.0;
+ }
+
+ if (h < 1.0 / 6.0) {
+ return p + (q - p) * 6.0 * h;
+ } else if (h < 0.5) {
+ return q;
+ } else if (h < 2.0 / 3.0) {
+ return p + (q - p) * (2.0 / 3.0 - h) * 6.0;
+ }
+ return p;
+ };
+
+ double q = (L < 0.5) ? (L * (1 + S)) : (L + S - L * S);
+ double p = 2 * L - q;
+
+ rgb.rgbRed = BYTE(hue2rgb(p, q, H + 1.0 / 3.0) * 255);
+ rgb.rgbGreen = BYTE(hue2rgb(p, q, H) * 255);
+ rgb.rgbBlue = BYTE(hue2rgb(p, q, H - 1.0 / 3.0) * 255);
+ }
+
+ return rgb;
+ }
+};
+
+bool ImageGrayer::Gray(const CImage& imgSource, CImage& imgDest)
+{
+ // Only support 32-bit image for now
+ if (imgSource.GetBPP() != 32) {
+ return false;
+ }
+
+ imgDest.Destroy();
+ if (!imgDest.Create(imgSource.GetWidth(), imgSource.GetHeight(), imgSource.GetBPP())) {
+ return false;
+ }
+ BOOL bCopied = imgSource.BitBlt(imgDest.GetDC(), 0, 0);
+ imgDest.ReleaseDC();
+ if (!bCopied) {
+ return false;
+ }
+
+ auto adjustBrightness = [](BYTE c, double p) {
+ int cAdjusted;
+ if (c == 0 && p > 1.0) {
+ cAdjusted = std::lround((p - 1.0) * 255);
+ } else {
+ cAdjusted = std::lround(c * p);
+ }
+
+ return BYTE(std::min(cAdjusted, 255));
+ };
+
+ BYTE* bits = static_cast<BYTE*>(imgDest.GetBits());
+ for (int y = 0; y < imgDest.GetHeight(); y++, bits += imgDest.GetPitch()) {
+ RGBQUAD* p = reinterpret_cast<RGBQUAD*>(bits);
+ for (int x = 0; x < imgDest.GetWidth(); x++) {
+ HLS hls(p[x]);
+ hls.S = 0.0; // Make the color gray
+
+ RGBQUAD rgb = hls.toRGBQUAD();
+
+ p[x].rgbRed = BYTE(adjustBrightness(rgb.rgbRed, 1.5) * p[x].rgbReserved / 255);
+ p[x].rgbGreen = BYTE(adjustBrightness(rgb.rgbGreen, 1.5) * p[x].rgbReserved / 255);
+ p[x].rgbBlue = BYTE(adjustBrightness(rgb.rgbBlue, 1.5) * p[x].rgbReserved / 255);
+ }
+ }
+
+ return true;
+}
diff --git a/src/mpc-hc/ImageGrayer.h b/src/mpc-hc/ImageGrayer.h
new file mode 100644
index 000000000..1db116c50
--- /dev/null
+++ b/src/mpc-hc/ImageGrayer.h
@@ -0,0 +1,26 @@
+/*
+* (C) 2016 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#pragma once
+
+namespace ImageGrayer
+{
+ bool Gray(const CImage& imgSource, CImage& imgDest);
+}
diff --git a/src/mpc-hc/LcdSupport.h b/src/mpc-hc/LcdSupport.h
index 1a73fbf76..c66ab2437 100644
--- a/src/mpc-hc/LcdSupport.h
+++ b/src/mpc-hc/LcdSupport.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2012, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,6 @@
#pragma once
-#include <Windows.h>
#include "lglcd/lglcd.h"
#include "LCDUI/LCDUI.h"
diff --git a/src/mpc-hc/Logger.h b/src/mpc-hc/Logger.h
index 3eb09c823..9903b2bf0 100644
--- a/src/mpc-hc/Logger.h
+++ b/src/mpc-hc/Logger.h
@@ -1,5 +1,5 @@
/*
- * (C) 2015 see Authors.txt
+ * (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,72 +20,79 @@
#pragma once
-#include <mutex>
-#include <sys/timeb.h>
-#include "AppSettings.h"
+#include "PathUtils.h"
#include "mplayerc.h"
enum class LogTargets {
- BDA
+ BDA,
+ SUBTITLES
};
-template <LogTargets>
-struct LoggerFile;
+namespace
+{
+ template<LogTargets TARGET>
+ constexpr LPCTSTR GetFileName();
-template<>
-struct LoggerFile<LogTargets::BDA> {
-protected:
- const LPCTSTR filename = _T("bda.log");
- virtual ~LoggerFile() = default;
-};
+ template<>
+ constexpr LPCTSTR GetFileName<LogTargets::BDA>()
+ {
+ return _T("bda.log");
+ }
+
+ template<>
+ constexpr LPCTSTR GetFileName<LogTargets::SUBTITLES>()
+ {
+ return _T("subtitles.log");
+ }
+
+ void WriteToFile(FILE* f, LPCSTR function, LPCSTR file, int line, _In_z_ _Printf_format_string_ LPCTSTR fmt, va_list& args)
+ {
+ SYSTEMTIME local_time;
+ GetLocalTime(&local_time);
+
+ _ftprintf_s(f, _T("%.2hu:%.2hu:%.2hu.%.3hu - %S: "), local_time.wHour, local_time.wMinute,
+ local_time.wSecond, local_time.wMilliseconds, function);
+ _vftprintf_s(f, fmt, args);
+ _ftprintf_s(f, _T(" (%S:%d)\n"), file, line);
+ }
+}
template<LogTargets TARGET>
-class Logger final : public LoggerFile<TARGET>
-{
-public:
- static void LOG(LPCTSTR fmt...) {
+struct Logger final {
+ static void Log(LPCSTR function, LPCSTR file, int line, LPCTSTR fmt...) {
static Logger logger;
+ if (!logger.m_file) {
+ return;
+ }
+
va_list args;
va_start(args, fmt);
- logger.WriteToFile(fmt, args);
+ WriteToFile(logger.m_file, function, file, line, fmt, args);
va_end(args);
- };
+ }
private:
- const bool m_bLogging = AfxGetAppSettings().bEnableLogging;
- std::mutex m_mutex;
-
Logger() {
- // Check if logging is enabled only during initialization
- // to avoid incomplete logs
- ASSERT(AfxGetAppSettings().IsInitialized());
+ const auto& s = AfxGetAppSettings();
+ // Check if logging is enabled only during initialization to avoid incomplete logs
+ ASSERT(s.IsInitialized());
+ CString savePath;
+ VERIFY(AfxGetMyApp()->GetAppSavePath(savePath));
+ m_file = s.bEnableLogging ? _tfsopen(PathUtils::CombinePaths(savePath, GetFileName<TARGET>()), _T("at"), SH_DENYWR) : nullptr;
+ ASSERT(!s.bEnableLogging || m_file);
}
- void WriteToFile(LPCTSTR fmt, va_list& args) {
- if (!m_bLogging) {
- return;
+ ~Logger() {
+ if (m_file) {
+ fclose(m_file);
}
+ }
- TCHAR buff[3000];
- FILE* f;
- _timeb timebuffer;
- TCHAR time1[8];
- TCHAR wbuf[26];
-
- _ftime_s(&timebuffer);
- _tctime_s(wbuf, _countof(wbuf), &timebuffer.time);
-
- for (size_t i = 0; i < _countof(time1); i++) {
- time1[i] = wbuf[i + 11];
- }
+ FILE* m_file;
+};
- _vstprintf_s(buff, _countof(buff), fmt, args);
- std::lock_guard<std::mutex> lock(m_mutex);
- if (_tfopen_s(&f, filename, _T("at")) == 0) {
- _ftprintf_s(f, _T("%.8s.%03hu - %s\n"), time1, timebuffer.millitm, buff);
- fclose(f);
- }
- }
-};
+#define MPCHC_LOG(TARGET, fmt, ...) Logger<LogTargets::TARGET>::Log(__FUNCTION__, __FILE__, __LINE__, fmt, __VA_ARGS__)
+#define BDA_LOG(...) MPCHC_LOG(BDA, __VA_ARGS__)
+#define SUBTITLES_LOG(...) MPCHC_LOG(SUBTITLES, __VA_ARGS__)
diff --git a/src/mpc-hc/MainFrm.cpp b/src/mpc-hc/MainFrm.cpp
index 22fe1f5b8..174b86a7e 100644
--- a/src/mpc-hc/MainFrm.cpp
+++ b/src/mpc-hc/MainFrm.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,99 +20,92 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
#include "MainFrm.h"
+#include "mplayerc.h"
-#include <math.h>
-#include <algorithm>
-#include <set>
-
-#include <afxglobals.h>
-#include <afxpriv.h>
-#include <atlconv.h>
-#include <atlsync.h>
+#include "GraphThread.h"
+#include "FGFilterLAV.h"
+#include "FGManager.h"
+#include "FGManagerBDA.h"
+#include "QuicktimeGraph.h"
+#include "RealMediaGraph.h"
+#include "ShockwaveGraph.h"
+#include "TextPassThruFilter.h"
+#include "FakeFilterMapper2.h"
-#include "mpc-hc_config.h"
-#include "SysVersion.h"
-#include "WinAPIUtils.h"
-#include "PathUtils.h"
-#include "OpenFileDlg.h"
-#include "OpenDlg.h"
-#include "SaveDlg.h"
+#include "FavoriteAddDlg.h"
+#include "FavoriteOrganizeDlg.h"
#include "GoToDlg.h"
-#include "PnSPresetsDlg.h"
#include "MediaTypesDlg.h"
-#include "SaveTextFileDialog.h"
-#include "SaveSubtitlesFileDialog.h"
+#include "OpenFileDlg.h"
+#include "PnSPresetsDlg.h"
+#include "SaveDlg.h"
#include "SaveImageDialog.h"
+#include "SaveSubtitlesFileDialog.h"
#include "SaveThumbnailsDialog.h"
-#include "FavoriteAddDlg.h"
-#include "FavoriteOrganizeDlg.h"
-#include "FullscreenWnd.h"
-#include "TunerScanDlg.h"
#include "OpenDirHelper.h"
-#include "SubtitleDlDlg.h"
-#include "ISDb.h"
-#include "UpdateChecker.h"
-#include "UpdateCheckerDlg.h"
-#include "WinapiFunc.h"
+#include "OpenDlg.h"
+#include "TunerScanDlg.h"
+
+#include "ComPropertySheet.h"
+#include "PPageAccelTbl.h"
+#include "PPageAudioSwitcher.h"
+#include "PPageFileInfoSheet.h"
+#include "PPageSheet.h"
+#include "PPageSubStyle.h"
+#include "PPageSubtitles.h"
+
+#include "CoverArt.h"
#include "CrashReporter.h"
+#include "KeyProvider.h"
+#include "SkypeMoodMsgHandler.h"
#include "Translations.h"
+#include "UpdateChecker.h"
+#include "WebServer.h"
+#include <ISOLang.h>
+#include <PathUtils.h>
#include "../DeCSS/VobFile.h"
+#include "../Subtitles/PGSSub.h"
+#include "../Subtitles/RLECodedSubtitle.h"
+#include "../Subtitles/RTS.h"
+#include "../Subtitles/STS.h"
+#include <SubRenderIntf.h>
-#include "BaseClasses/mtype.h"
-#include <Mpconfig.h>
-#include <ks.h>
-#include <ksmedia.h>
-#include <dvdevcod.h>
-#include <dsound.h>
-
-#include <InitGuid.h>
-#include <uuids.h>
-#include "moreuuids.h"
-#include <qnetwork.h>
-#include <psapi.h>
-
-#include "DSUtil.h"
-#include "text.h"
-#include "FGManager.h"
-#include "FGManagerBDA.h"
-
-#include "TextPassThruFilter.h"
-#include "../filters/Filters.h"
+#include "../filters/InternalPropertyPage.h"
#include "../filters/PinInfoWnd.h"
+#include "../filters/renderer/SyncClock/SyncClock.h"
+#include "../filters/transform/BufferFilter/BufferFilter.h"
+#include "../filters/transform/VSFilter/IDirectVobSub.h"
-#include "AllocatorCommon7.h"
-#include "AllocatorCommon.h"
-#include "SyncAllocatorPresenter.h"
-
-#include "ComPropertySheet.h"
-#include "LcdSupport.h"
-#include "SettingsDefines.h"
+#include <AllocatorCommon.h>
+#include <NullRenderers.h>
+#include <RARFileSource/library/RFS.h>
+#include <SyncAllocatorPresenter.h>
-#include "IPinHook.h"
+#include "FullscreenWnd.h"
+#include "Monitors.h"
-#include <comdef.h>
-#include "MPCPngImage.h"
-#include "DSMPropertyBag.h"
-#include "CoverArt.h"
+#include <WinAPIUtils.h>
+#include <WinapiFunc.h>
+#include <moreuuids.h>
-#include "../Subtitles/RTS.h"
-#include "../Subtitles/STS.h"
-#include "../Subtitles/RLECodedSubtitle.h"
-#include "../Subtitles/PGSSub.h"
+#include <IBitRateInfo.h>
+#include <IChapterInfo.h>
+#include <IPinHook.h>
#include <mvrInterfaces.h>
-#include <SubRenderIntf.h>
+#include <Il21dec.h>
+#include <dvdevcod.h>
+#include <dvdmedia.h>
#include <strsafe.h>
-template<typename T>
-bool NEARLY_EQ(T a, T b, T tol)
-{
- return (abs(a - b) < tol);
-}
+#include <initguid.h>
+#include <qnetwork.h>
+
+// IID_IAMLine21Decoder
+DECLARE_INTERFACE_IID_(IAMLine21Decoder_2, IAMLine21Decoder, "6E8D4A21-310C-11d0-B79A-00AA003767A7") {};
#define MIN_LOGO_WIDTH 304
#define MIN_LOGO_HEIGHT 171
@@ -123,11 +116,6 @@ static UINT s_uTaskbarRestart = RegisterWindowMessage(_T("TaskbarCreated"));
static UINT WM_NOTIFYICON = RegisterWindowMessage(_T("MYWM_NOTIFYICON"));
static UINT s_uTBBC = RegisterWindowMessage(_T("TaskbarButtonCreated"));
-#include "../filters/transform/VSFilter/IDirectVobSub.h"
-
-#include "Monitors.h"
-#include "MultiMonitor.h"
-
#if USE_STATIC_MEDIAINFO
#include "MediaInfo/MediaInfo.h"
using namespace MediaInfoLib;
@@ -262,16 +250,14 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_IMAGE_AUTO, OnUpdateFileSaveImage)
ON_COMMAND(ID_FILE_SAVE_THUMBNAILS, OnFileSaveThumbnails)
ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_THUMBNAILS, OnUpdateFileSaveThumbnails)
- ON_COMMAND(ID_FILE_LOAD_SUBTITLE, OnFileLoadsubtitle)
- ON_UPDATE_COMMAND_UI(ID_FILE_LOAD_SUBTITLE, OnUpdateFileLoadsubtitle)
- ON_COMMAND(ID_FILE_SAVE_SUBTITLE, OnFileSavesubtitle)
- ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_SUBTITLE, OnUpdateFileSavesubtitle)
- ON_COMMAND(ID_FILE_ISDB_SEARCH, OnFileISDBSearch)
- ON_UPDATE_COMMAND_UI(ID_FILE_ISDB_SEARCH, OnUpdateFileISDBSearch)
- ON_COMMAND(ID_FILE_ISDB_UPLOAD, OnFileISDBUpload)
- ON_UPDATE_COMMAND_UI(ID_FILE_ISDB_UPLOAD, OnUpdateFileISDBUpload)
- ON_COMMAND(ID_FILE_ISDB_DOWNLOAD, OnFileISDBDownload)
- ON_UPDATE_COMMAND_UI(ID_FILE_ISDB_DOWNLOAD, OnUpdateFileISDBDownload)
+ ON_COMMAND(ID_FILE_SUBTITLES_LOAD, OnFileSubtitlesLoad)
+ ON_UPDATE_COMMAND_UI(ID_FILE_SUBTITLES_LOAD, OnUpdateFileSubtitlesLoad)
+ ON_COMMAND(ID_FILE_SUBTITLES_SAVE, OnFileSubtitlesSave)
+ ON_UPDATE_COMMAND_UI(ID_FILE_SUBTITLES_SAVE, OnUpdateFileSubtitlesSave)
+ ON_COMMAND(ID_FILE_SUBTITLES_UPLOAD, OnFileSubtitlesUpload)
+ ON_UPDATE_COMMAND_UI(ID_FILE_SUBTITLES_UPLOAD, OnUpdateFileSubtitlesUpload)
+ ON_COMMAND(ID_FILE_SUBTITLES_DOWNLOAD, OnFileSubtitlesDownload)
+ ON_UPDATE_COMMAND_UI(ID_FILE_SUBTITLES_DOWNLOAD, OnUpdateFileSubtitlesDownload)
ON_COMMAND(ID_FILE_PROPERTIES, OnFileProperties)
ON_UPDATE_COMMAND_UI(ID_FILE_PROPERTIES, OnUpdateFileProperties)
ON_COMMAND(ID_FILE_CLOSE_AND_RESTORE, OnFileCloseAndRestore)
@@ -318,8 +304,6 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND_RANGE(ID_VIEW_VF_HALF, ID_VIEW_VF_ZOOM2, OnViewDefaultVideoFrame)
ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_VF_HALF, ID_VIEW_VF_ZOOM2, OnUpdateViewDefaultVideoFrame)
ON_COMMAND(ID_VIEW_VF_SWITCHZOOM, OnViewSwitchVideoFrame)
- ON_COMMAND(ID_VIEW_VF_KEEPASPECTRATIO, OnViewKeepaspectratio)
- ON_UPDATE_COMMAND_UI(ID_VIEW_VF_KEEPASPECTRATIO, OnUpdateViewKeepaspectratio)
ON_COMMAND(ID_VIEW_VF_COMPMONDESKARDIFF, OnViewCompMonDeskARDiff)
ON_UPDATE_COMMAND_UI(ID_VIEW_VF_COMPMONDESKARDIFF, OnUpdateViewCompMonDeskARDiff)
ON_COMMAND_RANGE(ID_VIEW_RESET, ID_PANSCAN_CENTER, OnViewPanNScan)
@@ -477,6 +461,10 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND_RANGE(ID_AFTERPLAYBACK_EXIT, ID_AFTERPLAYBACK_MONITOROFF, OnAfterplayback)
ON_UPDATE_COMMAND_UI_RANGE(ID_AFTERPLAYBACK_PLAYNEXT, ID_AFTERPLAYBACK_DONOTHING, OnUpdateAfterplayback)
ON_COMMAND_RANGE(ID_AFTERPLAYBACK_PLAYNEXT, ID_AFTERPLAYBACK_DONOTHING, OnAfterplayback)
+ ON_COMMAND_RANGE(ID_PLAY_REPEAT_ONEFILE, ID_PLAY_REPEAT_WHOLEPLAYLIST, OnPlayRepeat)
+ ON_UPDATE_COMMAND_UI_RANGE(ID_PLAY_REPEAT_ONEFILE, ID_PLAY_REPEAT_WHOLEPLAYLIST, OnUpdatePlayRepeat)
+ ON_COMMAND(ID_PLAY_REPEAT_FOREVER, OnPlayRepeatForever)
+ ON_UPDATE_COMMAND_UI(ID_PLAY_REPEAT_FOREVER, OnUpdatePlayRepeatForever)
ON_COMMAND_RANGE(ID_NAVIGATE_SKIPBACK, ID_NAVIGATE_SKIPFORWARD, OnNavigateSkip)
ON_UPDATE_COMMAND_UI_RANGE(ID_NAVIGATE_SKIPBACK, ID_NAVIGATE_SKIPFORWARD, OnUpdateNavigateSkip)
@@ -525,6 +513,9 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_UPDATE_COMMAND_UI(ID_VIEW_NAVIGATION, OnUpdateViewNavigation)
ON_WM_WTSSESSION_CHANGE()
+
+ ON_MESSAGE(WM_LOADSUBTITLES, OnLoadSubtitles)
+ ON_MESSAGE(WM_GETSUBTITLES, OnGetSubtitles)
END_MESSAGE_MAP()
#ifdef _DEBUG
@@ -732,7 +723,6 @@ CMainFrame::CMainFrame()
, m_bOpeningInAutochangedMonitorMode(false)
, m_bPausedForAutochangeMonitorMode(false)
, m_fAudioOnly(true)
- , m_LastWindow_HM(nullptr)
, m_iDVDDomain(DVD_DOMAIN_Stop)
, m_iDVDTitle(0)
, m_dSpeedRate(1.0)
@@ -749,6 +739,8 @@ CMainFrame::CMainFrame()
, m_evClosePrivateFinished(FALSE, TRUE)
, m_fOpeningAborted(false)
, m_bWasSnapped(false)
+ , m_wndSubtitlesDownloadDialog(this)
+ , m_wndSubtitlesUploadDialog(this)
, m_bTrayIcon(false)
, m_fCapturing(false)
, m_controls(this)
@@ -758,8 +750,8 @@ CMainFrame::CMainFrame()
, m_wndInfoBar(this)
, m_wndStatsBar(this)
, m_wndStatusBar(this)
- , m_wndPlaylistBar(this)
, m_wndSubresyncBar(this)
+ , m_wndPlaylistBar(this)
, m_wndCaptureBar(this)
, m_wndNavigationBar(this)
, m_pVideoWnd(nullptr)
@@ -829,7 +821,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
}
const WinapiFunc<decltype(ChangeWindowMessageFilterEx)>
- fnChangeWindowMessageFilterEx = { "user32.dll", "ChangeWindowMessageFilterEx" };
+ fnChangeWindowMessageFilterEx = { _T("user32.dll"), "ChangeWindowMessageFilterEx" };
// allow taskbar messages through UIPI
if (fnChangeWindowMessageFilterEx) {
@@ -937,6 +929,10 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_pGraphThread->SetMainFrame(this);
}
+ m_pSubtitlesProviders = std::make_unique<SubtitlesProviders>(this);
+ m_wndSubtitlesDownloadDialog.Create(m_wndSubtitlesDownloadDialog.IDD, this);
+ m_wndSubtitlesUploadDialog.Create(m_wndSubtitlesUploadDialog.IDD, this);
+
if (s.nCmdlnWebServerPort != 0) {
if (s.nCmdlnWebServerPort > 0) {
StartWebServer(s.nCmdlnWebServerPort);
@@ -1034,7 +1030,9 @@ LRESULT CMainFrame::OnNotifyIcon(WPARAM wParam, LPARAM lParam)
switch ((UINT)lParam) {
case WM_LBUTTONDOWN:
- ShowWindow(SW_SHOW);
+ if (IsIconic()) {
+ ShowWindow(SW_RESTORE);
+ }
CreateThumbnailToolbar();
MoveVideoWindow();
SetForegroundWindow();
@@ -1091,9 +1089,9 @@ void CMainFrame::ShowTrayIcon(bool bShow)
if (m_bTrayIcon) {
Shell_NotifyIcon(NIM_DELETE, &nid);
m_bTrayIcon = false;
- if (!IsWindowVisible()) {
+ if (IsIconic()) {
// if the window was minimized to tray - show it
- ShowWindow(SW_SHOW);
+ ShowWindow(SW_RESTORE);
}
}
}
@@ -1345,9 +1343,8 @@ void CMainFrame::OnMoving(UINT fwSide, LPRECT pRect)
CRect areaRect;
CMonitors::GetNearestMonitor(this).GetWorkAreaRect(areaRect);
- if (SysVersion::Is10OrLater()) {
- areaRect.InflateRect(GetInvisibleBorderSize());
- }
+ static const CRect invisibleBorderSize = GetInvisibleBorderSize();
+ areaRect.InflateRect(invisibleBorderSize);
bool bSnapping = false;
@@ -1383,18 +1380,18 @@ void CMainFrame::OnMoving(UINT fwSide, LPRECT pRect)
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
- __super::OnSize(nType, cx, cy);
-
- if (nType == SIZE_RESTORED && m_bTrayIcon) {
- ShowWindow(SW_SHOW);
- }
+ if (m_bTrayIcon && nType == SIZE_MINIMIZED) {
+ ShowWindow(SW_HIDE);
+ } else {
+ __super::OnSize(nType, cx, cy);
- if (!m_fFirstFSAfterLaunchOnFS && IsWindowVisible() && !m_fFullScreen) {
- CAppSettings& s = AfxGetAppSettings();
- if (nType != SIZE_MAXIMIZED && nType != SIZE_MINIMIZED) {
- GetWindowRect(s.rcLastWindowPos);
+ if (!m_fFirstFSAfterLaunchOnFS && IsWindowVisible() && !m_fFullScreen) {
+ CAppSettings& s = AfxGetAppSettings();
+ if (nType != SIZE_MAXIMIZED && nType != SIZE_MINIMIZED) {
+ GetWindowRect(s.rcLastWindowPos);
+ }
+ s.nLastWindowType = nType;
}
- s.nLastWindowType = nType;
}
}
@@ -1575,9 +1572,6 @@ void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
&& (((nID & 0xFFF0) == SC_SCREENSAVE) || ((nID & 0xFFF0) == SC_MONITORPOWER))) {
TRACE(_T("SC_SCREENSAVE, nID = %u, lParam = %d\n"), nID, lParam);
return;
- } else if ((nID & 0xFFF0) == SC_MINIMIZE && m_bTrayIcon) {
- ShowWindow(SW_HIDE);
- return;
}
__super::OnSysCommand(nID, lParam);
@@ -1837,6 +1831,13 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
m_wndSubresyncBar.SetTime(rtNow);
m_wndSubresyncBar.SetFPS(m_pCAP->GetFPS());
}
+
+ // TODO: Update when Auto Upload is finalised
+ //const CAppSettings& s = AfxGetAppSettings();
+ //if (s.bAutoUploadSubtitles && (rtNow / rtDur == 90) && !m_pSubStreams.IsEmpty()
+ // && s.fEnableSubtitles && m_pCAP && m_pCAP->GetSubtitleDelay() == 0) {
+ // m_pSubtitlesProviders->Upload();
+ //}
}
break;
case TIMER_STREAMPOSPOLLER2:
@@ -1867,7 +1868,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
break;
case PM_ANALOG_CAPTURE:
if (!m_fCapturing) {
- CString str = ResStr(IDS_CAPTURE_LIVE);
+ CString str(StrRes(IDS_CAPTURE_LIVE));
long lChannel = 0, lVivSub = 0, lAudSub = 0;
if (m_pAMTuner
&& m_wndCaptureBar.m_capdlg.IsTunerActive()
@@ -1895,7 +1896,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
} else {
info = _T("-");
}
- m_wndStatsBar.SetLine(ResStr(IDS_AG_FRAMERATE), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_FRAMERATE), info);
if (SUCCEEDED(m_pQP->get_AvgSyncOffset(&tmp))
&& SUCCEEDED(m_pQP->get_DevSyncOffset(&tmp1))) {
@@ -1903,7 +1904,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
} else {
info = _T("-");
}
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SYNC_OFFSET), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_SYNC_OFFSET), info);
if (SUCCEEDED(m_pQP->get_FramesDrawn(&tmp))
&& SUCCEEDED(m_pQP->get_FramesDroppedInRenderer(&tmp1))) {
@@ -1911,16 +1912,16 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
} else {
info = _T("-");
}
- m_wndStatsBar.SetLine(ResStr(IDS_AG_FRAMES), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_FRAMES), info);
if (SUCCEEDED(m_pQP->get_Jitter(&tmp))) {
info.Format(_T("%d ms"), tmp);
} else {
info = _T("-");
}
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_JITTER), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_JITTER), info);
} else {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_PLAYBACK_RATE), rate);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_PLAYBACK_RATE), rate);
}
if (m_pBI) {
@@ -1935,7 +1936,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
if (!sInfo.IsEmpty()) {
sInfo.AppendFormat(_T("(p%lu)"), m_pBI->GetPriority());
- m_wndStatsBar.SetLine(ResStr(IDS_AG_BUFFERS), sInfo);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_BUFFERS), sInfo);
}
}
@@ -1957,7 +1958,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
EndEnumPins;
if (!sInfo.IsEmpty()) {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_BITRATE), sInfo + ResStr(IDS_STATSBAR_BITRATE_AVG_CUR));
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_BITRATE), sInfo + ResStr(IDS_STATSBAR_BITRATE_AVG_CUR));
sInfo.Empty();
}
}
@@ -1969,7 +1970,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
// Location
- CString Location('-');
+ CString Location(_T('-'));
DVD_PLAYBACK_LOCATION2 loc;
ULONG ulNumOfVolumes, ulVolume;
@@ -2001,11 +2002,11 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
}
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_LOCATION), Location);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_LOCATION), Location);
// Video
- CString Video('-');
+ CString Video(_T('-'));
DVD_VideoAttributes VATR;
@@ -2017,11 +2018,11 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
VATR.ulAspectX, VATR.ulAspectY);
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_VIDEO), Video);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_VIDEO), Video);
// Audio
- CString Audio('-');
+ CString Audio(_T('-'));
DVD_AudioAttributes AATR;
@@ -2061,7 +2062,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
AATR.dwFrequency,
AATR.bQuantization,
AATR.bNumberOfChannels,
- (AATR.bNumberOfChannels > 1 ? ResStr(IDS_MAINFRM_13) : ResStr(IDS_MAINFRM_12)));
+ ResStr(AATR.bNumberOfChannels > 1 ? IDS_MAINFRM_13 : IDS_MAINFRM_12));
m_wndStatusBar.SetStatusBitmap(
AATR.bNumberOfChannels == 1 ? IDB_AUDIOTYPE_MONO
@@ -2069,11 +2070,11 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
: IDB_AUDIOTYPE_NOAUDIO);
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_AUDIO), Audio);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_AUDIO), Audio);
// Subtitles
- CString Subtitles('-');
+ CString Subtitles(_T('-'));
BOOL bIsDisabled;
DVD_SubpictureAttributes SATR;
@@ -2128,7 +2129,7 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
lang);
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_SUBTITLES), Subtitles);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_SUBTITLES), Subtitles);
} else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
if (m_pDVBState->bActive) {
CComQIPtr<IBDATuner> pTun = m_pGB;
@@ -2137,11 +2138,11 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
CString Signal;
if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
- Signal.Format(ResStr(IDS_STATSBAR_SIGNAL_FORMAT), (int)lDbStrength, lPercentQuality);
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), Signal);
+ Signal.Format(IDS_STATSBAR_SIGNAL_FORMAT, (int)lDbStrength, lPercentQuality);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_SIGNAL), Signal);
}
} else {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), _T("-"));
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_SIGNAL), _T("-"));
}
} else if (GetPlaybackMode() == PM_FILE) {
OpenSetupInfoBar(false);
@@ -2307,15 +2308,22 @@ void CMainFrame::GraphEventComplete()
}
bool bBreak = false;
- if (m_wndPlaylistBar.IsAtEnd()) {
+ if (m_wndPlaylistBar.IsAtEnd() || s.eLoopMode == CAppSettings::LoopMode::FILE) {
++m_nLoops;
bBreak = !!(s.nCLSwitches & CLSW_AFTERPLAYBACK_MASK);
}
+ // TODO: Update when Auto Upload is finalised
+ //if (!m_pSubStreams.IsEmpty() && s.fEnableSubtitles && s.bAutoUploadSubtitles
+ // && m_pCAP && m_pCAP->GetSubtitleDelay() == 0) {
+ // m_pSubtitlesProviders->Upload();
+ //}
+
+
if (s.fLoopForever || m_nLoops < s.nLoops) {
if (bBreak) {
DoAfterPlaybackEvent();
- } else if (m_wndPlaylistBar.GetCount() > 1) {
+ } else if ((m_wndPlaylistBar.GetCount() > 1) && (s.eLoopMode == CAppSettings::LoopMode::PLAYLIST)) {
int nLoops = m_nLoops;
SendMessage(WM_COMMAND, ID_NAVIGATE_SKIPFORWARDFILE);
m_nLoops = nLoops;
@@ -2407,7 +2415,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
if (m_iDVDDomain == DVD_DOMAIN_Title) {
CString Domain;
Domain.Format(IDS_AG_TITLE, m_iDVDTitle);
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DOMAIN), Domain);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_DOMAIN), Domain);
}
SetupDVDChapters();
@@ -2419,7 +2427,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
OpenDVDData* pDVDData = dynamic_cast<OpenDVDData*>(m_lastOMD.m_p);
ASSERT(pDVDData);
- CString Domain('-');
+ CString Domain(_T('-'));
switch (m_iDVDDomain) {
case DVD_DOMAIN_FirstPlay:
@@ -2573,7 +2581,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
break;
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DOMAIN), Domain);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_DOMAIN), Domain);
if (GetPlaybackMode() == PM_FILE) {
SetupChapters();
@@ -2853,7 +2861,7 @@ void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)
}
if (firstSubItemID == ID_VIEW_VF_HALF // is "Video Frame" submenu
|| firstSubItemID == ID_VIEW_INCSIZE // is "Pan&Scan" submenu
- || firstSubItemID == ID_ASPECTRATIO_SOURCE // is "Override Aspect Ratio" submenu
+ || firstSubItemID == ID_ASPECTRATIO_START // is "Override Aspect Ratio" submenu
|| firstSubItemID == ID_VIEW_ZOOM_50) { // is "Zoom" submenu
UINT fState = (GetLoadState() == MLS::LOADED && !m_fAudioOnly)
? MF_ENABLED
@@ -2926,6 +2934,7 @@ void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)
if (nID == ID_SEPARATOR || nID == -1
|| nID >= ID_FAVORITES_FILE_START && nID <= ID_FAVORITES_FILE_END
|| nID >= ID_RECENT_FILE_START && nID <= ID_RECENT_FILE_END
+ || nID >= ID_SUBTITLES_SUBITEM_START && nID <= ID_SUBTITLES_SUBITEM_END
|| nID >= ID_NAVIGATE_JUMPTO_SUBITEM_START && nID <= ID_NAVIGATE_JUMPTO_SUBITEM_END) {
continue;
}
@@ -3081,7 +3090,7 @@ void CMainFrame::OnMenuFilters()
void CMainFrame::OnUpdatePlayerStatus(CCmdUI* pCmdUI)
{
if (GetLoadState() == MLS::LOADING) {
- m_wndStatusBar.SetStatusMessage(ResStr(IDS_CONTROLS_OPENING));
+ m_wndStatusBar.SetStatusMessage(StrRes(IDS_CONTROLS_OPENING));
if (AfxGetAppSettings().bUseEnhancedTaskBar && m_pTaskbarList) {
m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
}
@@ -3185,16 +3194,16 @@ void CMainFrame::OnUpdatePlayerStatus(CCmdUI* pCmdUI)
OAFilterState fs = GetMediaState();
CString UI_Text =
!msg.IsEmpty() ? msg :
- fs == State_Stopped ? ResStr(IDS_CONTROLS_STOPPED) :
- (fs == State_Paused || m_fFrameSteppingActive) ? ResStr(IDS_CONTROLS_PAUSED) :
- fs == State_Running ? ResStr(IDS_CONTROLS_PLAYING) :
+ fs == State_Stopped ? StrRes(IDS_CONTROLS_STOPPED) :
+ (fs == State_Paused || m_fFrameSteppingActive) ? StrRes(IDS_CONTROLS_PAUSED) :
+ fs == State_Running ? StrRes(IDS_CONTROLS_PLAYING) :
_T("");
if (m_bUsingDXVA && (UI_Text == ResStr(IDS_CONTROLS_PAUSED) || UI_Text == ResStr(IDS_CONTROLS_PLAYING))) {
UI_Text.AppendFormat(_T(" %s"), ResStr(IDS_HW_INDICATOR));
}
m_wndStatusBar.SetStatusMessage(UI_Text);
} else if (GetLoadState() == MLS::CLOSING) {
- m_wndStatusBar.SetStatusMessage(ResStr(IDS_CONTROLS_CLOSING));
+ m_wndStatusBar.SetStatusMessage(StrRes(IDS_CONTROLS_CLOSING));
if (AfxGetAppSettings().bUseEnhancedTaskBar && m_pTaskbarList) {
m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
}
@@ -3623,7 +3632,7 @@ void CMainFrame::OnDvdAudio(UINT nID)
}
CString format = GetDVDAudioFormatName(AATR);
- CString str("");
+ CString str;
if (!format.IsEmpty()) {
str.Format(IDS_MAINFRM_11,
@@ -3632,7 +3641,7 @@ void CMainFrame::OnDvdAudio(UINT nID)
AATR.dwFrequency,
AATR.bQuantization,
AATR.bNumberOfChannels,
- (AATR.bNumberOfChannels > 1 ? ResStr(IDS_MAINFRM_13) : ResStr(IDS_MAINFRM_12)));
+ ResStr(AATR.bNumberOfChannels > 1 ? IDS_MAINFRM_13 : IDS_MAINFRM_12));
str += FAILED(hr) ? _T(" [") + ResStr(IDS_AG_ERROR) + _T("] ") : _T("");
strMessage.Format(IDS_AUDIO_STREAM, str);
m_OSD.DisplayMessage(OSD_TOPLEFT, strMessage);
@@ -3746,7 +3755,9 @@ void CMainFrame::OnFileOpenQuick()
SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
- ShowWindow(SW_SHOW);
+ if (IsIconic()) {
+ ShowWindow(SW_RESTORE);
+ }
SetForegroundWindow();
if (fns.GetCount() == 1) {
@@ -3779,7 +3790,9 @@ void CMainFrame::OnFileOpenmedia()
SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
- ShowWindow(SW_SHOW);
+ if (IsIconic()) {
+ ShowWindow(SW_RESTORE);
+ }
SetForegroundWindow();
CAtlList<CString> filenames;
@@ -4025,7 +4038,7 @@ void CMainFrame::OnFileOpendvd()
}
CAppSettings& s = AfxGetAppSettings();
- CString strTitle = ResStr(IDS_MAINFRM_46);
+ CString strTitle(StrRes(IDS_MAINFRM_46));
CString path;
if (s.fUseDVDPath && !s.strDVDPath.IsEmpty()) {
@@ -4073,7 +4086,7 @@ void CMainFrame::OnFileOpendvd()
p->path = path;
p->path.Replace(_T('/'), _T('\\'));
if (p->path[p->path.GetLength() - 1] != '\\') {
- p->path += '\\';
+ p->path += _T('\\');
}
OpenMedia(p);
@@ -4092,7 +4105,9 @@ void CMainFrame::OnFileOpendevice()
SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
SetForegroundWindow();
- ShowWindow(SW_SHOW);
+ if (IsIconic()) {
+ ShowWindow(SW_RESTORE);
+ }
m_wndPlaylistBar.Empty();
@@ -4127,7 +4142,9 @@ void CMainFrame::OnFileOpenOpticalDisk(UINT nID)
SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
SetForegroundWindow();
- ShowWindow(SW_SHOW);
+ if (IsIconic()) {
+ ShowWindow(SW_RESTORE);
+ }
m_wndPlaylistBar.Open(sl, true);
OpenCurPlaylistItem();
@@ -4516,8 +4533,12 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn)
return;
}
- m_pMC->Pause();
- GetMediaState(); // wait for completion of the pause command
+ OAFilterState filterState = GetMediaState();
+ bool bWasStopped = (filterState == State_Stopped);
+ if (filterState != State_Paused) {
+ OnPlayPause();
+ GetMediaState(); // wait for completion of the pause command
+ }
CSize szVideoARCorrected, szVideo, szAR;
@@ -4611,6 +4632,7 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn)
DVD_HMSF_TIMECODE hmsf = RT2HMS_r(rt);
SeekTo(rt);
+ UpdateWindow();
m_nVolumeBeforeFrameStepping = m_wndToolBar.Volume;
m_pBA->put_Volume(-10000);
@@ -4655,10 +4677,10 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn)
CStringW str;
str.Format(L"{\\an7\\1c&Hffffff&\\4a&Hb0&\\bord1\\shad4\\be1}{\\p1}m %d %d l %d %d %d %d %d %d{\\p}",
r.left, r.top, r.right, r.top, r.right, r.bottom, r.left, r.bottom);
- rts.Add(str, true, 0, 1, _T("thumbs")); // Thumbnail background
+ rts.Add(str, true, MS2RT(0), MS2RT(1), _T("thumbs")); // Thumbnail background
str.Format(L"{\\an3\\1c&Hffffff&\\3c&H000000&\\alpha&H80&\\fs16\\b1\\bord2\\shad0\\pos(%d,%d)}%02u:%02u:%02u",
r.right - 5, r.bottom - 3, hmsf.bHours, hmsf.bMinutes, hmsf.bSeconds);
- rts.Add(str, true, 1, 2, _T("thumbs")); // Thumbnail time
+ rts.Add(str, true, MS2RT(1), MS2RT(2), _T("thumbs")); // Thumbnail time
rts.Render(spd, 0, 25, bbox); // Draw the thumbnail background
@@ -4776,7 +4798,11 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn)
SaveDIB(fn, (BYTE*)dib, dibsize);
- SeekTo(rtPos);
+ if (bWasStopped) {
+ OnPlayStop();
+ } else {
+ SeekTo(rtPos);
+ }
m_OSD.DisplayMessage(OSD_TOPLEFT, ResStr(IDS_OSD_THUMBS_SAVED), 3000);
}
@@ -4899,6 +4925,13 @@ void CMainFrame::OnFileSaveImageAuto()
{
const CAppSettings& s = AfxGetAppSettings();
+ // If path doesn't exist, Save Image instead
+ if (!PathUtils::IsDir(s.strSnapshotPath)) {
+ AfxMessageBox(IDS_SCREENSHOT_ERROR, MB_ICONWARNING | MB_OK, 0);
+ OnFileSaveImage();
+ return;
+ }
+
/* Check if a compatible renderer is being used */
if (!IsRendererCompatibleWithSaveImage()) {
return;
@@ -4995,7 +5028,7 @@ void CMainFrame::OnUpdateFileSaveThumbnails(CCmdUI* pCmdUI)
pCmdUI->Enable(GetLoadState() == MLS::LOADED && !m_fAudioOnly && (GetPlaybackMode() == PM_FILE /*|| GetPlaybackMode() == PM_DVD*/));
}
-void CMainFrame::OnFileLoadsubtitle()
+void CMainFrame::OnFileSubtitlesLoad()
{
if (!m_pCAP) {
AfxMessageBox(IDS_CANNOT_LOAD_SUB, MB_ICONINFORMATION | MB_OK, 0);
@@ -5007,7 +5040,7 @@ void CMainFrame::OnFileLoadsubtitle()
dwFlags |= OFN_DONTADDTORECENT;
}
CString filters;
- filters.Format(_T("%s|*.srt;*.sub;*.ssa;*.ass;*smi;*.psb;*.txt;*.idx;*.usf;*.xss;*.rt;*.sup|%s"),
+ filters.Format(_T("%s|*.srt;*.sub;*.ssa;*.ass;*.smi;*.psb;*.txt;*.idx;*.usf;*.xss;*.rt;*.sup|%s"),
ResStr(IDS_SUBTITLE_FILES_FILTER), ResStr(IDS_ALL_FILES_FILTER));
CFileDialog fd(TRUE, nullptr, nullptr, dwFlags, filters, GetModalParent());
@@ -5040,12 +5073,12 @@ void CMainFrame::OnFileLoadsubtitle()
}
}
-void CMainFrame::OnUpdateFileLoadsubtitle(CCmdUI* pCmdUI)
+void CMainFrame::OnUpdateFileSubtitlesLoad(CCmdUI* pCmdUI)
{
pCmdUI->Enable(GetLoadState() == MLS::LOADED && !IsPlaybackCaptureMode() && !m_fAudioOnly && m_pCAP);
}
-void CMainFrame::OnFileSavesubtitle()
+void CMainFrame::OnFileSubtitlesSave()
{
int i = 0;
SubtitleInput* pSubInput = GetSubtitleInput(i, true);
@@ -5101,6 +5134,17 @@ void CMainFrame::OnFileSavesubtitle()
CAppSettings& s = AfxGetAppSettings();
+ if (pRTS->m_lcid && pRTS->m_lcid != LCID(-1)) {
+ CString str;
+ int len = GetLocaleInfo(pRTS->m_lcid, LOCALE_SISO639LANGNAME, str.GetBuffer(64), 64);
+ str.ReleaseBufferSetLength(std::max(len - 1, 0));
+ suggestedFileName += _T('.') + str;
+
+ if (pRTS->m_eHearingImpaired == Subtitle::HI_YES) {
+ suggestedFileName += _T(".hi");
+ }
+ }
+
// same thing as in the case of CVobSubFile above for lpszDefExt
CSaveSubtitlesFileDialog fd(pRTS->m_encoding, m_pCAP->GetSubtitleDelay(), s.bSubSaveExternalStyleFile,
_T("srt"), suggestedFileName, filter, types, GetModalParent());
@@ -5110,11 +5154,13 @@ void CMainFrame::OnFileSavesubtitle()
s.bSubSaveExternalStyleFile = fd.GetSaveExternalStyleFile();
pRTS->SaveAs(fd.GetPathName(), types[fd.m_ofn.nFilterIndex - 1], m_pCAP->GetFPS(), fd.GetDelay(), fd.GetEncoding(), fd.GetSaveExternalStyleFile());
}
+ } else {
+ AfxMessageBox(_T("This operation is not supported.\r\nThe selected subtitles cannot be saved."), MB_ICONEXCLAMATION | MB_OK);
}
}
}
-void CMainFrame::OnUpdateFileSavesubtitle(CCmdUI* pCmdUI)
+void CMainFrame::OnUpdateFileSubtitlesSave(CCmdUI* pCmdUI)
{
bool bEnable = false;
@@ -5129,57 +5175,23 @@ void CMainFrame::OnUpdateFileSavesubtitle(CCmdUI* pCmdUI)
pCmdUI->Enable(bEnable);
}
-void CMainFrame::OnFileISDBSearch()
+void CMainFrame::OnFileSubtitlesUpload()
{
- CStringA url = "http://" + AfxGetAppSettings().strISDb + "/index.php?";
- CStringA args = ISDb::makeargs(m_wndPlaylistBar.m_pl);
- ShellExecute(m_hWnd, _T("open"), CString(url + args), nullptr, nullptr, SW_SHOWDEFAULT);
+ m_wndSubtitlesUploadDialog.ShowWindow(SW_SHOW);
}
-void CMainFrame::OnUpdateFileISDBSearch(CCmdUI* pCmdUI)
+void CMainFrame::OnUpdateFileSubtitlesUpload(CCmdUI* pCmdUI)
{
- pCmdUI->Enable(TRUE);
-}
-
-void CMainFrame::OnFileISDBUpload()
-{
- CStringA url = "http://" + AfxGetAppSettings().strISDb + "/ul.php?";
-
- CStringA args = ISDb::makeargs(m_wndPlaylistBar.m_pl);
- ShellExecute(m_hWnd, _T("open"), CString(url + args), nullptr, nullptr, SW_SHOWDEFAULT);
-}
-
-void CMainFrame::OnUpdateFileISDBUpload(CCmdUI* pCmdUI)
-{
- pCmdUI->Enable(!IsPlaylistEmpty());
+ const CAppSettings& s = AfxGetAppSettings();
+ pCmdUI->Enable(!m_pSubStreams.IsEmpty() && s.fEnableSubtitles);
}
-void CMainFrame::OnFileISDBDownload()
+void CMainFrame::OnFileSubtitlesDownload()
{
- const CAppSettings& s = AfxGetAppSettings();
- ISDb::filehash fh;
- if (!ISDb::mpc_filehash(m_pFSF, fh)) {
- if (!ISDb::mpc_filehash((CString)m_wndPlaylistBar.GetCurFileName(), fh)) {
- MessageBeep(UINT_MAX);
- return;
- }
- }
-
- try {
- CStringA url = "http://" + s.strISDb + "/index.php?";
- CStringA args;
- args.Format("player=mpc-hc&name[0]=%s&size[0]=%016I64x&hash[0]=%016I64x",
- UrlEncode(CStringA(fh.name)), fh.size, fh.mpc_filehash);
- url.Append(args);
-
- CSubtitleDlDlg dlg(GetModalParent(), url, fh.name);
- dlg.DoModal();
- } catch (CInternetException* ie) {
- ie->Delete();
- }
+ m_wndSubtitlesDownloadDialog.ShowWindow(SW_SHOW);
}
-void CMainFrame::OnUpdateFileISDBDownload(CCmdUI* pCmdUI)
+void CMainFrame::OnUpdateFileSubtitlesDownload(CCmdUI* pCmdUI)
{
pCmdUI->Enable(GetLoadState() == MLS::LOADED && !IsPlaybackCaptureMode() && m_pCAP && !m_fAudioOnly);
}
@@ -5607,9 +5619,8 @@ void CMainFrame::OnViewVSync()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMR9VSync = !r.m_AdvRendSets.bVMR9VSync;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9VSync
- ? ResStr(IDS_OSD_RS_VSYNC_ON)
- : ResStr(IDS_OSD_RS_VSYNC_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9VSync
+ ? IDS_OSD_RS_VSYNC_ON : IDS_OSD_RS_VSYNC_OFF));
}
void CMainFrame::OnViewVSyncAccurate()
@@ -5617,9 +5628,8 @@ void CMainFrame::OnViewVSyncAccurate()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMR9VSyncAccurate = !r.m_AdvRendSets.bVMR9VSyncAccurate;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9VSyncAccurate
- ? ResStr(IDS_OSD_RS_ACCURATE_VSYNC_ON)
- : ResStr(IDS_OSD_RS_ACCURATE_VSYNC_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9VSyncAccurate
+ ? IDS_OSD_RS_ACCURATE_VSYNC_ON : IDS_OSD_RS_ACCURATE_VSYNC_OFF));
}
void CMainFrame::OnViewSynchronizeVideo()
@@ -5635,9 +5645,8 @@ void CMainFrame::OnViewSynchronizeVideo()
}
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bSynchronizeVideo
- ? ResStr(IDS_OSD_RS_SYNC_TO_DISPLAY_ON)
- : ResStr(IDS_OSD_RS_SYNC_TO_DISPLAY_ON));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bSynchronizeVideo
+ ? IDS_OSD_RS_SYNC_TO_DISPLAY_ON : IDS_OSD_RS_SYNC_TO_DISPLAY_ON));
}
void CMainFrame::OnViewSynchronizeDisplay()
@@ -5653,9 +5662,8 @@ void CMainFrame::OnViewSynchronizeDisplay()
}
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bSynchronizeDisplay
- ? ResStr(IDS_OSD_RS_SYNC_TO_VIDEO_ON)
- : ResStr(IDS_OSD_RS_SYNC_TO_VIDEO_ON));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bSynchronizeDisplay
+ ? IDS_OSD_RS_SYNC_TO_VIDEO_ON : IDS_OSD_RS_SYNC_TO_VIDEO_ON));
}
void CMainFrame::OnViewSynchronizeNearest()
@@ -5671,9 +5679,8 @@ void CMainFrame::OnViewSynchronizeNearest()
}
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bSynchronizeNearest
- ? ResStr(IDS_OSD_RS_PRESENT_NEAREST_ON)
- : ResStr(IDS_OSD_RS_PRESENT_NEAREST_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bSynchronizeNearest
+ ? IDS_OSD_RS_PRESENT_NEAREST_ON : IDS_OSD_RS_PRESENT_NEAREST_OFF));
}
void CMainFrame::OnViewColorManagementEnable()
@@ -5681,9 +5688,8 @@ void CMainFrame::OnViewColorManagementEnable()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMR9ColorManagementEnable = !r.m_AdvRendSets.bVMR9ColorManagementEnable;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9ColorManagementEnable
- ? ResStr(IDS_OSD_RS_COLOR_MANAGEMENT_ON)
- : ResStr(IDS_OSD_RS_COLOR_MANAGEMENT_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9ColorManagementEnable
+ ? IDS_OSD_RS_COLOR_MANAGEMENT_ON : IDS_OSD_RS_COLOR_MANAGEMENT_OFF));
}
void CMainFrame::OnViewColorManagementInputAuto()
@@ -5799,9 +5805,8 @@ void CMainFrame::OnViewFlushGPUBeforeVSync()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMRFlushGPUBeforeVSync = !r.m_AdvRendSets.bVMRFlushGPUBeforeVSync;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMRFlushGPUBeforeVSync
- ? ResStr(IDS_OSD_RS_FLUSH_BEF_VSYNC_ON)
- : ResStr(IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMRFlushGPUBeforeVSync
+ ? IDS_OSD_RS_FLUSH_BEF_VSYNC_ON : IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF));
}
void CMainFrame::OnViewFlushGPUAfterVSync()
@@ -5809,9 +5814,8 @@ void CMainFrame::OnViewFlushGPUAfterVSync()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMRFlushGPUAfterPresent = !r.m_AdvRendSets.bVMRFlushGPUAfterPresent;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMRFlushGPUAfterPresent
- ? ResStr(IDS_OSD_RS_FLUSH_AFT_PRES_ON)
- : ResStr(IDS_OSD_RS_FLUSH_AFT_PRES_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMRFlushGPUAfterPresent
+ ? IDS_OSD_RS_FLUSH_AFT_PRES_ON : IDS_OSD_RS_FLUSH_AFT_PRES_OFF));
}
void CMainFrame::OnViewFlushGPUWait()
@@ -5819,9 +5823,8 @@ void CMainFrame::OnViewFlushGPUWait()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMRFlushGPUWait = !r.m_AdvRendSets.bVMRFlushGPUWait;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMRFlushGPUWait
- ? ResStr(IDS_OSD_RS_WAIT_ON)
- : ResStr(IDS_OSD_RS_WAIT_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMRFlushGPUWait
+ ? IDS_OSD_RS_WAIT_ON : IDS_OSD_RS_WAIT_OFF));
}
void CMainFrame::OnViewD3DFullScreen()
@@ -5829,9 +5832,8 @@ void CMainFrame::OnViewD3DFullScreen()
CAppSettings& r = AfxGetAppSettings();
r.fD3DFullscreen = !r.fD3DFullscreen;
r.SaveSettings();
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.fD3DFullscreen
- ? ResStr(IDS_OSD_RS_D3D_FULLSCREEN_ON)
- : ResStr(IDS_OSD_RS_D3D_FULLSCREEN_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.fD3DFullscreen
+ ? IDS_OSD_RS_D3D_FULLSCREEN_ON : IDS_OSD_RS_D3D_FULLSCREEN_OFF));
}
void CMainFrame::OnViewDisableDesktopComposition()
@@ -5839,9 +5841,8 @@ void CMainFrame::OnViewDisableDesktopComposition()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMRDisableDesktopComposition = !r.m_AdvRendSets.bVMRDisableDesktopComposition;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMRDisableDesktopComposition
- ? ResStr(IDS_OSD_RS_NO_DESKTOP_COMP_ON)
- : ResStr(IDS_OSD_RS_NO_DESKTOP_COMP_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMRDisableDesktopComposition
+ ? IDS_OSD_RS_NO_DESKTOP_COMP_ON : IDS_OSD_RS_NO_DESKTOP_COMP_OFF));
}
void CMainFrame::OnViewAlternativeVSync()
@@ -5849,9 +5850,8 @@ void CMainFrame::OnViewAlternativeVSync()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMR9AlterativeVSync = !r.m_AdvRendSets.bVMR9AlterativeVSync;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9AlterativeVSync
- ? ResStr(IDS_OSD_RS_ALT_VSYNC_ON)
- : ResStr(IDS_OSD_RS_ALT_VSYNC_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9AlterativeVSync
+ ? IDS_OSD_RS_ALT_VSYNC_ON : IDS_OSD_RS_ALT_VSYNC_OFF));
}
void CMainFrame::OnViewResetDefault()
@@ -5875,9 +5875,8 @@ void CMainFrame::OnViewFullscreenGUISupport()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bVMR9FullscreenGUISupport = !r.m_AdvRendSets.bVMR9FullscreenGUISupport;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9FullscreenGUISupport
- ? ResStr(IDS_OSD_RS_D3D_FS_GUI_SUPP_ON)
- : ResStr(IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9FullscreenGUISupport
+ ? IDS_OSD_RS_D3D_FS_GUI_SUPP_ON : IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF));
}
void CMainFrame::OnViewHighColorResolution()
@@ -5885,9 +5884,8 @@ void CMainFrame::OnViewHighColorResolution()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bEVRHighColorResolution = !r.m_AdvRendSets.bEVRHighColorResolution;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bEVRHighColorResolution
- ? ResStr(IDS_OSD_RS_10BIT_RBG_OUT_ON)
- : ResStr(IDS_OSD_RS_10BIT_RBG_OUT_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bEVRHighColorResolution
+ ? IDS_OSD_RS_10BIT_RBG_OUT_ON : IDS_OSD_RS_10BIT_RBG_OUT_OFF));
}
void CMainFrame::OnViewForceInputHighColorResolution()
@@ -5895,9 +5893,8 @@ void CMainFrame::OnViewForceInputHighColorResolution()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bEVRForceInputHighColorResolution = !r.m_AdvRendSets.bEVRForceInputHighColorResolution;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bEVRForceInputHighColorResolution
- ? ResStr(IDS_OSD_RS_10BIT_RBG_IN_ON)
- : ResStr(IDS_OSD_RS_10BIT_RBG_IN_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bEVRForceInputHighColorResolution
+ ? IDS_OSD_RS_10BIT_RBG_IN_ON : IDS_OSD_RS_10BIT_RBG_IN_OFF));
}
void CMainFrame::OnViewFullFloatingPointProcessing()
@@ -5908,9 +5905,8 @@ void CMainFrame::OnViewFullFloatingPointProcessing()
r.m_AdvRendSets.bVMR9HalfFloatingPointProcessing = false;
}
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9FullFloatingPointProcessing
- ? ResStr(IDS_OSD_RS_FULL_FP_PROCESS_ON)
- : ResStr(IDS_OSD_RS_FULL_FP_PROCESS_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9FullFloatingPointProcessing
+ ? IDS_OSD_RS_FULL_FP_PROCESS_ON : IDS_OSD_RS_FULL_FP_PROCESS_OFF));
}
void CMainFrame::OnViewHalfFloatingPointProcessing()
@@ -5921,9 +5917,8 @@ void CMainFrame::OnViewHalfFloatingPointProcessing()
r.m_AdvRendSets.bVMR9FullFloatingPointProcessing = false;
}
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bVMR9HalfFloatingPointProcessing
- ? ResStr(IDS_OSD_RS_HALF_FP_PROCESS_ON)
- : ResStr(IDS_OSD_RS_HALF_FP_PROCESS_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bVMR9HalfFloatingPointProcessing
+ ? IDS_OSD_RS_HALF_FP_PROCESS_ON : IDS_OSD_RS_HALF_FP_PROCESS_OFF));
}
void CMainFrame::OnViewEnableFrameTimeCorrection()
@@ -5931,9 +5926,8 @@ void CMainFrame::OnViewEnableFrameTimeCorrection()
CRenderersSettings& r = AfxGetAppSettings().m_RenderersSettings;
r.m_AdvRendSets.bEVREnableFrameTimeCorrection = !r.m_AdvRendSets.bEVREnableFrameTimeCorrection;
r.UpdateData(true);
- m_OSD.DisplayMessage(OSD_TOPRIGHT, r.m_AdvRendSets.bEVREnableFrameTimeCorrection
- ? ResStr(IDS_OSD_RS_FT_CORRECTION_ON)
- : ResStr(IDS_OSD_RS_FT_CORRECTION_OFF));
+ m_OSD.DisplayMessage(OSD_TOPRIGHT, ResStr(r.m_AdvRendSets.bEVREnableFrameTimeCorrection
+ ? IDS_OSD_RS_FT_CORRECTION_ON : IDS_OSD_RS_FT_CORRECTION_OFF));
}
void CMainFrame::OnViewVSyncOffsetIncrease()
@@ -6035,8 +6029,7 @@ void CMainFrame::OnD3DFullscreenToggle()
CString strMsg;
s.fD3DFullscreen = !s.fD3DFullscreen;
- strMsg = s.fD3DFullscreen ? ResStr(IDS_OSD_RS_D3D_FULLSCREEN_ON) : ResStr(IDS_OSD_RS_D3D_FULLSCREEN_OFF);
-
+ strMsg.LoadString(s.fD3DFullscreen ? IDS_OSD_RS_D3D_FULLSCREEN_ON : IDS_OSD_RS_D3D_FULLSCREEN_OFF);
if (GetLoadState() == MLS::CLOSED) {
m_closingmsg = strMsg;
} else {
@@ -6331,7 +6324,7 @@ void CMainFrame::OnUpdateViewCompact(CCmdUI* pCmdUI)
void CMainFrame::OnViewNormal()
{
SetCaptionState(MODE_SHOWCAPTIONMENU);
- m_controls.SetToolbarsSelection(CS_SEEKBAR | CS_TOOLBAR | CS_STATUSBAR | CS_INFOBAR, true);
+ m_controls.SetToolbarsSelection(CS_SEEKBAR | CS_TOOLBAR | CS_STATUSBAR, true);
}
void CMainFrame::OnUpdateViewNormal(CCmdUI* pCmdUI)
@@ -6451,20 +6444,6 @@ void CMainFrame::OnViewSwitchVideoFrame()
MoveVideoWindow();
}
-void CMainFrame::OnViewKeepaspectratio()
-{
- CAppSettings& s = AfxGetAppSettings();
-
- s.fKeepAspectRatio = !s.fKeepAspectRatio;
- OnVideoSizeChanged();
-}
-
-void CMainFrame::OnUpdateViewKeepaspectratio(CCmdUI* pCmdUI)
-{
- pCmdUI->Enable(GetLoadState() == MLS::LOADED && !m_fAudioOnly);
- pCmdUI->SetCheck(AfxGetAppSettings().fKeepAspectRatio);
-}
-
void CMainFrame::OnViewCompMonDeskARDiff()
{
CAppSettings& s = AfxGetAppSettings();
@@ -6692,19 +6671,35 @@ void CMainFrame::OnViewRotate(UINT nID)
m_AngleX += 2;
break;
case ID_PANSCAN_ROTATEXM:
- m_AngleX += 360 - 2;
+ if (m_AngleX >= 180) {
+ m_AngleX = 0;
+ } else {
+ m_AngleX = 180;
+ }
break;
case ID_PANSCAN_ROTATEYP:
m_AngleY += 2;
break;
case ID_PANSCAN_ROTATEYM:
- m_AngleY += 360 - 2;
+ if (m_AngleY >= 180) {
+ m_AngleY = 0;
+ } else {
+ m_AngleY = 180;
+ }
break;
case ID_PANSCAN_ROTATEZP:
m_AngleZ += 2;
break;
case ID_PANSCAN_ROTATEZM:
- m_AngleZ += 360 - 2;
+ if (m_AngleZ >= 270) {
+ m_AngleZ = 0;
+ } else if (m_AngleZ >= 180) {
+ m_AngleZ = 270;
+ } else if (m_AngleZ >= 90) {
+ m_AngleZ = 180;
+ } else {
+ m_AngleZ = 90;
+ }
break;
default:
return;
@@ -6740,17 +6735,24 @@ const static SIZE s_ar[] = {{0, 0}, {4, 3}, {5, 4}, {16, 9}, {235, 100}, {185, 1
void CMainFrame::OnViewAspectRatio(UINT nID)
{
- CSize& ar = AfxGetAppSettings().sizeAspectRatio;
- ar = s_ar[nID - ID_ASPECTRATIO_START];
- CString info;
+ auto& s = AfxGetAppSettings();
- if (ar.cx && ar.cy) {
- info.Format(IDS_MAINFRM_68, ar.cx, ar.cy);
+ CString info;
+ if (nID == ID_ASPECTRATIO_SAR) {
+ s.fKeepAspectRatio = false;
+ info.LoadString(IDS_ASPECT_RATIO_SAR);
} else {
- info.LoadString(IDS_MAINFRM_69);
+ s.fKeepAspectRatio = true;
+ CSize ar = s_ar[nID - ID_ASPECTRATIO_START];
+ s.SetAspectRatioOverride(ar);
+ if (ar.cx && ar.cy) {
+ info.Format(IDS_MAINFRM_68, ar.cx, ar.cy);
+ } else {
+ info.LoadString(IDS_MAINFRM_69);
+ }
}
- SendStatusMessage(info, 3000);
+ SendStatusMessage(info, 3000);
m_OSD.DisplayMessage(OSD_TOPLEFT, info, 3000);
OnVideoSizeChanged();
@@ -6760,7 +6762,13 @@ void CMainFrame::OnUpdateViewAspectRatio(CCmdUI* pCmdUI)
{
const CAppSettings& s = AfxGetAppSettings();
- if (s.sizeAspectRatio == s_ar[pCmdUI->m_nID - ID_ASPECTRATIO_START] && pCmdUI->m_pMenu) {
+ bool bSelected;
+ if (pCmdUI->m_nID == ID_ASPECTRATIO_SAR) {
+ bSelected = s.fKeepAspectRatio == false;
+ } else {
+ bSelected = s.fKeepAspectRatio == true && s.GetAspectRatioOverride() == s_ar[pCmdUI->m_nID - ID_ASPECTRATIO_START];
+ }
+ if (bSelected && pCmdUI->m_pMenu) {
pCmdUI->m_pMenu->CheckMenuRadioItem(ID_ASPECTRATIO_START, ID_ASPECTRATIO_END, pCmdUI->m_nID, MF_BYCOMMAND);
}
@@ -6769,13 +6777,18 @@ void CMainFrame::OnUpdateViewAspectRatio(CCmdUI* pCmdUI)
void CMainFrame::OnViewAspectRatioNext()
{
- CSize& ar = AfxGetAppSettings().sizeAspectRatio;
- UINT nID = ID_ASPECTRATIO_START;
+ static_assert(ID_ASPECTRATIO_SAR - ID_ASPECTRATIO_START == _countof(s_ar) && ID_ASPECTRATIO_SAR == ID_ASPECTRATIO_END,
+ "ID_ASPECTRATIO_SAR needs to be last item in the menu.");
- for (int i = 0; i < _countof(s_ar); i++) {
- if (ar == s_ar[i]) {
- nID += (i + 1) % _countof(s_ar);
- break;
+ const auto& s = AfxGetAppSettings();
+ UINT nID = ID_ASPECTRATIO_START;
+ if (s.fKeepAspectRatio) {
+ const CSize ar = s.GetAspectRatioOverride();
+ for (int i = 0; i < _countof(s_ar); i++) {
+ if (ar == s_ar[i]) {
+ nID += (i + 1) % ((ID_ASPECTRATIO_END - ID_ASPECTRATIO_START) + 1);
+ break;
+ }
}
}
@@ -6879,7 +6892,7 @@ void CMainFrame::OnPlayPlay()
SetupEVRColorControl(); // can be configured when streaming begins
CString strOSD;
- CString strPlay = ResStr(ID_PLAY_PLAY);
+ CString strPlay(StrRes(ID_PLAY_PLAY));
int i = strPlay.Find(_T("\n"));
if (i > 0) {
strPlay.Delete(i, strPlay.GetLength() - i);
@@ -6890,7 +6903,7 @@ void CMainFrame::OnPlayPlay()
if (GetPlaybackMode() == PM_FILE) {
if (!m_LastOpenBDPath.IsEmpty()) {
- strOSD = ResStr(IDS_PLAY_BD);
+ strOSD.LoadString(IDS_PLAY_BD);
} else {
strOSD = GetFileName();
if (!strOSD.IsEmpty()) {
@@ -6900,7 +6913,7 @@ void CMainFrame::OnPlayPlay()
}
}
} else if (GetPlaybackMode() == PM_DVD) {
- strOSD = ResStr(IDS_PLAY_DVD);
+ strOSD.LoadString(IDS_PLAY_DVD);
}
}
@@ -6935,7 +6948,7 @@ void CMainFrame::OnPlayPauseI()
SetAlwaysOnTop(AfxGetAppSettings().iOnTop);
}
- CString strOSD = ResStr(ID_PLAY_PAUSE);
+ CString strOSD(StrRes(ID_PLAY_PAUSE));
int i = strOSD.Find(_T("\n"));
if (i > 0) {
strOSD.Delete(i, strOSD.GetLength() - i);
@@ -7021,7 +7034,7 @@ void CMainFrame::OnPlayStop()
m_pMC->Stop();
m_pDVBState->bActive = false;
OpenSetupWindowTitle();
- m_wndStatusBar.SetStatusTimer(ResStr(IDS_CAPTURE_LIVE));
+ m_wndStatusBar.SetStatusTimer(StrRes(IDS_CAPTURE_LIVE));
} else if (GetPlaybackMode() == PM_ANALOG_CAPTURE) {
m_pMC->Stop();
}
@@ -7059,7 +7072,7 @@ void CMainFrame::OnPlayStop()
}
if (!m_fEndOfStream && GetLoadState() == MLS::LOADED) {
- CString strOSD = ResStr(ID_PLAY_STOP);
+ CString strOSD(StrRes(ID_PLAY_STOP));
int i = strOSD.Find(_T("\n"));
if (i > 0) {
strOSD.Delete(i, strOSD.GetLength() - i);
@@ -7579,7 +7592,7 @@ void CMainFrame::OnPlayFilters(UINT nID)
CComPtr<IUnknown> pUnk = m_pparray[nID - ID_FILTERS_SUBITEM_START];
- CComPropertySheet ps(ResStr(IDS_PROPSHEET_PROPERTIES), GetModalParent());
+ CComPropertySheet ps(IDS_PROPSHEET_PROPERTIES, GetModalParent());
// Find out if we are opening the property page for an internal filter
CComQIPtr<IBaseFilter> pBF = pUnk;
@@ -7767,7 +7780,7 @@ void CMainFrame::OnPlaySubtitles(UINT nID)
styles.Add(val);
}
- CPropertySheet dlg(ResStr(IDS_SUBTITLES_STYLES_CAPTION), GetModalParent());
+ CPropertySheet dlg(IDS_SUBTITLES_STYLES_CAPTION, GetModalParent());
for (size_t l = 0; l < pages.GetCount(); l++) {
dlg.AddPage(pages[l]);
}
@@ -8149,6 +8162,64 @@ void CMainFrame::OnUpdateAfterplayback(CCmdUI* pCmdUI)
}
}
+void CMainFrame::OnPlayRepeat(UINT nID)
+{
+ CAppSettings& s = AfxGetAppSettings();
+ WORD osdMsg = 0;
+
+ switch (nID) {
+ case ID_PLAY_REPEAT_ONEFILE:
+ s.eLoopMode = CAppSettings::LoopMode::FILE;
+ osdMsg = IDS_PLAYLOOPMODE_FILE;
+ break;
+ case ID_PLAY_REPEAT_WHOLEPLAYLIST:
+ s.eLoopMode = CAppSettings::LoopMode::PLAYLIST;
+ osdMsg = IDS_PLAYLOOPMODE_PLAYLIST;
+ break;
+ default:
+ ASSERT(FALSE);
+ return;
+ }
+
+ m_nLoops = 0;
+ m_OSD.DisplayMessage(OSD_TOPLEFT, ResStr(osdMsg));
+}
+
+void CMainFrame::OnUpdatePlayRepeat(CCmdUI* pCmdUI)
+{
+ CAppSettings::LoopMode loopmode;
+
+ switch (pCmdUI->m_nID) {
+ case ID_PLAY_REPEAT_ONEFILE:
+ loopmode = CAppSettings::LoopMode::FILE;
+ break;
+ case ID_PLAY_REPEAT_WHOLEPLAYLIST:
+ loopmode = CAppSettings::LoopMode::PLAYLIST;
+ break;
+ default:
+ ASSERT(FALSE);
+ return;
+ }
+ if (AfxGetAppSettings().eLoopMode == loopmode && pCmdUI->m_pMenu) {
+ pCmdUI->m_pMenu->CheckMenuRadioItem(ID_PLAY_REPEAT_ONEFILE, ID_PLAY_REPEAT_WHOLEPLAYLIST, pCmdUI->m_nID, MF_BYCOMMAND);
+ }
+}
+
+void CMainFrame::OnPlayRepeatForever()
+{
+ CAppSettings& s = AfxGetAppSettings();
+
+ s.fLoopForever = !s.fLoopForever;
+
+ m_nLoops = 0;
+ m_OSD.DisplayMessage(OSD_TOPLEFT, ResStr(s.fLoopForever ? IDS_PLAYLOOP_FOREVER_ON : IDS_PLAYLOOP_FOREVER_OFF));
+}
+
+void CMainFrame::OnUpdatePlayRepeatForever(CCmdUI* pCmdUI)
+{
+ pCmdUI->SetCheck(AfxGetAppSettings().fLoopForever);
+}
+
bool CMainFrame::SeekToFileChapter(int iChapter, bool bRelative /*= false*/)
{
if (GetPlaybackMode() != PM_FILE) {
@@ -8789,7 +8860,7 @@ void CMainFrame::AddFavorite(bool fDisplayMessage, bool fShowDialog)
} // TODO: PM_ANALOG_CAPTURE and PM_DIGITAL_CAPTURE
if (fDisplayMessage && osdMsg) {
- CString osdMsgStr = ResStr(osdMsg);
+ CString osdMsgStr(StrRes(osdMsg));
SendStatusMessage(osdMsgStr, 3000);
m_OSD.DisplayMessage(OSD_TOPLEFT, osdMsgStr, 3000);
}
@@ -8853,7 +8924,7 @@ void CMainFrame::OnRecentFileClear()
CComPtr<IApplicationDestinations> pDests;
HRESULT hr = pDests.CoCreateInstance(CLSID_ApplicationDestinations, nullptr, CLSCTX_INPROC_SERVER);
if (SUCCEEDED(hr)) {
- hr = pDests->RemoveAllDestinations();
+ pDests->RemoveAllDestinations();
}
// Remove the saved positions in media
@@ -9067,8 +9138,8 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor)
GetClientRect(&clientRect);
CSize logoSize = m_wndView.GetLogoSize();
- logoSize.cx = std::max<LONG>(logoSize.cx, MIN_LOGO_WIDTH);
- logoSize.cy = std::max<LONG>(logoSize.cy, MIN_LOGO_HEIGHT);
+ logoSize.cx = std::max<LONG>(logoSize.cx, m_dpi.ScaleX(MIN_LOGO_WIDTH));
+ logoSize.cy = std::max<LONG>(logoSize.cy, m_dpi.ScaleY(MIN_LOGO_HEIGHT));
unsigned uTop, uLeft, uRight, uBottom;
m_controls.GetDockZones(uTop, uLeft, uRight, uBottom);
@@ -9151,8 +9222,8 @@ void CMainFrame::RestoreDefaultWindowRect()
GetClientRect(&clientRect);
CSize logoSize = m_wndView.GetLogoSize();
- logoSize.cx = std::max<LONG>(logoSize.cx, MIN_LOGO_WIDTH);
- logoSize.cy = std::max<LONG>(logoSize.cy, MIN_LOGO_HEIGHT);
+ logoSize.cx = std::max<LONG>(logoSize.cx, m_dpi.ScaleX(MIN_LOGO_WIDTH));
+ logoSize.cy = std::max<LONG>(logoSize.cy, m_dpi.ScaleY(MIN_LOGO_HEIGHT));
unsigned uTop, uLeft, uRight, uBottom;
m_controls.GetDockZones(uTop, uLeft, uRight, uBottom);
@@ -9176,7 +9247,7 @@ CRect CMainFrame::GetInvisibleBorderSize() const
if (SysVersion::Is10OrLater()) {
static const WinapiFunc<decltype(DwmGetWindowAttribute)>
- fnDwmGetWindowAttribute = { "Dwmapi.dll", "DwmGetWindowAttribute" };
+ fnDwmGetWindowAttribute = { _T("Dwmapi.dll"), "DwmGetWindowAttribute" };
if (fnDwmGetWindowAttribute) {
if (SUCCEEDED(fnDwmGetWindowAttribute(GetSafeHwnd(), DWMWA_EXTENDED_FRAME_BOUNDS, &invisibleBorders, sizeof(RECT)))) {
@@ -9240,14 +9311,13 @@ CSize CMainFrame::GetVideoSize() const
return ret;
}
- CSize overrideAR = s.sizeAspectRatio;
- DVD_VideoAttributes VATR;
- // with the overlay mixer IBasicVideo2 won't tell the new AR when changed dynamically
- if ((!overrideAR.cx || !overrideAR.cy) && GetPlaybackMode() == PM_DVD && SUCCEEDED(m_pDVDI->GetCurrentVideoAttributes(&VATR))) {
- overrideAR.SetSize(VATR.ulAspectX, VATR.ulAspectY);
- }
-
if (s.fKeepAspectRatio) {
+ CSize overrideAR = s.GetAspectRatioOverride();
+ DVD_VideoAttributes VATR;
+ if ((!overrideAR.cx || !overrideAR.cy) && GetPlaybackMode() == PM_DVD
+ && SUCCEEDED(m_pDVDI->GetCurrentVideoAttributes(&VATR))) {
+ overrideAR.SetSize(VATR.ulAspectX, VATR.ulAspectY);
+ }
if (overrideAR.cx > 0 && overrideAR.cy > 0) {
if (m_pMVRC && SUCCEEDED(m_pMVRC->SendCommandDouble("setArOverride", double(overrideAR.cx) / overrideAR.cy))) {
ret = m_pCAP->GetVideoSize(false);
@@ -9262,7 +9332,12 @@ CSize CMainFrame::GetVideoSize() const
}
}
} else {
- if (m_pMVRC && SUCCEEDED(m_pMVRC->SendCommandDouble("setArOverride", 0.0))) {
+ CSize originalVideoSize(0, 1);
+ if (m_pMVRI) {
+ m_pMVRI->GetSize("originalVideoSize", &originalVideoSize);
+ }
+ if (m_pMVRC && SUCCEEDED(m_pMVRC->SendCommandDouble("setArOverride",
+ double(originalVideoSize.cx) / originalVideoSize.cy))) {
ret = m_pCAP->GetVideoSize(false);
} else {
ret = videoSize;
@@ -9298,20 +9373,15 @@ CSize CMainFrame::GetVideoSize() const
void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasTo)
{
if (IsD3DFullScreenMode()) {
+ ASSERT(FALSE);
return;
}
CAppSettings& s = AfxGetAppSettings();
- CRect r;
+ CMonitor currentMonitor = CMonitors::GetNearestMonitor(this);
+ const CWnd* pInsertAfter = nullptr;
+ CRect windowRect;
DWORD dwRemove = 0, dwAdd = 0;
- DWORD dwRemoveEx = 0, dwAddEx = 0;
- MONITORINFO mi;
- mi.cbSize = sizeof(MONITORINFO);
-
- HMONITOR hm = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
- HMONITOR hm_cur = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
-
- CMonitors monitors;
if (!m_fFullScreen) {
SetCursor(nullptr); // prevents cursor flickering when our window is not under the cursor
@@ -9322,139 +9392,109 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
ShowControlBar(&m_wndPlaylistBar, FALSE, FALSE);
}
- if (!m_fFirstFSAfterLaunchOnFS) {
- GetWindowRect(&m_lastWindowRect);
- }
- if (s.autoChangeFSMode.bEnabled && fSwitchScreenResWhenHasTo && (GetPlaybackMode() != PM_NONE)) {
+ GetWindowRect(&m_lastWindowRect);
+
+ if (s.autoChangeFSMode.bEnabled && fSwitchScreenResWhenHasTo && GetPlaybackMode() != PM_NONE) {
AutoChangeMonitorMode();
}
- m_LastWindow_HM = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
- CString str;
CMonitor monitor;
- if (s.strFullScreenMonitor == _T("Current")) {
- hm = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
- } else {
+ if (s.strFullScreenMonitor != _T("Current")) {
+ CMonitors monitors;
for (int i = 0; i < monitors.GetCount(); i++) {
monitor = monitors.GetMonitor(i);
+ if (!monitor.IsMonitor()) {
+ continue;
+ }
+ CString str;
monitor.GetName(str);
- if ((monitor.IsMonitor()) && (s.strFullScreenMonitor == str)) {
- hm = monitor;
+ if (s.strFullScreenMonitor == str) {
break;
}
- }
- if (!hm) {
- hm = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
+ monitor.Detach();
}
}
+ if (!monitor.IsMonitor()) {
+ monitor = currentMonitor;
+ }
+
+ dwRemove |= WS_CAPTION | WS_THICKFRAME;
+ if (s.fPreventMinimize && monitor != currentMonitor) {
+ dwRemove |= WS_MINIMIZEBOX;
+ }
+
+ m_bExtOnTop = !s.iOnTop && (GetExStyle() & WS_EX_TOPMOST);
+ pInsertAfter = &wndTopMost;
- dwRemove = WS_CAPTION | WS_THICKFRAME;
- GetMonitorInfo(hm, &mi);
if (fToNearest) {
- r = mi.rcMonitor;
+ monitor.GetMonitorRect(windowRect);
} else {
- GetDesktopWindow()->GetWindowRect(&r);
+ GetDesktopWindow()->GetWindowRect(windowRect);
}
- SetMenuBarVisibility(AFX_MBV_DISPLAYONFOCUS);
} else {
m_eventc.FireEvent(MpcEvent::SWITCHING_FROM_FULLSCREEN);
if (s.autoChangeFSMode.bEnabled && s.autoChangeFSMode.bApplyDefaultModeAtFSExit && !s.autoChangeFSMode.modes.empty() && s.autoChangeFSMode.modes[0].bChecked) {
- SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm);
+ SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm, s.fAudioTimeShift ? s.iAudioTimeShift : 0); // Restore default time shift
+ }
+
+ windowRect = m_lastWindowRect;
+ if (!CMonitors::IsOnScreen(windowRect)) {
+ currentMonitor.CenterRectToMonitor(windowRect, TRUE);
}
- dwAdd = (s.eCaptionMenuMode == MODE_BORDERLESS ? 0 : s.eCaptionMenuMode == MODE_FRAMEONLY ? WS_THICKFRAME : WS_CAPTION | WS_THICKFRAME);
- if (!m_fFirstFSAfterLaunchOnFS) {
- r = m_lastWindowRect;
+ dwAdd |= WS_MINIMIZEBOX;
+ if (s.eCaptionMenuMode != MODE_BORDERLESS) {
+ dwAdd |= WS_THICKFRAME;
+ if (s.eCaptionMenuMode != MODE_FRAMEONLY) {
+ dwAdd |= WS_CAPTION;
+ }
}
if (m_wndPlaylistBar.IsHiddenDueToFullscreen() && !m_controls.ControlChecked(CMainFrameControls::Panel::PLAYLIST)) {
m_wndPlaylistBar.SetHiddenDueToFullscreen(false);
m_controls.ToggleControl(CMainFrameControls::Panel::PLAYLIST);
}
- }
-
- bool fAudioOnly = m_fAudioOnly;
- m_fAudioOnly = true;
-
- m_fFullScreen = !m_fFullScreen;
- s.fLastFullScreen = m_fFullScreen;
- ModifyStyle(dwRemove, dwAdd, SWP_NOZORDER);
- ModifyStyleEx(dwRemoveEx, dwAddEx, SWP_NOZORDER);
-
- if (m_fFullScreen) {
- if (s.fPreventMinimize) {
- if (hm != hm_cur) {
- ModifyStyle(WS_MINIMIZEBOX, 0, SWP_NOZORDER);
- }
+ // If MPC-HC wasn't previously set "on top" by an external tool,
+ // we restore the current internal on top state. (1/2)
+ if (!m_bExtOnTop) {
+ pInsertAfter = &wndNoTopMost;
}
+ }
- m_bExtOnTop = (!s.iOnTop && (GetExStyle() & WS_EX_TOPMOST));
- SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
- } else {
- ModifyStyle(0, WS_MINIMIZEBOX, SWP_NOZORDER);
+ bool bZoomVideoWindow = false;
+ if (m_fFirstFSAfterLaunchOnFS) {
+ ASSERT(m_fFullScreen);
+ bZoomVideoWindow = s.fRememberZoomLevel;
+ m_fFirstFSAfterLaunchOnFS = false;
}
- m_fAudioOnly = fAudioOnly;
+ m_fFullScreen = !m_fFullScreen;
+ s.fLastFullScreen = m_fFullScreen;
// Temporarily hide the OSD message if there is one, it will
// be restored after. This avoid positioning problems.
m_OSD.HideMessage(true);
- if (m_fFirstFSAfterLaunchOnFS) { //Play started in Fullscreen
- if (s.fRememberWindowSize || s.fRememberWindowPos) {
- r = s.rcLastWindowPos;
- if (!s.fRememberWindowPos) {
- CMonitor mon;
- mon.Attach(m_LastWindow_HM);
- mon.CenterRectToMonitor(r, TRUE);
- }
- if (!s.fRememberWindowSize) {
- CSize vsize = GetVideoSize();
- r = CRect(r.left, r.top, r.left + vsize.cx, r.top + vsize.cy);
- // COMMENTED OUT: it releases mouse capture, we may lose the second mouse up event in doubleclick
- //ShowWindow(SW_HIDE);
- }
- SetWindowPos(nullptr, r.left, r.top, r.Width(), r.Height(), SWP_NOZORDER | SWP_NOSENDCHANGING);
- if (!s.fRememberWindowSize) {
- ZoomVideoWindow();
- //ShowWindow(SW_SHOW);
- }
- } else {
- if (m_LastWindow_HM != hm_cur) {
- GetMonitorInfo(m_LastWindow_HM, &mi);
- r = mi.rcMonitor;
- // COMMENTED OUT: it releases mouse capture, we may lose the second mouse up event in doubleclick
- //ShowWindow(SW_HIDE);
- SetWindowPos(nullptr, r.left, r.top, r.Width(), r.Height(), SWP_NOZORDER | SWP_NOSENDCHANGING);
- }
- ZoomVideoWindow();
- //if (m_LastWindow_HM != hm_cur) {
- // ShowWindow(SW_SHOW);
- //}
- }
- m_fFirstFSAfterLaunchOnFS = false;
- } else {
- SetWindowPos(nullptr, r.left, r.top, r.Width(), r.Height(), SWP_NOZORDER | SWP_NOSENDCHANGING | SWP_FRAMECHANGED);
- }
+ ModifyStyle(dwRemove, dwAdd, SWP_NOZORDER);
+ SetWindowPos(pInsertAfter, windowRect.left, windowRect.top, windowRect.Width(), windowRect.Height(),
+ SWP_NOSENDCHANGING | SWP_FRAMECHANGED);
// If MPC-HC wasn't previously set "on top" by an external tool,
- // we restore the current internal on top state.
- // Note that this should be called after m_fAudioOnly is restored
- // to its initial value.
+ // we restore the current internal on top state. (2/2)
if (!m_fFullScreen && !m_bExtOnTop) {
- SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
SetAlwaysOnTop(s.iOnTop);
}
- if (!m_fFullScreen) {
- SetMenuBarVisibility(s.eCaptionMenuMode == MODE_SHOWCAPTIONMENU ?
- AFX_MBV_KEEPVISIBLE : AFX_MBV_DISPLAYONFOCUS);
- }
+ SetMenuBarVisibility((!m_fFullScreen && s.eCaptionMenuMode == MODE_SHOWCAPTIONMENU)
+ ? AFX_MBV_KEEPVISIBLE : AFX_MBV_DISPLAYONFOCUS);
UpdateControlState(UPDATE_CONTROLS_VISIBILITY);
+ if (bZoomVideoWindow) {
+ ZoomVideoWindow();
+ }
MoveVideoWindow();
m_OSD.HideMessage(false);
@@ -9498,18 +9538,19 @@ void CMainFrame::ToggleD3DFullscreen(bool fSwitchScreenResWhenHasTo)
}
if (s.autoChangeFSMode.bEnabled && s.autoChangeFSMode.bApplyDefaultModeAtFSExit && !s.autoChangeFSMode.modes.empty() && s.autoChangeFSMode.modes[0].bChecked) {
- SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm);
+ SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm, s.fAudioTimeShift ? s.iAudioTimeShift : 0); // Restore default time shift
}
// Destroy the D3D Fullscreen window and zoom the windowed video frame
m_pFullscreenWnd->DestroyWindow();
- m_OSD.EnableShowMessage(true);
if (m_fFirstFSAfterLaunchOnFS) {
- ZoomVideoWindow();
+ if (s.fRememberZoomLevel) {
+ ZoomVideoWindow();
+ }
m_fFirstFSAfterLaunchOnFS = false;
- } else {
- MoveVideoWindow();
}
+ MoveVideoWindow();
+ m_OSD.EnableShowMessage(true);
} else {
// Set the fullscreen display mode
if (s.autoChangeFSMode.bEnabled && fSwitchScreenResWhenHasTo) {
@@ -9567,10 +9608,18 @@ bool CMainFrame::GetDispMode(CString displayName, int i, DisplayMode& dm)
return dm.bValid;
}
-void CMainFrame::SetDispMode(CString displayName, const DisplayMode& dm)
+void CMainFrame::SetDispMode(CString displayName, const DisplayMode& dm, int msAudioDelay)
{
DisplayMode dmCurrent;
- if (!GetCurDispMode(displayName, dmCurrent) || (dm.size == dmCurrent.size && dm.bpp == dmCurrent.bpp && dm.freq == dmCurrent.freq)) {
+ if (!GetCurDispMode(displayName, dmCurrent)) {
+ return;
+ }
+
+ CComQIPtr<IAudioSwitcherFilter> pASF = FindFilter(__uuidof(CAudioSwitcherFilter), m_pGB);
+ if (dm.size == dmCurrent.size && dm.bpp == dmCurrent.bpp && dm.freq == dmCurrent.freq) {
+ if (pASF) {
+ pASF->SetAudioTimeShift(msAudioDelay * 10000i64);
+ }
return;
}
@@ -9589,13 +9638,21 @@ void CMainFrame::SetDispMode(CString displayName, const DisplayMode& dm)
monitor.GetName(displayName);
}
+ const auto& s = AfxGetAppSettings();
+ LONG ret;
+
m_eventc.FireEvent(MpcEvent::DISPLAY_MODE_AUTOCHANGING);
if (AfxGetAppSettings().autoChangeFSMode.bRestoreResAfterProgExit) {
- ChangeDisplaySettingsEx(displayName, &dmScreenSettings, nullptr, CDS_FULLSCREEN, nullptr);
+ ret = ChangeDisplaySettingsEx(displayName, &dmScreenSettings, nullptr, CDS_FULLSCREEN, nullptr);
} else {
- ChangeDisplaySettingsEx(displayName, &dmScreenSettings, nullptr, 0, nullptr);
+ ret = ChangeDisplaySettingsEx(displayName, &dmScreenSettings, nullptr, 0, nullptr);
}
m_eventc.FireEvent(MpcEvent::DISPLAY_MODE_AUTOCHANGED);
+
+ msAudioDelay = ret == DISP_CHANGE_SUCCESSFUL ? msAudioDelay : (s.fAudioTimeShift ? s.iAudioTimeShift : 0);
+ if (pASF) {
+ pASF->SetAudioTimeShift(msAudioDelay * 10000i64);
+ }
}
void CMainFrame::AutoChangeMonitorMode()
@@ -9639,11 +9696,11 @@ void CMainFrame::AutoChangeMonitorMode()
for (const auto& mode : s.autoChangeFSMode.modes) {
if (mode.bChecked && dMediaFPS >= mode.dFrameRateStart && dMediaFPS <= mode.dFrameRateStop) {
- SetDispMode(s.strFullScreenMonitor, mode.dm);
+ SetDispMode(s.strFullScreenMonitor, mode.dm, mode.msAudioDelay);
return;
}
}
- SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm);
+ SetDispMode(s.strFullScreenMonitor, s.autoChangeFSMode.modes[0].dm, s.fAudioTimeShift ? s.iAudioTimeShift : 0); // Restore default time shift
}
void CMainFrame::MoveVideoWindow(bool fShowStats/* = false*/, bool bSetStoppedVideoRect/* = false*/)
@@ -10212,11 +10269,11 @@ void CMainFrame::SetBalance(int balance)
m_pBA->put_Balance(balance_dB);
if (balance == 0) {
- strBalance = ResStr(IDS_BALANCE);
+ strBalance.LoadString(IDS_BALANCE);
} else if (balance < 0) {
- strBalance.Format(ResStr(IDS_BALANCE_L), -balance);
+ strBalance.Format(IDS_BALANCE_L, -balance);
} else { //if (m_nBalance > 0)
- strBalance.Format(ResStr(IDS_BALANCE_R), balance);
+ strBalance.Format(IDS_BALANCE_R, balance);
}
strBalanceOSD.Format(IDS_BALANCE_OSD, strBalance);
@@ -10257,6 +10314,7 @@ void CMainFrame::OpenCreateGraphObject(OpenMediaData* pOMD)
if (ct == "video/x-ms-asf") {
// TODO: put something here to make the windows media source filter load later
+#ifndef _WIN64
} else if (ct == "audio/x-pn-realaudio"
|| ct == "audio/x-pn-realaudio-plugin"
|| ct == "audio/x-realaudio-secure"
@@ -10266,17 +10324,28 @@ void CMainFrame::OpenCreateGraphObject(OpenMediaData* pOMD)
|| ct.Find("realaudio") >= 0
|| ct.Find("realvideo") >= 0) {
engine = RealMedia;
+#endif
} else if (ct == "application/x-shockwave-flash") {
engine = ShockWave;
+#ifndef _WIN64
} else if (ct == "video/quicktime"
|| ct == "application/x-quicktimeplayer") {
engine = QuickTime;
+#endif
+ }
+
+#ifdef _WIN64
+ // override
+ if (engine == RealMedia || engine == QuickTime) {
+ engine = DirectShow;
}
+#endif
HRESULT hr = E_FAIL;
CComPtr<IUnknown> pUnk;
if (engine == RealMedia) {
+#ifndef _WIN64
// TODO : see why Real SDK crash here ...
//if (!IsRealEngineCompatible(p->fns.GetHead()))
// throw ResStr(IDS_REALVIDEO_INCOMPATIBLE);
@@ -10292,6 +10361,7 @@ void CMainFrame::OpenCreateGraphObject(OpenMediaData* pOMD)
m_fRealMediaGraph = true;
}
}
+#endif
} else if (engine == ShockWave) {
pUnk = (IUnknown*)(INonDelegatingUnknown*)DEBUG_NEW DSObjects::CShockwaveGraph(m_pVideoWnd->m_hWnd, hr);
if (!pUnk) {
@@ -10563,7 +10633,7 @@ void CMainFrame::SetupChapters()
CHAR iso6391[3];
::GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, iso6391, 3);
- CStringA iso6392 = ISO6391To6392(iso6391);
+ CStringA iso6392 = ISOLang::ISO6391To6392(iso6391);
if (iso6392.GetLength() < 3) {
iso6392 = "eng";
}
@@ -11011,7 +11081,7 @@ void CMainFrame::OpenCustomizeGraph()
DWORD dwGroup = 0;
WCHAR* pszName = nullptr;
if (SUCCEEDED(pSS->Info((long)i, &pmt, &dwFlags, &lcid, &dwGroup, &pszName, nullptr, nullptr))) {
- CStringW name(pszName), sound(ResStr(IDS_AG_SOUND)), subtitle(L"Subtitle");
+ CStringW name(pszName), sound(StrRes(IDS_AG_SOUND)), subtitle(L"Subtitle");
if (idAudio != (LCID) - 1 && (idAudio & 0x3ff) == (lcid & 0x3ff) // sublang seems to be zeroed out in ogm...
&& name.GetLength() > sound.GetLength()
@@ -11201,19 +11271,19 @@ void CMainFrame::OpenSetupInfoBar(bool bClear /*= true*/)
}
EndEnumFilters;
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_TITLE), title);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_TITLE), title);
UpdateChapterInInfoBar();
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_AUTHOR), author);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_COPYRIGHT), copyright);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_RATING), rating);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DESCRIPTION), description);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_AUTHOR), author);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_COPYRIGHT), copyright);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_RATING), rating);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_DESCRIPTION), description);
} else if (GetPlaybackMode() == PM_DVD) {
- CString info('-');
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DOMAIN), info);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_LOCATION), info);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_VIDEO), info);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_AUDIO), info);
- bRecalcLayout |= m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_SUBTITLES), info);
+ CString info(_T('-'));
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_DOMAIN), info);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_LOCATION), info);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_VIDEO), info);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_AUDIO), info);
+ bRecalcLayout |= m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_SUBTITLES), info);
}
if (bRecalcLayout) {
@@ -11239,7 +11309,7 @@ void CMainFrame::UpdateChapterInInfoBar()
}
}
}
- if (m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_CHAPTER), chapter)) {
+ if (m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_CHAPTER), chapter)) {
RecalcLayout();
}
}
@@ -11250,7 +11320,7 @@ void CMainFrame::OpenSetupStatsBar()
m_wndStatsBar.RemoveAllLines();
if (GetLoadState() == MLS::LOADED) {
- CString info('-');
+ CString info(_T('-'));
bool bFoundIBitRateInfo = false;
BeginEnumFilters(m_pGB, pEF, pBF) {
@@ -11276,21 +11346,21 @@ void CMainFrame::OpenSetupStatsBar()
EndEnumFilters;
if (m_pQP) {
- m_wndStatsBar.SetLine(ResStr(IDS_AG_FRAMERATE), info);
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SYNC_OFFSET), info);
- m_wndStatsBar.SetLine(ResStr(IDS_AG_FRAMES), info);
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_JITTER), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_FRAMERATE), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_SYNC_OFFSET), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_FRAMES), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_JITTER), info);
} else {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_PLAYBACK_RATE), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_PLAYBACK_RATE), info);
}
if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_SIGNAL), info);
}
if (m_pBI) {
- m_wndStatsBar.SetLine(ResStr(IDS_AG_BUFFERS), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_AG_BUFFERS), info);
}
if (bFoundIBitRateInfo) {
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_BITRATE), info);
+ m_wndStatsBar.SetLine(StrRes(IDS_STATSBAR_BITRATE), info);
}
}
}
@@ -11345,7 +11415,7 @@ void CMainFrame::OpenSetupStatusBar()
// Called from GraphThread
void CMainFrame::OpenSetupWindowTitle(bool reset /*= false*/)
{
- CString title = ResStr(IDR_MAINFRAME);
+ CString title(StrRes(IDR_MAINFRAME));
#ifdef MPCHC_LITE
title += _T(" Lite");
#endif
@@ -11442,9 +11512,9 @@ int CMainFrame::SetupAudioStreams()
lang.MakeLower();
langs.Add(lang);
// Try to match the full language if possible
- lang = ISO639XToLanguage(CStringA(lang)).MakeLower();
+ lang = ISOLang::ISO639XToLanguage(CStringA(lang));
if (!lang.IsEmpty()) {
- langs.Add(lang);
+ langs.Add(lang.MakeLower());
}
lang = s.strAudiosLanguageOrder.Tokenize(_T(",; "), tPos);
}
@@ -11544,24 +11614,26 @@ int CMainFrame::SetupAudioStreams()
int CMainFrame::SetupSubtitleStreams()
{
const CAppSettings& s = AfxGetAppSettings();
+ int selected = -1;
if (!m_pSubStreams.IsEmpty()) {
bool externalPriority = false;
- CAtlArray<CString> langs;
+ std::list<ISOLangT<CString>> langs;
int tPos = 0;
CString lang = s.strSubtitlesLanguageOrder.Tokenize(_T(",; "), tPos);
while (tPos != -1) {
lang.MakeLower();
- langs.Add(lang);
- // Try to match the full language if possible
- lang = ISO639XToLanguage(CStringA(lang)).MakeLower();
- if (!lang.IsEmpty()) {
- langs.Add(lang);
+ ISOLangT<CString> l = ISOLang::ISO639XToISOLang(CStringA(lang));
+ if (l.name.IsEmpty()) {
+ l.name = lang;
+ } else {
+ l.name.MakeLower();
}
+ langs.emplace_back(l);
+
lang = s.strSubtitlesLanguageOrder.Tokenize(_T(",; "), tPos);
}
- int selected = -1;
int i = 0;
int maxrating = -1;
POSITION pos = m_pSubStreams.GetHeadPosition();
@@ -11578,15 +11650,14 @@ int CMainFrame::SetupSubtitleStreams()
if (pSSF && CFGFilterLAV::IsInternalInstance(subInput.pSourceFilter)) {
bAllowOverridingSplitterChoice = true;
if (CComQIPtr<ILAVFSettings> pLAVFSettings = subInput.pSourceFilter) {
- LPWSTR langPrefs = nullptr;
+ CComHeapPtr<WCHAR> pLangPrefs;
LAVSubtitleMode subtitleMode = pLAVFSettings->GetSubtitleMode();
- if ((((subtitleMode == LAVSubtitleMode_Default && SUCCEEDED(pLAVFSettings->GetPreferredSubtitleLanguages(&langPrefs)))
- || (subtitleMode == LAVSubtitleMode_Advanced && SUCCEEDED(pLAVFSettings->GetAdvancedSubtitleConfig(&langPrefs))))
- && langPrefs && wcslen(langPrefs))
+ if ((((subtitleMode == LAVSubtitleMode_Default && SUCCEEDED(pLAVFSettings->GetPreferredSubtitleLanguages(&pLangPrefs)))
+ || (subtitleMode == LAVSubtitleMode_Advanced && SUCCEEDED(pLAVFSettings->GetAdvancedSubtitleConfig(&pLangPrefs))))
+ && pLangPrefs && wcslen(pLangPrefs))
|| subtitleMode == LAVSubtitleMode_ForcedOnly || subtitleMode == LAVSubtitleMode_NoSubs) {
bAllowOverridingSplitterChoice = false;
}
- CoTaskMemFree(langPrefs);
}
} else {
bAllowOverridingSplitterChoice = s.bAllowOverridingExternalSplitterChoice;
@@ -11603,14 +11674,13 @@ int CMainFrame::SetupSubtitleStreams()
}
for (int j = 0; j < count; j++) {
- WCHAR* pName;
- HRESULT hr;
+ CComHeapPtr<WCHAR> pName;
+ LCID lcid = 0;
int rating = 0;
if (pSSF) {
DWORD dwFlags, dwGroup = 2;
- hr = pSSF->Info(j, nullptr, &dwFlags, nullptr, &dwGroup, &pName, nullptr, nullptr);
+ pSSF->Info(j, nullptr, &dwFlags, &lcid, &dwGroup, &pName, nullptr, nullptr);
if (dwGroup != 2) { // If the track isn't a subtitle track, we skip it
- CoTaskMemFree(pName);
continue;
} else if (dwFlags & (AMSTREAMSELECTINFO_ENABLED | AMSTREAMSELECTINFO_EXCLUSIVE)) {
// Give slightly higher priority to the track selected by splitter so that
@@ -11619,35 +11689,44 @@ int CMainFrame::SetupSubtitleStreams()
} else if (!bAllowOverridingSplitterChoice) {
// If we aren't allowed to modify the splitter choice and the current
// track isn't already selected at splitter level we need to skip it.
- CoTaskMemFree(pName);
i++;
continue;
}
} else {
- hr = pSubStream->GetStreamInfo(j, &pName, nullptr);
+ pSubStream->GetStreamInfo(j, &pName, &lcid);
}
CString name(pName);
- CoTaskMemFree(pName);
name.Trim();
name.MakeLower();
- for (size_t k = 0; k < langs.GetCount(); k++) {
- int num = _tstoi(langs[k]) - 1;
+ size_t k = 0;
+ for (const auto& l : langs) {
+ int num = _tstoi(l.name) - 1;
if (num >= 0) { // this is track number
if (i != num) {
+ k++;
continue; // not matched
}
} else { // this is lang string
- int len = langs[k].GetLength();
- if (name.Left(len) != langs[k] && name.Find(_T("[") + langs[k]) < 0) {
- continue; // not matched
+ // check the LCID first but keep looking if it doesn't match
+ if (lcid == 0 || lcid == LCID(-1) || lcid != l.lcid) {
+ auto findCode = [](const CString & name, const CString & code) {
+ int nPos = code.IsEmpty() ? -1 : name.Find(code);
+ return ((nPos == 0 && name.GetLength() == code.GetLength())
+ || (nPos > 0 && (name[nPos - 1] == _T('[') || name[nPos - 1] == _T('\t'))));
+ };
+ // match anything that starts with the language name or that seems to use a code that matches
+ if (name.Find(l.name) != 0 && !findCode(name, l.name) && !findCode(name, l.iso6392) && !findCode(name, l.iso6391)) {
+ k++;
+ continue; // not matched
+ }
}
}
- rating += 16 * int(langs.GetCount() - k);
+ rating += 16 * int(langs.size() - k);
break;
}
if (externalPriority) { // External tracks are given a higher priority than language matches
- rating += 16 * int(langs.GetCount() + 1);
+ rating += 16 * int(langs.size() + 1);
}
if (s.bPreferDefaultForcedSubtitles) {
if (name.Find(_T("[default,forced]")) != -1) { // for LAV Splitter
@@ -11668,10 +11747,17 @@ int CMainFrame::SetupSubtitleStreams()
i++;
}
}
- return selected;
}
- return -1;
+ if (s.IsISRAutoLoadEnabled() && !m_fAudioOnly) {
+ if (s.bAutoDownloadSubtitles && m_pSubStreams.IsEmpty()) {
+ m_pSubtitlesProviders->Search(TRUE);
+ } else if (m_wndSubtitlesDownloadDialog.IsWindowVisible()) {
+ m_pSubtitlesProviders->Search(FALSE);
+ }
+ }
+
+ return selected;
}
bool CMainFrame::OpenMediaPrivate(CAutoPtr<OpenMediaData> pOMD)
@@ -11817,6 +11903,19 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr<OpenMediaData> pOMD)
if (rtPos) {
m_pMS->SetPositions(&rtPos, AM_SEEKING_AbsolutePositioning, nullptr, AM_SEEKING_NoPositioning);
}
+
+ if (m_pCAP2 && m_pFSF) {
+ CComQIPtr<IBaseFilter> pBF = m_pFSF;
+ if (GetCLSID(pBF) == GUID_LAVSplitter || GetCLSID(pBF) == GUID_LAVSplitterSource) {
+ if (CComQIPtr<IPropertyBag> pPB = pBF) {
+ CComVariant var;
+ if (SUCCEEDED(pPB->Read(_T("rotation"), &var, nullptr)) && var.vt == VT_BSTR) {
+ // We need to convert the angle to use trigonomeric conventions
+ m_pCAP2->SetDefaultVideoAngle(Vector(0, 0, Vector::DegToRad((360 - _tcstol(var.bstrVal, nullptr, 10) % 360) % 360)));
+ }
+ }
+ }
+ }
}
if (m_pCAP && s.IsISRAutoLoadEnabled() && (!m_fAudioOnly || m_fRealMediaGraph)) {
@@ -12047,16 +12146,16 @@ void CMainFrame::DoTunerScan(TunerScanData* pTSD)
int nOffset = pTSD->Offset ? 3 : 1;
LONG lOffsets[3] = {0, pTSD->Offset, -pTSD->Offset};
m_bStopTunerScan = false;
- pTun->Scan(0, 0); // Clear maps
+ pTun->Scan(0, 0, NULL); // Clear maps
for (ULONG ulFrequency = pTSD->FrequencyStart; ulFrequency <= pTSD->FrequencyStop; ulFrequency += pTSD->Bandwidth) {
bool bSucceeded = false;
for (int nOffsetPos = 0; nOffsetPos < nOffset && !bSucceeded; nOffsetPos++) {
- if (SUCCEEDED(pTun->SetFrequency(ulFrequency + lOffsets[nOffsetPos]))) {
+ if (SUCCEEDED(pTun->SetFrequency(ulFrequency + lOffsets[nOffsetPos], pTSD->Bandwidth))) {
Sleep(200); // Let the tuner some time to detect the signal
if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
::SendMessage(pTSD->Hwnd, WM_TUNER_STATS, lDbStrength, lPercentQuality);
- pTun->Scan(ulFrequency + lOffsets[nOffsetPos], pTSD->Hwnd);
+ pTun->Scan(ulFrequency + lOffsets[nOffsetPos], pTSD->Bandwidth, pTSD->Hwnd);
bSucceeded = true;
}
}
@@ -12089,8 +12188,8 @@ void CMainFrame::SendNowPlayingToSkype()
if (GetLoadState() == MLS::LOADED) {
CString title, author;
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_TITLE), title);
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_AUTHOR), author);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_TITLE), title);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_AUTHOR), author);
if (title.IsEmpty()) {
CPlaylistItem pli;
@@ -12357,7 +12456,7 @@ void CMainFrame::SetupFiltersSubMenu()
CString streamName;
if (!wname) {
streamName.LoadString(IDS_AG_UNKNOWN_STREAM);
- streamName.AppendFormat(_T(" %u"), i + 1);
+ streamName.AppendFormat(_T(" %lu"), i + 1);
} else {
streamName = wname;
streamName.Replace(_T("&"), _T("&&"));
@@ -12469,10 +12568,10 @@ void CMainFrame::SetupAudioSubMenu()
str += _T(" (Visually Impaired)");
break;
case DVD_AUD_EXT_DirectorComments1:
- str += ResStr(IDS_MAINFRM_121);
+ str.AppendFormat(IDS_MAINFRM_121);
break;
case DVD_AUD_EXT_DirectorComments2:
- str += ResStr(IDS_MAINFRM_122);
+ str.AppendFormat(IDS_MAINFRM_122);
break;
}
@@ -12711,15 +12810,14 @@ void CMainFrame::SetupSubtitlesSubMenu()
}
for (int j = 0, cnt = pSubStream->GetStreamCount(); j < cnt; j++) {
- WCHAR* pName = nullptr;
+ CComHeapPtr<WCHAR> pName;
if (SUCCEEDED(pSubStream->GetStreamInfo(j, &pName, nullptr))) {
CString name(pName);
name.Replace(_T("&"), _T("&&"));
VERIFY(subMenu.AppendMenu(MF_STRING | MF_ENABLED, id++, name));
- CoTaskMemFree(pName);
} else {
- VERIFY(subMenu.AppendMenu(MF_STRING | MF_ENABLED, id++, ResStr(IDS_AG_UNKNOWN)));
+ VERIFY(subMenu.AppendMenu(MF_STRING | MF_ENABLED, id++, ResStr(IDS_AG_UNKNOWN_STREAM)));
}
i++;
}
@@ -12842,7 +12940,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
idStart >= ID_NAVIGATE_JUMPTO_SUBITEM_START ? MF_BYCOMMAND : MF_BYPOSITION));
}
};
- auto addSubMenuIfPossible = [&](const CString & subMenuName, CMenu & subMenu) {
+ auto addSubMenuIfPossible = [&](CString subMenuName, CMenu & subMenu) {
if (parentMenu && iInsertPos >= 0) {
if (parentMenu->InsertMenu(iInsertPos + m_nJumpToSubMenusCount, MF_POPUP | MF_BYPOSITION,
(UINT_PTR)(HMENU)subMenu, subMenuName)) {
@@ -12871,7 +12969,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
VERIFY(m_BDPlaylistMenu.AppendMenu(flags, id++, name + '\t' + time));
}
menuEndRadioSection(m_BDPlaylistMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_BD_PLAYLISTS), m_BDPlaylistMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_BD_PLAYLISTS), m_BDPlaylistMenu);
}
SetupChapters();
@@ -12901,7 +12999,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
VERIFY(m_chaptersMenu.AppendMenu(flags, id, name + '\t' + time));
}
menuEndRadioSection(m_chaptersMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_CHAPTERS), m_chaptersMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_CHAPTERS), m_chaptersMenu);
}
if (m_wndPlaylistBar.GetCount() > 1) {
@@ -12918,7 +13016,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
VERIFY(m_playlistMenu.AppendMenu(flags, id++, name));
}
menuEndRadioSection(m_playlistMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_PLAYLIST), m_playlistMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_PLAYLIST), m_playlistMenu);
}
} else if (GetPlaybackMode() == PM_DVD) {
ULONG ulNumOfVolumes, ulVolume, ulNumOfTitles, ulNumOfChapters, ulUOPs;
@@ -12945,7 +13043,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
VERIFY(m_titlesMenu.AppendMenu(flags, id++, str));
}
menuEndRadioSection(m_titlesMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_TITLES), m_titlesMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_TITLES), m_titlesMenu);
menuStartRadioSection();
for (ULONG i = 1; i <= ulNumOfChapters; i++) {
@@ -12963,7 +13061,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
VERIFY(m_chaptersMenu.AppendMenu(flags, id++, str));
}
menuEndRadioSection(m_chaptersMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_CHAPTERS), m_chaptersMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_CHAPTERS), m_chaptersMenu);
}
} else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
const CAppSettings& s = AfxGetAppSettings();
@@ -12979,27 +13077,18 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
id++;
}
menuEndRadioSection(m_channelsMenu);
- addSubMenuIfPossible(ResStr(IDS_NAVIGATE_CHANNELS), m_channelsMenu);
+ addSubMenuIfPossible(StrRes(IDS_NAVIGATE_CHANNELS), m_channelsMenu);
}
}
void CMainFrame::SetupNavStreamSelectSubMenu(CMenu& subMenu, UINT id, DWORD dwSelGroup)
{
- CComQIPtr<IAMStreamSelect> pSS;
bool bAddSeparator = false;
- BeginEnumFilters(m_pGB, pEF, pBF) {
- if (GetCLSID(pBF) == __uuidof(CAudioSwitcherFilter) || GetCLSID(pBF) == CLSID_MorganStreamSwitcher) {
- continue;
- }
-
- if (!(pSS = pBF)) {
- continue;
- }
-
+ auto addStreamSelectFilter = [&](CComPtr<IAMStreamSelect> pSS) {
DWORD cStreams;
- if (FAILED(pSS->Count(&cStreams))) {
- continue;
+ if (!pSS || FAILED(pSS->Count(&cStreams))) {
+ return;
}
bool bAdded = false;
@@ -13053,13 +13142,12 @@ void CMainFrame::SetupNavStreamSelectSubMenu(CMenu& subMenu, UINT id, DWORD dwSe
str.Replace(_T("&"), _T("&&"));
VERIFY(subMenu.AppendMenu(flags, id++, str));
}
- bAddSeparator = bAdded;
- }
- EndEnumFilters
-}
-void CMainFrame::OnNavStreamSelectSubMenu(UINT id, DWORD dwSelGroup)
-{
+ if (bAdded) {
+ bAddSeparator = true;
+ }
+ };
+
CComQIPtr<IAMStreamSelect> pSS;
BeginEnumFilters(m_pGB, pEF, pBF) {
@@ -13067,38 +13155,69 @@ void CMainFrame::OnNavStreamSelectSubMenu(UINT id, DWORD dwSelGroup)
continue;
}
- if (!(pSS = pBF)) {
- continue;
+ if (pSS = pBF) {
+ addStreamSelectFilter(pSS);
}
+ }
+ EndEnumFilters
+
+ if (pSS = m_pGB) {
+ addStreamSelectFilter(pSS);
+ }
+}
+
+void CMainFrame::OnNavStreamSelectSubMenu(UINT id, DWORD dwSelGroup)
+{
+ auto processStreamSelectFilter = [&](CComPtr<IAMStreamSelect> pSS) {
+ bool bSelected = false;
DWORD cStreams;
- if (FAILED(pSS->Count(&cStreams))) {
- return;
- }
+ if (SUCCEEDED(pSS->Count(&cStreams))) {
+ for (int i = 0, j = cStreams; i < j; i++) {
+ DWORD dwFlags, dwGroup;
+ LCID lcid;
+ CComHeapPtr<WCHAR> pszName;
- for (int i = 0, j = cStreams; i < j; i++) {
- DWORD dwFlags, dwGroup;
- LCID lcid;
- CComHeapPtr<WCHAR> pszName;
+ if (FAILED(pSS->Info(i, nullptr, &dwFlags, &lcid, &dwGroup, &pszName, nullptr, nullptr))
+ || !pszName) {
+ continue;
+ }
- if (FAILED(pSS->Info(i, nullptr, &dwFlags, &lcid, &dwGroup, &pszName, nullptr, nullptr))
- || !pszName) {
- continue;
- }
+ if (dwGroup != dwSelGroup) {
+ continue;
+ }
- if (dwGroup != dwSelGroup) {
- continue;
- }
+ if (id == 0) {
+ pSS->Enable(i, AMSTREAMSELECTENABLE_ENABLE);
+ bSelected = true;
+ break;
+ }
- if (id == 0) {
- pSS->Enable(i, AMSTREAMSELECTENABLE_ENABLE);
- break;
+ id--;
}
+ }
+
+ return bSelected;
+ };
+
+ CComQIPtr<IAMStreamSelect> pSS;
+
+ BeginEnumFilters(m_pGB, pEF, pBF) {
+ if (GetCLSID(pBF) == __uuidof(CAudioSwitcherFilter) || GetCLSID(pBF) == CLSID_MorganStreamSwitcher) {
+ continue;
+ }
- id--;
+ if (pSS = pBF) {
+ if (processStreamSelectFilter(pSS)) {
+ return;
+ }
}
}
EndEnumFilters
+
+ if (pSS = m_pGB) {
+ processStreamSelectFilter(pSS);
+ }
}
void CMainFrame::OnStreamSelect(bool bForward, DWORD dwSelGroup)
@@ -13159,6 +13278,7 @@ void CMainFrame::OnStreamSelect(bool bForward, DWORD dwSelGroup)
CString CMainFrame::GetStreamOSDString(CString name, LCID lcid, DWORD dwSelGroup)
{
+ name.Replace(_T("\t"), _T(" - "));
CString sLcid;
if (lcid && lcid != LCID(-1)) {
int len = GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, sLcid.GetBuffer(64), 64);
@@ -13170,11 +13290,15 @@ CString CMainFrame::GetStreamOSDString(CString name, LCID lcid, DWORD dwSelGroup
CString strMessage;
if (dwSelGroup == 1) {
int n = 0;
- if (name.Find(_T("A:")) == 0) { n = 2; }
+ if (name.Find(_T("A:")) == 0) {
+ n = 2;
+ }
strMessage.Format(IDS_AUDIO_STREAM, name.Mid(n).Trim());
} else if (dwSelGroup == 2) {
int n = 0;
- if (name.Find(_T("S:")) == 0) { n = 2; }
+ if (name.Find(_T("S:")) == 0) {
+ n = 2;
+ }
strMessage.Format(IDS_SUBTITLE_STREAM, name.Mid(n).Trim());
}
return strMessage;
@@ -13603,9 +13727,9 @@ void CMainFrame::SetSubtitle(const SubtitleInput& subInput)
bool bKeepAspectRatio = s.fKeepAspectRatio;
CSize szAspectRatio = m_pCAP->GetVideoSize(true);
CSize szVideoFrame;
- if (CComQIPtr<IMadVRInfo> pMVRI = m_pCAP) {
+ if (m_pMVRI) {
// Use IMadVRInfo to get size. See http://bugs.madshi.net/view.php?id=180
- pMVRI->GetSize("originalVideoSize", &szVideoFrame);
+ m_pMVRI->GetSize("originalVideoSize", &szVideoFrame);
bKeepAspectRatio = true;
} else {
szVideoFrame = m_pCAP->GetVideoSize(false);
@@ -13626,12 +13750,11 @@ void CMainFrame::SetSubtitle(const SubtitleInput& subInput)
}
CComQIPtr<ISubRenderOptions> pSRO = m_pCAP;
- CComQIPtr<IMadVRInfo> pMVRI = m_pCAP;
LPWSTR yuvMatrix = nullptr;
int nLen;
- if (pMVRI) {
- pMVRI->GetString("yuvMatrix", &yuvMatrix, &nLen);
+ if (m_pMVRI) {
+ m_pMVRI->GetString("yuvMatrix", &yuvMatrix, &nLen);
} else if (pSRO) {
pSRO->GetString("yuvMatrix", &yuvMatrix, &nLen);
}
@@ -14349,7 +14472,7 @@ bool CMainFrame::StopCapture()
return false;
}
- m_wndStatusBar.SetStatusMessage(ResStr(IDS_CONTROLS_COMPLETING));
+ m_wndStatusBar.SetStatusMessage(StrRes(IDS_CONTROLS_COMPLETING));
m_fCapturing = false;
BuildGraphVideoAudio(
@@ -14555,15 +14678,15 @@ void CMainFrame::OpenMedia(CAutoPtr<OpenMediaData> pOMD)
CString ext = filename.Mid(filename.ReverseFind('.') + 1);
m_wndStatusBar.SetMediaType(ext);
} else if (pDVDData) {
- m_wndStatusBar.SetMediaType(".ifo");
+ m_wndStatusBar.SetMediaType(_T(".ifo"));
} else {
// TODO: Create icons for pDeviceData
- m_wndStatusBar.SetMediaType(".unknown");
+ m_wndStatusBar.SetMediaType(_T(".unknown"));
}
// initiate graph creation, OpenMediaPrivate() will call OnFilePostOpenmedia()
if (bUseThread) {
- VERIFY(m_evOpenPrivateFinished.ResetEvent());
+ VERIFY(m_evOpenPrivateFinished.Reset());
VERIFY(m_pGraphThread->PostThreadMessage(CGraphThread::TM_OPEN, 0, (LPARAM)pOMD.Detach()));
m_bOpenedThroughThread = true;
} else {
@@ -14662,10 +14785,13 @@ void CMainFrame::CloseMedia(bool bNextIsQueued/* = false*/)
SetupVideoStreamsSubMenu();
SetupJumpToSubMenus();
+ m_pSubtitlesProviders->Abort(SubtitlesThreadType(STT_SEARCH | STT_DOWNLOAD));
+ m_wndSubtitlesDownloadDialog.DoClear();
+
// initiate graph destruction
if (m_pGraphThread && m_bOpenedThroughThread) {
// either opening or closing has to be blocked to prevent reentering them, closing is the better choice
- VERIFY(m_evClosePrivateFinished.ResetEvent());
+ VERIFY(m_evClosePrivateFinished.Reset());
VERIFY(m_pGraphThread->PostThreadMessage(CGraphThread::TM_CLOSE, 0, 0));
HANDLE handle = m_evClosePrivateFinished;
@@ -14837,7 +14963,7 @@ LRESULT CMainFrame::OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam)
CString sChannelInfo = m_pDVBState->sChannelName;
m_wndInfoBar.RemoveAllLines();
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_CHANNEL), sChannelInfo);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_CHANNEL), sChannelInfo);
if (infoData.hr == S_OK) {
// EIT information parsed correctly
@@ -14845,8 +14971,8 @@ LRESULT CMainFrame::OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam)
sChannelInfo.AppendFormat(_T(" | %s (%s - %s)"), NowNext.eventName, NowNext.strStartTime, NowNext.strEndTime);
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_TITLE), NowNext.eventName);
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_TIME), NowNext.strStartTime + _T(" - ") + NowNext.strEndTime);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_TITLE), NowNext.eventName);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_TIME), NowNext.strStartTime + _T(" - ") + NowNext.strEndTime);
if (NowNext.parentalRating >= 0) {
CString parentRating;
@@ -14855,11 +14981,11 @@ LRESULT CMainFrame::OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam)
} else {
parentRating.Format(IDS_PARENTAL_RATING, NowNext.parentalRating);
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_PARENTAL_RATING), parentRating);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_PARENTAL_RATING), parentRating);
}
if (!NowNext.content.IsEmpty()) {
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_CONTENT), NowNext.content);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_CONTENT), NowNext.content);
}
CString description = NowNext.eventDesc;
@@ -14869,7 +14995,7 @@ LRESULT CMainFrame::OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam)
}
description += NowNext.extendedDescriptorsText;
}
- m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DESCRIPTION), description);
+ m_wndInfoBar.SetLine(StrRes(IDS_INFOBAR_DESCRIPTION), description);
for (const auto& item : NowNext.extendedDescriptorsItems) {
m_wndInfoBar.SetLine(item.first, item.second);
@@ -14968,11 +15094,42 @@ bool CMainFrame::CreateFullScreenWindow()
WS_POPUP | WS_VISIBLE, monitorRect, nullptr, 0);
}
+bool CMainFrame::IsFrameLessWindow() const
+{
+ return (m_fFullScreen || AfxGetAppSettings().eCaptionMenuMode == MODE_BORDERLESS);
+}
+
+bool CMainFrame::IsCaptionHidden() const
+{
+ // If no caption, there is no menu bar. But if is no menu bar, then the caption can be.
+ return (!m_fFullScreen && AfxGetAppSettings().eCaptionMenuMode > MODE_HIDEMENU); //!=MODE_SHOWCAPTIONMENU && !=MODE_HIDEMENU
+}
+
+bool CMainFrame::IsMenuHidden() const
+{
+ return (!m_fFullScreen && AfxGetAppSettings().eCaptionMenuMode != MODE_SHOWCAPTIONMENU);
+}
+
+bool CMainFrame::IsPlaylistEmpty() const
+{
+ return (m_wndPlaylistBar.GetCount() == 0);
+}
+
+bool CMainFrame::IsInteractiveVideo() const
+{
+ return (AfxGetAppSettings().fIntRealMedia && m_fRealMediaGraph || m_fShockwaveGraph);
+}
+
bool CMainFrame::IsD3DFullScreenMode() const
{
return m_pFullscreenWnd && m_pFullscreenWnd->IsWindow();
};
+bool CMainFrame::IsSubresyncBarVisible() const
+{
+ return !!m_wndSubresyncBar.IsWindowVisible();
+}
+
void CMainFrame::SetupEVRColorControl()
{
if (m_pMFVP) {
@@ -15132,7 +15289,7 @@ afx_msg void CMainFrame::OnSubtitleDelay(UINT nID)
{
if (m_pCAP) {
if (m_pSubStreams.IsEmpty()) {
- SendStatusMessage(ResStr(IDS_SUBTITLES_ERROR), 3000);
+ SendStatusMessage(StrRes(IDS_SUBTITLES_ERROR), 3000);
return;
}
@@ -15306,9 +15463,9 @@ void CMainFrame::SendNowPlayingToApi()
CString strDur;
if (GetPlaybackMode() == PM_FILE) {
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_TITLE), title);
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_AUTHOR), author);
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_DESCRIPTION), description);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_TITLE), title);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_AUTHOR), author);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_DESCRIPTION), description);
m_wndPlaylistBar.GetCur(pli);
if (!pli.m_fns.IsEmpty()) {
@@ -15718,7 +15875,7 @@ void CMainFrame::OnFileOpendirectory()
}
const CAppSettings& s = AfxGetAppSettings();
- CString strTitle = ResStr(IDS_MAINFRM_DIR_TITLE);
+ CString strTitle(StrRes(IDS_MAINFRM_DIR_TITLE));
CString path;
if (SysVersion::IsVistaOrLater()) {
@@ -15782,7 +15939,7 @@ void CMainFrame::OnFileOpendirectory()
}
if (path[path.GetLength() - 1] != '\\') {
- path += '\\';
+ path += _T('\\');
}
CAtlList<CString> sl;
@@ -16156,7 +16313,7 @@ void CMainFrame::OnSessionChange(UINT nSessionState, UINT nId)
void CMainFrame::WTSRegisterSessionNotification()
{
const WinapiFunc<BOOL WINAPI(HWND, DWORD)>
- fnWtsRegisterSessionNotification = { "wtsapi32.dll", "WTSRegisterSessionNotification" };
+ fnWtsRegisterSessionNotification = { _T("wtsapi32.dll"), "WTSRegisterSessionNotification" };
if (fnWtsRegisterSessionNotification) {
fnWtsRegisterSessionNotification(m_hWnd, NOTIFY_FOR_THIS_SESSION);
@@ -16166,7 +16323,7 @@ void CMainFrame::WTSRegisterSessionNotification()
void CMainFrame::WTSUnRegisterSessionNotification()
{
const WinapiFunc<BOOL WINAPI(HWND)>
- fnWtsUnRegisterSessionNotification = { "wtsapi32.dll", "WTSUnRegisterSessionNotification" };
+ fnWtsUnRegisterSessionNotification = { _T("wtsapi32.dll"), "WTSUnRegisterSessionNotification" };
if (fnWtsUnRegisterSessionNotification) {
fnWtsUnRegisterSessionNotification(m_hWnd);
@@ -16222,7 +16379,7 @@ void CMainFrame::UpdateControlState(UpdateControlTarget target)
path.RemoveFileSpec();
CString author;
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_AUTHOR), author);
+ m_wndInfoBar.GetLine(StrRes(IDS_INFOBAR_AUTHOR), author);
CString strPath = path;
CComQIPtr<IFilterGraph> pFilterGraph = m_pGB;
@@ -16570,7 +16727,7 @@ void CMainFrame::UpdateDXVAStatus()
bool CMainFrame::GetDecoderType(CString& type) const
{
if (!m_fAudioOnly) {
- type = m_bUsingDXVA ? m_HWAccelType : ResStr(IDS_TOOLTIP_SOFTWARE_DECODING);
+ type = m_bUsingDXVA ? m_HWAccelType : StrRes(IDS_TOOLTIP_SOFTWARE_DECODING);
return true;
}
return false;
@@ -16623,9 +16780,9 @@ void CMainFrame::UpdateSubAspectRatioCompensation()
bool bKeepAspectRatio = s.fKeepAspectRatio;
CSize szAspectRatio = m_pCAP->GetVideoSize(true);
CSize szVideoFrame;
- if (CComQIPtr<IMadVRInfo> pMVRI = m_pCAP) {
+ if (m_pMVRI) {
// Use IMadVRInfo to get size. See http://bugs.madshi.net/view.php?id=180
- pMVRI->GetSize("originalVideoSize", &szVideoFrame);
+ m_pMVRI->GetSize("originalVideoSize", &szVideoFrame);
bKeepAspectRatio = true;
} else {
szVideoFrame = m_pCAP->GetVideoSize(false);
@@ -16689,14 +16846,14 @@ REFTIME CMainFrame::GetAvgTimePerFrame() const
if (VATR.ulFrameRate == 50) {
ratio = 25.0 * refAvgTimePerFrame;
// Accept 25 or 50 fps
- if (!NEARLY_EQ(ratio, 1.0, 1e-2) && !NEARLY_EQ(ratio, 2.0, 1e-2)) {
+ if (!IsNearlyEqual(ratio, 1.0, 1e-2) && !IsNearlyEqual(ratio, 2.0, 1e-2)) {
refAvgTimePerFrame = 1.0 / 25.0;
}
} else {
ratio = 29.97 * refAvgTimePerFrame;
// Accept 29,97, 59.94, 23.976 or 47.952 fps
- if (!NEARLY_EQ(ratio, 1.0, 1e-2) && !NEARLY_EQ(ratio, 2.0, 1e-2)
- && !NEARLY_EQ(ratio, 1.25, 1e-2) && !NEARLY_EQ(ratio, 2.5, 1e-2)) {
+ if (!IsNearlyEqual(ratio, 1.0, 1e-2) && !IsNearlyEqual(ratio, 2.0, 1e-2)
+ && !IsNearlyEqual(ratio, 1.25, 1e-2) && !IsNearlyEqual(ratio, 2.5, 1e-2)) {
refAvgTimePerFrame = 1.0 / 29.97;
}
}
@@ -16724,3 +16881,100 @@ void CMainFrame::OnVideoSizeChanged(const bool bWasAudioOnly /*= false*/)
}
MoveVideoWindow();
}
+
+typedef struct {
+ SubtitlesInfo* pSubtitlesInfo;
+ BOOL bActivate;
+ std::string fileName;
+ std::string fileContents;
+} SubtitlesData;
+
+LRESULT CMainFrame::OnLoadSubtitles(WPARAM wParam, LPARAM lParam)
+{
+ SubtitlesData& data = *(SubtitlesData*)lParam;
+
+ CAutoPtr<CRenderedTextSubtitle> pRTS(DEBUG_NEW CRenderedTextSubtitle(&m_csSubLock));
+ if (pRTS && pRTS->Open(CString(data.pSubtitlesInfo->Provider()->Name().c_str()),
+ (BYTE*)(LPCSTR)data.fileContents.c_str(), (int)data.fileContents.length(), DEFAULT_CHARSET,
+ UTF8To16(data.fileName.c_str()), Subtitle::HearingImpairedType(data.pSubtitlesInfo->hearingImpaired),
+ ISOLang::ISO6391ToLcid(data.pSubtitlesInfo->languageCode.c_str())) && pRTS->GetStreamCount() > 0) {
+ m_wndSubtitlesDownloadDialog.DoDownloaded(*data.pSubtitlesInfo);
+
+ SubtitleInput subElement = pRTS.Detach();
+ m_pSubStreams.AddTail(subElement);
+ if (data.bActivate) {
+ SetSubtitle(subElement.pSubStream);
+ }
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+LRESULT CMainFrame::OnGetSubtitles(WPARAM, LPARAM lParam)
+{
+ CheckPointer(lParam, FALSE);
+
+ int n = 0;
+ SubtitleInput* pSubInput = GetSubtitleInput(n, true);
+ CheckPointer(pSubInput, FALSE);
+
+ CLSID clsid;
+ if (FAILED(pSubInput->pSubStream->GetClassID(&clsid)) || clsid != __uuidof(CRenderedTextSubtitle)) {
+ return FALSE;
+ }
+
+ CRenderedTextSubtitle* pRTS = (CRenderedTextSubtitle*)(ISubStream*)pSubInput->pSubStream;
+ // Only for external text subtitles
+ if (pRTS->m_path.IsEmpty()) {
+ return FALSE;
+ }
+
+ SubtitlesInfo* pSubtitlesInfo = reinterpret_cast<SubtitlesInfo*>(lParam);
+
+ pSubtitlesInfo->GetFileInfo();
+ pSubtitlesInfo->releaseNames.emplace_back(UTF16To8(pRTS->m_name));
+ if (pSubtitlesInfo->hearingImpaired == Subtitle::HI_UNKNOWN) {
+ pSubtitlesInfo->hearingImpaired = pRTS->m_eHearingImpaired;
+ }
+
+ if (!pSubtitlesInfo->languageCode.length() && pRTS->m_lcid && pRTS->m_lcid != LCID(-1)) {
+ CString str;
+ int len = GetLocaleInfo(pRTS->m_lcid, LOCALE_SISO639LANGNAME, str.GetBuffer(64), 64);
+ str.ReleaseBufferSetLength(std::max(len - 1, 0));
+ pSubtitlesInfo->languageCode = UTF16To8(str);
+ }
+
+ pSubtitlesInfo->frameRate = m_pCAP->GetFPS();
+ int delay = m_pCAP->GetSubtitleDelay();
+ if (pRTS->m_mode == FRAME) {
+ delay = std::lround(delay * pSubtitlesInfo->frameRate / 1000.0);
+ }
+
+ const CStringW fmt(L"%d\n%02d:%02d:%02d,%03d --> %02d:%02d:%02d,%03d\n%s\n\n");
+ CStringW content;
+ CAutoLock cAutoLock(&m_csSubLock);
+ for (int i = 0, j = int(pRTS->GetCount()), k = 0; i < j; i++) {
+ int t1 = (int)(RT2MS(pRTS->TranslateStart(i, pSubtitlesInfo->frameRate)) + delay);
+ if (t1 < 0) {
+ k++;
+ continue;
+ }
+
+ int t2 = (int)(RT2MS(pRTS->TranslateEnd(i, pSubtitlesInfo->frameRate)) + delay);
+
+ int hh1 = (t1 / 60 / 60 / 1000);
+ int mm1 = (t1 / 60 / 1000) % 60;
+ int ss1 = (t1 / 1000) % 60;
+ int ms1 = (t1) % 1000;
+ int hh2 = (t2 / 60 / 60 / 1000);
+ int mm2 = (t2 / 60 / 1000) % 60;
+ int ss2 = (t2 / 1000) % 60;
+ int ms2 = (t2) % 1000;
+
+ content.AppendFormat(fmt, i - k + 1, hh1, mm1, ss1, ms1, hh2, mm2, ss2, ms2, pRTS->GetStrW(i, false));
+ }
+
+ pSubtitlesInfo->fileContents = UTF16To8(content);
+ return TRUE;
+}
diff --git a/src/mpc-hc/MainFrm.h b/src/mpc-hc/MainFrm.h
index 653463938..f9ddc8787 100644
--- a/src/mpc-hc/MainFrm.h
+++ b/src/mpc-hc/MainFrm.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,63 +21,51 @@
#pragma once
-#include <atlbase.h>
-
#include "ChildView.h"
+#include "DVBChannel.h"
#include "DebugShadersDlg.h"
-#include "PlayerSeekBar.h"
-#include "PlayerToolBar.h"
+#include "DropTarget.h"
+#include "EditListEditor.h"
+#include "IBufferInfo.h"
+#include "IKeyFrameInfo.h"
+#include "MainFrmControls.h"
+#include "MouseTouch.h"
+#include "MpcApi.h"
+#include "PlayerCaptureBar.h"
#include "PlayerInfoBar.h"
+#include "PlayerNavigationBar.h"
+#include "PlayerPlaylistBar.h"
+#include "PlayerSeekBar.h"
#include "PlayerStatusBar.h"
#include "PlayerSubresyncBar.h"
-#include "PlayerPlaylistBar.h"
-#include "PlayerCaptureBar.h"
-#include "PlayerNavigationBar.h"
-#include "EditListEditor.h"
-#include "PPageSheet.h"
-#include "PPageFileInfoSheet.h"
-#include "DropTarget.h"
-#include "KeyProvider.h"
-#include "GraphThread.h"
+#include "PlayerToolBar.h"
+#include "SubtitleDlDlg.h"
+#include "SubtitleUpDlg.h"
#include "TimerWrappers.h"
-#include "MainFrmControls.h"
-
-#include "../SubPic/ISubPic.h"
-
-#include "IGraphBuilder2.h"
-
-#include "RealMediaGraph.h"
-#ifndef _WIN64
-// TODO: add QuickTime support for x64 when available!
-#include "QuicktimeGraph.h"
-#endif /* _WIN64 */
-#include "ShockwaveGraph.h"
-
-#include "IChapterInfo.h"
-#include "IKeyFrameInfo.h"
-#include "IBufferInfo.h"
-
-#include "WebServer.h"
-#include <afxmt.h>
-#include <d3d9.h>
-#include <vmr9.h>
-#include <evr.h>
-#include <evr9.h>
-#include <Il21dec.h>
#include "VMROSD.h"
-#include "LcdSupport.h"
-#include "MpcApi.h"
-#include "../filters/renderer/SyncClock/SyncClock.h"
-#include "sizecbar/scbarg.h"
-#include "DSMPropertyBag.h"
-#include "SkypeMoodMsgHandler.h"
-#include "DpiHelper.h"
-
-#include <memory>
-#include <future>
+#define AfxGetMainFrame() dynamic_cast<CMainFrame*>(AfxGetMainWnd())
+class CDebugShadersDlg;
class CFullscreenWnd;
+class SkypeMoodMsgHandler;
+struct DisplayMode;
+enum MpcCaptionState;
+
+interface IDSMChapterBag;
+interface IGraphBuilder2;
+interface IMFVideoDisplayControl;
+interface IMFVideoProcessor;
+interface IMadVRCommand;
+interface IMadVRInfo;
+interface IMadVRSettings;
+interface IMadVRSubclassReplacement;
+interface ISubClock;
+interface ISubPicAllocatorPresenter2;
+interface ISubPicAllocatorPresenter;
+interface ISubStream;
+interface ISyncClock;
+DECLARE_INTERFACE_IID(IAMLine21Decoder_2, "6E8D4A21-310C-11d0-B79A-00AA003767A7");
enum class MLS {
CLOSED,
@@ -95,10 +83,6 @@ enum {
PM_DIGITAL_CAPTURE
};
-interface __declspec(uuid("6E8D4A21-310C-11d0-B79A-00AA003767A7")) // IID_IAMLine21Decoder
-IAMLine21Decoder_2 :
-public IAMLine21Decoder {};
-
class OpenMediaData
{
public:
@@ -154,12 +138,6 @@ struct SubtitleInput {
: pSubStream(pSubStream), pSourceFilter(pSourceFilter) {};
};
-interface IMadVRCommand;
-interface IMadVRSettings;
-interface IMadVRSubclassReplacement;
-interface IMadVRInfo;
-interface ISubClock;
-
class CMainFrame : public CFrameWnd, public CDropClient
{
public:
@@ -214,10 +192,10 @@ private:
friend class CPPageFileInfoSheet;
friend class CPPageLogo;
- friend class CSubtitleDlDlg;
friend class CMouse;
friend class CPlayerSeekBar; // for accessing m_controls.ControlChecked()
friend class CChildView; // for accessing m_controls.DelayShowNotLoaded()
+ friend class SubtitlesProvider;
// TODO: wrap these graph objects into a class to make it look cleaner
@@ -428,26 +406,13 @@ public:
CComPtr<IBaseFilter> m_pRefClock; // Adjustable reference clock. GothSync
CComPtr<ISyncClock> m_pSyncClock;
- bool IsFrameLessWindow() const {
- return (m_fFullScreen || AfxGetAppSettings().eCaptionMenuMode == MODE_BORDERLESS);
- }
- bool IsCaptionHidden() const {//If no caption, there is no menu bar. But if is no menu bar, then the caption can be.
- return (!m_fFullScreen && AfxGetAppSettings().eCaptionMenuMode > MODE_HIDEMENU); //!=MODE_SHOWCAPTIONMENU && !=MODE_HIDEMENU
- }
- bool IsMenuHidden() const {
- return (!m_fFullScreen && AfxGetAppSettings().eCaptionMenuMode != MODE_SHOWCAPTIONMENU);
- }
- bool IsPlaylistEmpty() const {
- return (m_wndPlaylistBar.GetCount() == 0);
- }
- bool IsInteractiveVideo() const {
- return (AfxGetAppSettings().fIntRealMedia && m_fRealMediaGraph || m_fShockwaveGraph);
- }
+ bool IsFrameLessWindow() const;
+ bool IsCaptionHidden() const;
+ bool IsMenuHidden() const;
+ bool IsPlaylistEmpty() const;
+ bool IsInteractiveVideo() const;
bool IsD3DFullScreenMode() const;
-
- bool IsSubresyncBarVisible() const {
- return !!m_wndSubresyncBar.IsWindowVisible();
- }
+ bool IsSubresyncBarVisible() const;
CControlBar* m_pLastBar;
@@ -459,7 +424,6 @@ protected:
bool m_fAudioOnly;
CString m_LastOpenBDPath;
CAutoPtr<OpenMediaData> m_lastOMD;
- HMONITOR m_LastWindow_HM;
DVD_DOMAIN m_iDVDDomain;
DWORD m_iDVDTitle;
@@ -494,7 +458,7 @@ public:
static bool GetDispMode(CString displayName, int i, DisplayMode& dm);
protected:
- void SetDispMode(CString displayName, const DisplayMode& dm);
+ void SetDispMode(CString displayName, const DisplayMode& dm, int msAudioDelay);
void AutoChangeMonitorMode();
void GraphEventComplete();
@@ -511,6 +475,19 @@ protected:
bool m_fOpeningAborted;
bool m_bWasSnapped;
+protected:
+ friend class CSubtitleDlDlg;
+ CSubtitleDlDlg m_wndSubtitlesDownloadDialog;
+ friend class CSubtitleUpDlg;
+ CSubtitleUpDlg m_wndSubtitlesUploadDialog;
+ friend class CPPageSubMisc;
+
+ friend class SubtitlesProviders;
+ std::unique_ptr<SubtitlesProviders> m_pSubtitlesProviders;
+ friend struct SubtitlesInfo;
+ friend class SubtitlesTask;
+ friend class SubtitlesThread;
+
public:
void OpenCurPlaylistItem(REFERENCE_TIME rtStart = 0);
void OpenMedia(CAutoPtr<OpenMediaData> pOMD);
@@ -741,6 +718,8 @@ public:
afx_msg void OnDvdSub(UINT nID);
afx_msg void OnDvdSubOnOff();
+ afx_msg LRESULT OnLoadSubtitles(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnGetSubtitles(WPARAM, LPARAM lParam);
// menu item handlers
@@ -760,16 +739,14 @@ public:
afx_msg void OnUpdateFileSaveImage(CCmdUI* pCmdUI);
afx_msg void OnFileSaveThumbnails();
afx_msg void OnUpdateFileSaveThumbnails(CCmdUI* pCmdUI);
- afx_msg void OnFileLoadsubtitle();
- afx_msg void OnUpdateFileLoadsubtitle(CCmdUI* pCmdUI);
- afx_msg void OnFileSavesubtitle();
- afx_msg void OnUpdateFileSavesubtitle(CCmdUI* pCmdUI);
- afx_msg void OnFileISDBSearch();
- afx_msg void OnUpdateFileISDBSearch(CCmdUI* pCmdUI);
- afx_msg void OnFileISDBUpload();
- afx_msg void OnUpdateFileISDBUpload(CCmdUI* pCmdUI);
- afx_msg void OnFileISDBDownload();
- afx_msg void OnUpdateFileISDBDownload(CCmdUI* pCmdUI);
+ afx_msg void OnFileSubtitlesLoad();
+ afx_msg void OnUpdateFileSubtitlesLoad(CCmdUI* pCmdUI);
+ afx_msg void OnFileSubtitlesSave();
+ afx_msg void OnUpdateFileSubtitlesSave(CCmdUI* pCmdUI);
+ afx_msg void OnFileSubtitlesUpload();
+ afx_msg void OnUpdateFileSubtitlesUpload(CCmdUI* pCmdUI);
+ afx_msg void OnFileSubtitlesDownload();
+ afx_msg void OnUpdateFileSubtitlesDownload(CCmdUI* pCmdUI);
afx_msg void OnFileProperties();
afx_msg void OnUpdateFileProperties(CCmdUI* pCmdUI);
afx_msg void OnFileCloseAndRestore();
@@ -818,8 +795,6 @@ public:
afx_msg void OnUpdateViewDefaultVideoFrame(CCmdUI* pCmdUI);
afx_msg void OnViewSwitchVideoFrame();
afx_msg void OnUpdateViewSwitchVideoFrame(CCmdUI* pCmdUI);
- afx_msg void OnViewKeepaspectratio();
- afx_msg void OnUpdateViewKeepaspectratio(CCmdUI* pCmdUI);
afx_msg void OnViewCompMonDeskARDiff();
afx_msg void OnUpdateViewCompMonDeskARDiff(CCmdUI* pCmdUI);
afx_msg void OnViewPanNScan(UINT nID);
@@ -957,6 +932,10 @@ public:
afx_msg void OnPlayColor(UINT nID);
afx_msg void OnAfterplayback(UINT nID);
afx_msg void OnUpdateAfterplayback(CCmdUI* pCmdUI);
+ afx_msg void OnPlayRepeat(UINT nID);
+ afx_msg void OnUpdatePlayRepeat(CCmdUI* pCmdUI);
+ afx_msg void OnPlayRepeatForever();
+ afx_msg void OnUpdatePlayRepeatForever(CCmdUI* pCmdUI);
afx_msg void OnNavigateSkip(UINT nID);
afx_msg void OnUpdateNavigateSkip(CCmdUI* pCmdUI);
diff --git a/src/mpc-hc/MainFrmControls.cpp b/src/mpc-hc/MainFrmControls.cpp
index f0f1e31b8..80161db66 100644
--- a/src/mpc-hc/MainFrmControls.cpp
+++ b/src/mpc-hc/MainFrmControls.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2015 see Authors.txt
+ * (C) 2013-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,7 @@
#include "stdafx.h"
#include "MainFrmControls.h"
#include "MainFrm.h"
+#include "mplayerc.h"
#include <mvrInterfaces.h>
#define DELAY_SHOW_NOT_LOADED_TIME_MS 3000
@@ -323,8 +324,14 @@ void CMainFrameControls::UpdateToolbarsVisibility()
struct {
int maskShow, maskHide;
- void show(int mask) { maskShow |= mask; maskHide &= ~mask; }
- void hide(int mask) { maskHide |= mask; maskShow &= ~mask; }
+ void show(int mask) {
+ maskShow |= mask;
+ maskHide &= ~mask;
+ }
+ void hide(int mask) {
+ maskHide |= mask;
+ maskShow &= ~mask;
+ }
} mask = { 0, 0 };
const int maskAll = DOCK_LEFT | DOCK_RIGHT | DOCK_TOP | DOCK_BOTTOM;
diff --git a/src/mpc-hc/MediaFormats.cpp b/src/mpc-hc/MediaFormats.cpp
index 7d1b283e0..ff243666f 100644
--- a/src/mpc-hc/MediaFormats.cpp
+++ b/src/mpc-hc/MediaFormats.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -207,59 +207,59 @@ void CMediaFormats::UpdateData(bool fSave)
#define ADDFMT(f) Add(CMediaFormatCategory##f)
- ADDFMT((_T("avi"), ResStr(IDS_MFMT_AVI), _T("avi")));
- ADDFMT((_T("mpeg"), ResStr(IDS_MFMT_MPEG), _T("mpg mpeg mpe m1v m2v mpv2 mp2v pva evo m2p")));
- ADDFMT((_T("mpegts"), ResStr(IDS_MFMT_MPEGTS), _T("ts tp trp m2t m2ts mts rec")));
- ADDFMT((_T("dvdvideo"), ResStr(IDS_MFMT_DVDVIDEO), _T("vob ifo")));
- ADDFMT((_T("mkv"), ResStr(IDS_MFMT_MKV), _T("mkv")));
- ADDFMT((_T("webm"), ResStr(IDS_MFMT_WEBM), _T("webm")));
- ADDFMT((_T("mp4"), ResStr(IDS_MFMT_MP4), _T("mp4 m4v mp4v mpv4 hdmov")));
- ADDFMT((_T("mov"), ResStr(IDS_MFMT_MOV), _T("mov")));
- ADDFMT((_T("3gp"), ResStr(IDS_MFMT_3GP), _T("3gp 3gpp 3ga")));
- ADDFMT((_T("3g2"), ResStr(IDS_MFMT_3G2), _T("3g2 3gp2")));
- ADDFMT((_T("flv"), ResStr(IDS_MFMT_FLV), _T("flv f4v")));
- ADDFMT((_T("ogm"), ResStr(IDS_MFMT_OGM), _T("ogm ogv")));
- ADDFMT((_T("rm"), ResStr(IDS_MFMT_RM), _T("rm rmvb")));
+ ADDFMT((_T("avi"), StrRes(IDS_MFMT_AVI), _T("avi")));
+ ADDFMT((_T("mpeg"), StrRes(IDS_MFMT_MPEG), _T("mpg mpeg mpe m1v m2v mpv2 mp2v pva evo m2p")));
+ ADDFMT((_T("mpegts"), StrRes(IDS_MFMT_MPEGTS), _T("ts tp trp m2t m2ts mts rec ssif")));
+ ADDFMT((_T("dvdvideo"), StrRes(IDS_MFMT_DVDVIDEO), _T("vob ifo")));
+ ADDFMT((_T("mkv"), StrRes(IDS_MFMT_MKV), _T("mkv mk3d")));
+ ADDFMT((_T("webm"), StrRes(IDS_MFMT_WEBM), _T("webm")));
+ ADDFMT((_T("mp4"), StrRes(IDS_MFMT_MP4), _T("mp4 m4v mp4v mpv4 hdmov")));
+ ADDFMT((_T("mov"), StrRes(IDS_MFMT_MOV), _T("mov")));
+ ADDFMT((_T("3gp"), StrRes(IDS_MFMT_3GP), _T("3gp 3gpp 3ga")));
+ ADDFMT((_T("3g2"), StrRes(IDS_MFMT_3G2), _T("3g2 3gp2")));
+ ADDFMT((_T("flv"), StrRes(IDS_MFMT_FLV), _T("flv f4v")));
+ ADDFMT((_T("ogm"), StrRes(IDS_MFMT_OGM), _T("ogm ogv")));
+ ADDFMT((_T("rm"), StrRes(IDS_MFMT_RM), _T("rm rmvb")));
#ifdef _WIN64
- ADDFMT((_T("rt"), ResStr(IDS_MFMT_RT), _T("rt ram rpm rmm rp smi smil")));
+ ADDFMT((_T("rt"), StrRes(IDS_MFMT_RT), _T("rt ram rpm rmm rp smi smil")));
#else
- ADDFMT((_T("rt"), ResStr(IDS_MFMT_RT), _T("rt ram rpm rmm rp smi smil"), false, _T("RealPlayer or Real Alternative"), RealMedia));
+ ADDFMT((_T("rt"), StrRes(IDS_MFMT_RT), _T("rt ram rpm rmm rp smi smil"), false, _T("RealPlayer or Real Alternative"), RealMedia));
#endif
- ADDFMT((_T("wmv"), ResStr(IDS_MFMT_WMV), _T("wmv wmp wm asf")));
- ADDFMT((_T("bink"), ResStr(IDS_MFMT_BINK), _T("smk bik")));
- ADDFMT((_T("flic"), ResStr(IDS_MFMT_FLIC), _T("fli flc flic")));
- ADDFMT((_T("dsm"), ResStr(IDS_MFMT_DSM), _T("dsm dsv dsa dss")));
- ADDFMT((_T("ivf"), ResStr(IDS_MFMT_IVF), _T("ivf")));
- ADDFMT((_T("swf"), ResStr(IDS_MFMT_SWF), _T("swf"), false, _T("ShockWave ActiveX control"), ShockWave));
- ADDFMT((_T("other"), ResStr(IDS_MFMT_OTHER), _T("divx amv")));
- ADDFMT((_T("ac3"), ResStr(IDS_MFMT_AC3), _T("ac3"), true));
- ADDFMT((_T("dts"), ResStr(IDS_MFMT_DTS), _T("dts dtshd dtsma"), true));
- ADDFMT((_T("aiff"), ResStr(IDS_MFMT_AIFF), _T("aif aifc aiff"), true));
- ADDFMT((_T("alac"), ResStr(IDS_MFMT_ALAC), _T("alac"), true));
- ADDFMT((_T("amr"), ResStr(IDS_MFMT_AMR), _T("amr"), true));
- ADDFMT((_T("ape"), ResStr(IDS_MFMT_APE), _T("ape apl"), true));
- ADDFMT((_T("au"), ResStr(IDS_MFMT_AU), _T("au snd"), true));
- ADDFMT((_T("audiocd"), ResStr(IDS_MFMT_CDA), _T("cda"), true));
- ADDFMT((_T("flac"), ResStr(IDS_MFMT_FLAC), _T("flac"), true));
- ADDFMT((_T("m4a"), ResStr(IDS_MFMT_M4A), _T("m4a m4b m4r aac"), true));
- ADDFMT((_T("midi"), ResStr(IDS_MFMT_MIDI), _T("mid midi rmi"), true));
- ADDFMT((_T("mka"), ResStr(IDS_MFMT_MKA), _T("mka"), true));
- ADDFMT((_T("mp3"), ResStr(IDS_MFMT_MP3), _T("mp3"), true));
- ADDFMT((_T("mpa"), ResStr(IDS_MFMT_MPA), _T("mpa mp2 m1a m2a"), true));
- ADDFMT((_T("mpc"), ResStr(IDS_MFMT_MPC), _T("mpc"), true));
- ADDFMT((_T("ofr"), ResStr(IDS_MFMT_OFR), _T("ofr ofs"), true));
- ADDFMT((_T("ogg"), ResStr(IDS_MFMT_OGG), _T("ogg oga"), true));
- ADDFMT((_T("opus"), ResStr(IDS_MFMT_OPUS), _T("opus"), true));
- ADDFMT((_T("ra"), ResStr(IDS_MFMT_RA), _T("ra"), true));
- ADDFMT((_T("tak"), ResStr(IDS_MFMT_TAK), _T("tak"), true));
- ADDFMT((_T("tta"), ResStr(IDS_MFMT_TTA), _T("tta"), true));
- ADDFMT((_T("wav"), ResStr(IDS_MFMT_WAV), _T("wav"), true));
- ADDFMT((_T("wma"), ResStr(IDS_MFMT_WMA), _T("wma"), true));
- ADDFMT((_T("wavpack"), ResStr(IDS_MFMT_WV), _T("wv"), true));
- ADDFMT((_T("other_audio"), ResStr(IDS_MFMT_OTHER_AUDIO), _T("aob mlp"), true));
- ADDFMT((_T("pls"), ResStr(IDS_MFMT_PLS), _T("asx m3u m3u8 pls wvx wax wmx mpcpl")));
- ADDFMT((_T("bdpls"), ResStr(IDS_MFMT_BDPLS), _T("mpls bdmv")));
- ADDFMT((_T("rar"), ResStr(IDS_MFMT_RAR), _T("rar"), false, _T("RARFileSource"), DirectShow, false));
+ ADDFMT((_T("wmv"), StrRes(IDS_MFMT_WMV), _T("wmv wmp wm asf")));
+ ADDFMT((_T("bink"), StrRes(IDS_MFMT_BINK), _T("smk bik")));
+ ADDFMT((_T("flic"), StrRes(IDS_MFMT_FLIC), _T("fli flc flic")));
+ ADDFMT((_T("dsm"), StrRes(IDS_MFMT_DSM), _T("dsm dsv dsa dss")));
+ ADDFMT((_T("ivf"), StrRes(IDS_MFMT_IVF), _T("ivf")));
+ ADDFMT((_T("swf"), StrRes(IDS_MFMT_SWF), _T("swf"), false, _T("ShockWave ActiveX control"), ShockWave));
+ ADDFMT((_T("other"), StrRes(IDS_MFMT_OTHER), _T("divx amv")));
+ ADDFMT((_T("ac3"), StrRes(IDS_MFMT_AC3), _T("ac3"), true));
+ ADDFMT((_T("dts"), StrRes(IDS_MFMT_DTS), _T("dts dtshd dtsma"), true));
+ ADDFMT((_T("aiff"), StrRes(IDS_MFMT_AIFF), _T("aif aifc aiff"), true));
+ ADDFMT((_T("alac"), StrRes(IDS_MFMT_ALAC), _T("alac"), true));
+ ADDFMT((_T("amr"), StrRes(IDS_MFMT_AMR), _T("amr"), true));
+ ADDFMT((_T("ape"), StrRes(IDS_MFMT_APE), _T("ape apl"), true));
+ ADDFMT((_T("au"), StrRes(IDS_MFMT_AU), _T("au snd"), true));
+ ADDFMT((_T("audiocd"), StrRes(IDS_MFMT_CDA), _T("cda"), true));
+ ADDFMT((_T("flac"), StrRes(IDS_MFMT_FLAC), _T("flac"), true));
+ ADDFMT((_T("m4a"), StrRes(IDS_MFMT_M4A), _T("m4a m4b m4r aac"), true));
+ ADDFMT((_T("midi"), StrRes(IDS_MFMT_MIDI), _T("mid midi rmi"), true));
+ ADDFMT((_T("mka"), StrRes(IDS_MFMT_MKA), _T("mka"), true));
+ ADDFMT((_T("mp3"), StrRes(IDS_MFMT_MP3), _T("mp3"), true));
+ ADDFMT((_T("mpa"), StrRes(IDS_MFMT_MPA), _T("mpa mp2 m1a m2a"), true));
+ ADDFMT((_T("mpc"), StrRes(IDS_MFMT_MPC), _T("mpc"), true));
+ ADDFMT((_T("ofr"), StrRes(IDS_MFMT_OFR), _T("ofr ofs"), true));
+ ADDFMT((_T("ogg"), StrRes(IDS_MFMT_OGG), _T("ogg oga"), true));
+ ADDFMT((_T("opus"), StrRes(IDS_MFMT_OPUS), _T("opus"), true));
+ ADDFMT((_T("ra"), StrRes(IDS_MFMT_RA), _T("ra"), true));
+ ADDFMT((_T("tak"), StrRes(IDS_MFMT_TAK), _T("tak"), true));
+ ADDFMT((_T("tta"), StrRes(IDS_MFMT_TTA), _T("tta"), true));
+ ADDFMT((_T("wav"), StrRes(IDS_MFMT_WAV), _T("wav"), true));
+ ADDFMT((_T("wma"), StrRes(IDS_MFMT_WMA), _T("wma"), true));
+ ADDFMT((_T("wavpack"), StrRes(IDS_MFMT_WV), _T("wv"), true));
+ ADDFMT((_T("other_audio"), StrRes(IDS_MFMT_OTHER_AUDIO), _T("aob mlp thd"), true));
+ ADDFMT((_T("pls"), StrRes(IDS_MFMT_PLS), _T("asx m3u m3u8 pls wvx wax wmx mpcpl")));
+ ADDFMT((_T("bdpls"), StrRes(IDS_MFMT_BDPLS), _T("mpls bdmv")));
+ ADDFMT((_T("rar"), StrRes(IDS_MFMT_RAR), _T("rar"), false, _T("RARFileSource"), DirectShow, false));
#undef ADDFMT
m_iRtspHandler = (engine_t)AfxGetApp()->GetProfileInt(_T("FileFormats"), _T("RtspHandler"), (int)RealMedia);
@@ -366,7 +366,7 @@ void CMediaFormats::GetFilter(CString& filter, CAtlArray<CString>& mask) const
mask.Add(mfc.GetFilter());
}
- filter += ResStr(IDS_AG_ALLFILES);
+ filter.AppendFormat(IDS_AG_ALLFILES);
mask.Add(_T("*.*"));
filter += _T("|");
@@ -402,7 +402,7 @@ void CMediaFormats::GetAudioFilter(CString& filter, CAtlArray<CString>& mask) co
mask.Add(mfc.GetFilter());
}
- filter += ResStr(IDS_AG_ALLFILES);
+ filter.AppendFormat(IDS_AG_ALLFILES);
mask.Add(_T("*.*"));
filter += _T("|");
diff --git a/src/mpc-hc/MouseTouch.cpp b/src/mpc-hc/MouseTouch.cpp
index 9812dda23..98d26c6f3 100644
--- a/src/mpc-hc/MouseTouch.cpp
+++ b/src/mpc-hc/MouseTouch.cpp
@@ -21,6 +21,7 @@
#include "stdafx.h"
#include "MouseTouch.h"
#include "MainFrm.h"
+#include "mplayerc.h"
#include "FullscreenWnd.h"
#include <mvrInterfaces.h>
diff --git a/src/mpc-hc/MouseTouch.h b/src/mpc-hc/MouseTouch.h
index 806bc2b82..8dbb32dc5 100644
--- a/src/mpc-hc/MouseTouch.h
+++ b/src/mpc-hc/MouseTouch.h
@@ -187,7 +187,7 @@ class CMouseWheelHook
static_cast<UINT>(wParam),
CMouse::GetMouseFlags() | msex.mouseData,
MAKELPARAM(msex.pt.x, msex.pt.y),
- GetMessageTime(),
+ static_cast<DWORD>(GetMessageTime()),
msex.pt
};
diff --git a/src/mpc-hc/Mpeg2SectionData.cpp b/src/mpc-hc/Mpeg2SectionData.cpp
index 86314baff..ed1b49f82 100644
--- a/src/mpc-hc/Mpeg2SectionData.cpp
+++ b/src/mpc-hc/Mpeg2SectionData.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -28,8 +28,6 @@
#include "resource.h"
#include "Logger.h"
-#define BDA_LOG Logger<LogTargets::BDA>::LOG
-
#define BeginEnumDescriptors(gb, nType, nLength) \
{ \
BYTE DescBuffer[256]; \
@@ -250,7 +248,7 @@ HRESULT CMpeg2DataParser::ParseSIHeader(CGolombBuffer& gb, DVB_SI SIType, WORD&
return S_OK;
}
-HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
+HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFrequency, ULONG ulBandwidth)
{
HRESULT hr;
CComPtr<ISectionList> pSectionList;
@@ -259,7 +257,7 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
WORD wTSID;
WORD wONID;
WORD wSectionLength;
- WORD serviceType;
+ WORD serviceType = 0;
CheckNoLog(m_pData->GetSection(PID_SDT, SI_SDT, &m_Filter, 15000, &pSectionList));
CheckNoLog(pSectionList->GetSectionData(0, &dwLength, &data));
@@ -274,7 +272,8 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
while (gb.GetSize() - gb.GetPos() > 4) {
CDVBChannel Channel;
- Channel.SetFrequency(ulFreq);
+ Channel.SetFrequency(ulFrequency);
+ Channel.SetBandwidth(ulBandwidth);
Channel.SetTSID(wTSID);
Channel.SetONID(wONID);
Channel.SetSID((ULONG)gb.BitRead(16)); // service_id uimsbf
@@ -472,7 +471,7 @@ HRESULT CMpeg2DataParser::ParsePMT(CDVBChannel& Channel)
HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
{
- char descBuffer[10];
+ wchar_t descBuffer[10];
time_t tNow, tTime;
tm tmTime;
long timezone;
@@ -502,7 +501,7 @@ HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
}
localtime_s(&tmTime, &tTime);
- strftime(descBuffer, 6, "%H:%M", &tmTime);
+ wcsftime(descBuffer, 6, L"%H:%M", &tmTime);
descBuffer[6] = '\0';
NowNext.strStartTime = descBuffer;
@@ -516,7 +515,7 @@ HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
tTime += NowNext.duration;
localtime_s(&tmTime, &tTime);
- strftime(descBuffer, 6, "%H:%M", &tmTime);
+ wcsftime(descBuffer, 6, L"%H:%M", &tmTime);
descBuffer[6] = '\0';
NowNext.strEndTime = descBuffer;
@@ -656,7 +655,7 @@ HRESULT CMpeg2DataParser::ParseEIT(ULONG ulSID, EventDescriptor& NowNext)
IDS_CONTENT_LEISURE
};
- NowNext.content.Append(ResStr(contents[content - 1]));
+ NowNext.content.AppendFormat(contents[content - 1]);
}
nLength -= 2;
}
diff --git a/src/mpc-hc/Mpeg2SectionData.h b/src/mpc-hc/Mpeg2SectionData.h
index cdcb44807..93d93a46b 100644
--- a/src/mpc-hc/Mpeg2SectionData.h
+++ b/src/mpc-hc/Mpeg2SectionData.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,10 @@
#pragma once
#include "DVBChannel.h"
+#include <mpeg2structs.h>
+#include <mpeg2data.h>
+
+class CGolombBuffer;
#pragma pack(push, 1)
struct SI_HEADER {
@@ -66,7 +70,7 @@ class CMpeg2DataParser
public:
CMpeg2DataParser(IBaseFilter* pFilter);
- HRESULT ParseSDT(ULONG ulFreq);
+ HRESULT ParseSDT(ULONG ulFrequency, ULONG ulBandwidth);
HRESULT ParsePAT();
HRESULT ParseNIT();
HRESULT ParseEIT(ULONG ulSID, EventDescriptor& NowNext);
diff --git a/src/mpc-hc/PPageAccelTbl.cpp b/src/mpc-hc/PPageAccelTbl.cpp
index 3fba403f0..baf42907d 100644
--- a/src/mpc-hc/PPageAccelTbl.cpp
+++ b/src/mpc-hc/PPageAccelTbl.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "PPageAccelTbl.h"
+#include "AppSettings.h"
struct APP_COMMAND {
@@ -854,7 +855,7 @@ CString CPPageAccelTbl::MakeAppCommandLabel(UINT id)
return CString(g_CommandList[i].cmdname);
}
}
- return CString("");
+ return _T("");
}
void CPPageAccelTbl::DoDataExchange(CDataExchange* pDX)
@@ -1197,15 +1198,18 @@ void CPPageAccelTbl::OnEndListLabelEdit(NMHDR* pNMHDR, LRESULT* pResult)
m_list.SetItemText(pItem->iItem, COL_MOUSE_FS, pItem->pszText);
*pResult = TRUE;
break;
- case COL_RMCMD:
- wc.rmcmd = CStringA(CString(pItem->pszText)).Trim();
- wc.rmcmd.Replace(' ', '_');
- m_list.SetItemText(pItem->iItem, pItem->iSubItem, CString(wc.rmcmd));
+ case COL_RMCMD: {
+ CString cmd = pItem->pszText;
+ cmd.Trim();
+ cmd.Replace(_T(' '), ('_'));
+ m_list.SetItemText(pItem->iItem, pItem->iSubItem, cmd);
+ wc.rmcmd = cmd;
*pResult = TRUE;
break;
+ }
case COL_RMREPCNT:
- CString str = CString(pItem->pszText).Trim();
- wc.rmrepcnt = _tcstol(str, nullptr, 10);
+ CString str = pItem->pszText;
+ wc.rmrepcnt = _tcstol(str.Trim(), nullptr, 10);
str.Format(_T("%d"), wc.rmrepcnt);
m_list.SetItemText(pItem->iItem, pItem->iSubItem, str);
*pResult = TRUE;
diff --git a/src/mpc-hc/PPageAdvanced.cpp b/src/mpc-hc/PPageAdvanced.cpp
index 86d640adc..b76d913a1 100644
--- a/src/mpc-hc/PPageAdvanced.cpp
+++ b/src/mpc-hc/PPageAdvanced.cpp
@@ -1,5 +1,5 @@
/*
-* (C) 2014-2015 see Authors.txt
+* (C) 2014-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -19,15 +19,18 @@
*/
#include "stdafx.h"
-#include <strsafe.h>
#include "PPageAdvanced.h"
#include "mplayerc.h"
#include "MainFrm.h"
-#include "SettingsDefines.h"
+#include "EventDispatcher.h"
+#include <strsafe.h>
CPPageAdvanced::CPPageAdvanced()
: CPPageBase(IDD, IDD)
{
+ EventRouter::EventSelection fires;
+ fires.insert(MpcEvent::DEFAULT_TOOLBAR_SIZE_CHANGED);
+ GetEventd().Connect(m_eventc, fires);
}
void CPPageAdvanced::DoDataExchange(CDataExchange* pDX)
@@ -35,6 +38,7 @@ void CPPageAdvanced::DoDataExchange(CDataExchange* pDX)
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Control(pDX, IDC_COMBO1, m_comboBox);
+ DDX_Control(pDX, IDC_SPIN1, m_spinButtonCtrl);
}
BOOL CPPageAdvanced::OnInitDialog()
@@ -58,11 +62,14 @@ BOOL CPPageAdvanced::OnInitDialog()
pToolTip->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOREDRAW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOCOPYBITS | SWP_NOOWNERZORDER);
}
+ m_spinButtonCtrl.SetBuddy(GetDlgItem(IDC_EDIT1));
+
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_COMBO1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
+ GetDlgItem(IDC_SPIN1)->ShowWindow(SW_HIDE);
GetDlgItemText(IDC_RADIO1, m_strTrue);
GetDlgItemText(IDC_RADIO2, m_strFalse);
@@ -122,24 +129,33 @@ void CPPageAdvanced::InitSettings()
m_hiddenOptions[static_cast<ADVANCED_SETTINGS>(nItem)] = pItem;
};
- addBoolItem(HIDE_WINDOWED, IDS_RS_HIDE_WINDOWED_CONTROLS, false, s.bHideWindowedControls, ResStr(IDS_PPAGEADVANCED_HIDE_WINDOWED));
- addBoolItem(BLOCK_VSFILTER, IDS_RS_BLOCKVSFILTER, true, s.fBlockVSFilter, ResStr(IDS_PPAGEADVANCED_BLOCK_VSFILTER));
- addIntItem(RECENT_FILES_NB, IDS_RS_RECENT_FILES_NUMBER, 20, s.iRecentFilesNumber, std::make_pair(0, 1000), ResStr(IDS_PPAGEADVANCED_RECENT_FILES_NUMBER));
- addIntItem(FILE_POS_LONGER, IDS_RS_FILEPOSLONGER, 0, s.iRememberPosForLongerThan, std::make_pair(0, INT_MAX), ResStr(IDS_PPAGEADVANCED_FILE_POS_LONGER));
- addBoolItem(FILE_POS_AUDIO, IDS_RS_FILEPOSAUDIO, true, s.bRememberPosForAudioFiles, ResStr(IDS_PPAGEADVANCED_FILE_POS_AUDIO));
- addIntItem(COVER_SIZE_LIMIT, IDS_RS_COVER_ART_SIZE_LIMIT, 600, s.nCoverArtSizeLimit, std::make_pair(0, INT_MAX), ResStr(IDS_PPAGEADVANCED_COVER_SIZE_LIMIT));
- addBoolItem(LOGGING, IDS_RS_LOGGING, false, s.bEnableLogging, ResStr(IDS_PPAGEADVANCED_LOGGER));
+ addBoolItem(HIDE_WINDOWED, IDS_RS_HIDE_WINDOWED_CONTROLS, false, s.bHideWindowedControls, StrRes(IDS_PPAGEADVANCED_HIDE_WINDOWED));
+ addBoolItem(BLOCK_VSFILTER, IDS_RS_BLOCKVSFILTER, true, s.fBlockVSFilter, StrRes(IDS_PPAGEADVANCED_BLOCK_VSFILTER));
+ addIntItem(RECENT_FILES_NB, IDS_RS_RECENT_FILES_NUMBER, 20, s.iRecentFilesNumber, std::make_pair(0, 1000), StrRes(IDS_PPAGEADVANCED_RECENT_FILES_NUMBER));
+ addIntItem(FILE_POS_LONGER, IDS_RS_FILEPOSLONGER, 0, s.iRememberPosForLongerThan, std::make_pair(0, INT_MAX), StrRes(IDS_PPAGEADVANCED_FILE_POS_LONGER));
+ addBoolItem(FILE_POS_AUDIO, IDS_RS_FILEPOSAUDIO, true, s.bRememberPosForAudioFiles, StrRes(IDS_PPAGEADVANCED_FILE_POS_AUDIO));
+ addIntItem(COVER_SIZE_LIMIT, IDS_RS_COVER_ART_SIZE_LIMIT, 600, s.nCoverArtSizeLimit, std::make_pair(0, INT_MAX), StrRes(IDS_PPAGEADVANCED_COVER_SIZE_LIMIT));
+ addBoolItem(LOGGING, IDS_RS_LOGGING, false, s.bEnableLogging, StrRes(IDS_PPAGEADVANCED_LOGGER));
+ addIntItem(AUTO_DOWNLOAD_SCORE_MOVIES, IDS_RS_AUTODOWNLOADSCOREMOVIES, 0x16, s.nAutoDownloadScoreMovies,
+ std::make_pair(10, 30), StrRes(IDS_PPAGEADVANCED_SCORE));
+ addIntItem(AUTO_DOWNLOAD_SCORE_SERIES, IDS_RS_AUTODOWNLOADSCORESERIES, 0x18, s.nAutoDownloadScoreSeries,
+ std::make_pair(10, 30), StrRes(IDS_PPAGEADVANCED_SCORE));
+ addIntItem(DEFAULT_TOOLBAR_SIZE, IDS_RS_DEFAULTTOOLBARSIZE, 24, s.nDefaultToolbarSize,
+ std::make_pair(16, 128), StrRes(IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE));
+ addBoolItem(USE_LEGACY_TOOLBAR, IDS_RS_USE_LEGACY_TOOLBAR, false, s.bUseLegacyToolbar, StrRes(IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR));
}
BOOL CPPageAdvanced::OnApply()
{
+ auto& s = AfxGetAppSettings();
+
+ int nOldDefaultToolbarSize = s.nDefaultToolbarSize;
+
for (int i = 0; i < m_list.GetItemCount(); i++) {
auto eSetting = static_cast<ADVANCED_SETTINGS>(m_list.GetItemData(i));
m_hiddenOptions.at(eSetting)->Apply();
}
- auto& s = AfxGetAppSettings();
-
s.MRU.SetSize(s.iRecentFilesNumber);
s.MRUDub.SetSize(s.iRecentFilesNumber);
s.filePositions.SetMaxSize(s.iRecentFilesNumber);
@@ -150,6 +166,13 @@ BOOL CPPageAdvanced::OnApply()
pMainFrame->UpdateControlState(CMainFrame::UPDATE_CONTROLS_VISIBILITY);
}
+ if (nOldDefaultToolbarSize != s.nDefaultToolbarSize) {
+ m_eventc.FireEvent(MpcEvent::DEFAULT_TOOLBAR_SIZE_CHANGED);
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
+ pMainFrame->RecalcLayout();
+ }
+ }
+
return __super::OnApply();
}
@@ -177,7 +200,6 @@ void CPPageAdvanced::OnBnClickedDefaultButton()
const int iItem = GetListSelectionMark();
if (iItem >= 0) {
- SetRedraw(FALSE);
CString str;
auto eSetting = static_cast<ADVANCED_SETTINGS>(m_list.GetItemData(iItem));
auto pItem = m_hiddenOptions.at(eSetting);
@@ -202,14 +224,12 @@ void CPPageAdvanced::OnBnClickedDefaultButton()
str = pItemCString->GetValue();
SetDlgItemText(IDC_EDIT1, pItemCString->GetValue());
} else {
- ASSERT(FALSE);
- return;
+ UNREACHABLE_CODE();
}
m_list.SetItemText(iItem, COL_VALUE, str);
UpdateData(FALSE);
- SetRedraw(TRUE);
- Invalidate();
+ m_list.Update(iItem);
SetModified();
}
}
@@ -232,7 +252,6 @@ void CPPageAdvanced::OnNMDblclk(NMHDR* pNMHDR, LRESULT* pResult)
auto eSetting = static_cast<ADVANCED_SETTINGS>(m_list.GetItemData(pNMItemActivate->iItem));
auto pItem = m_hiddenOptions.at(eSetting);
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
- SetRedraw(FALSE);
pItemBool->Toggle();
m_list.SetItemText(pNMItemActivate->iItem, COL_VALUE,
pItemBool->GetValue() ? m_strTrue : m_strFalse);
@@ -242,8 +261,7 @@ void CPPageAdvanced::OnNMDblclk(NMHDR* pNMHDR, LRESULT* pResult)
CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO2);
}
UpdateData(FALSE);
- SetRedraw(TRUE);
- Invalidate();
+ m_list.Update(pNMItemActivate->iItem);
SetModified();
}
}
@@ -289,12 +307,12 @@ void CPPageAdvanced::OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
if ((pNMLV->uChanged & LVIF_STATE) && (pNMLV->uNewState & LVNI_SELECTED)) {
- SetRedraw(FALSE);
- GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_COMBO1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_RADIO1)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_RADIO2)->ShowWindow(SW_HIDE);
- GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
+ auto setDialogItemsVisibility = [this](std::initializer_list<int> && ids, int nCmdShow) {
+ for (const auto& nID : ids) {
+ GetDlgItem(nID)->ShowWindow(nCmdShow);
+ }
+ };
+
if (pNMLV->iItem >= 0) {
m_lastSelectedItem = pNMLV->iItem;
auto eSetting = static_cast<ADVANCED_SETTINGS>(m_list.GetItemData(pNMLV->iItem));
@@ -302,14 +320,15 @@ void CPPageAdvanced::OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_SHOW);
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
+ setDialogItemsVisibility({ IDC_EDIT1, IDC_COMBO1, IDC_SPIN1 }, SW_HIDE);
if (pItemBool->GetValue()) {
CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO1);
} else {
CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO2);
}
- GetDlgItem(IDC_RADIO1)->ShowWindow(SW_SHOW);
- GetDlgItem(IDC_RADIO2)->ShowWindow(SW_SHOW);
+ setDialogItemsVisibility({ IDC_RADIO1, IDC_RADIO2 }, SW_SHOW);
} else if (auto pItemCombo = std::dynamic_pointer_cast<SettingsCombo>(pItem)) {
+ setDialogItemsVisibility({ IDC_EDIT1, IDC_RADIO1, IDC_RADIO2, IDC_SPIN1 }, SW_HIDE);
m_comboBox.ResetContent();
for (const auto& str : pItemCombo->GetList()) {
m_comboBox.AddString(str);
@@ -317,17 +336,24 @@ void CPPageAdvanced::OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
m_comboBox.SetCurSel(pItemCombo->GetValue());
m_comboBox.ShowWindow(SW_SHOW);
} else if (auto pItemInt = std::dynamic_pointer_cast<SettingsInt>(pItem)) {
+ setDialogItemsVisibility({ IDC_COMBO1, IDC_RADIO1, IDC_RADIO2 }, SW_HIDE);
GetDlgItem(IDC_EDIT1)->ModifyStyle(0, ES_NUMBER, 0);
- SetDlgItemInt(IDC_EDIT1, pItemInt->GetValue());
+ const auto& range = pItemInt->GetRange();
+ m_spinButtonCtrl.SetRange32(range.first, range.second);
+ m_spinButtonCtrl.SetPos32(pItemInt->GetValue());
+ m_spinButtonCtrl.ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
} else if (auto pItemCString = std::dynamic_pointer_cast<SettingsCString>(pItem)) {
+ setDialogItemsVisibility({ IDC_COMBO1, IDC_RADIO1, IDC_RADIO2, IDC_BUTTON1, IDC_SPIN1 }, SW_HIDE);
GetDlgItem(IDC_EDIT1)->ModifyStyle(ES_NUMBER, 0, 0);
SetDlgItemText(IDC_EDIT1, pItemCString->GetValue());
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
+ } else {
+ UNREACHABLE_CODE();
}
+ } else {
+ setDialogItemsVisibility({ IDC_EDIT1, IDC_COMBO1, IDC_RADIO1, IDC_RADIO2, IDC_BUTTON1, IDC_SPIN1 }, SW_HIDE);
}
- SetRedraw(TRUE);
- Invalidate();
}
*pResult = 0;
@@ -341,12 +367,10 @@ void CPPageAdvanced::OnBnClickedRadio1()
auto pItem = m_hiddenOptions.at(eSetting);
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
- SetRedraw(FALSE);
pItemBool->SetValue(true);
m_list.SetItemText(iItem, COL_VALUE, m_strTrue);
UpdateData(FALSE);
- SetRedraw(TRUE);
- Invalidate();
+ m_list.Update(iItem);
SetModified();
}
}
@@ -360,12 +384,10 @@ void CPPageAdvanced::OnBnClickedRadio2()
auto pItem = m_hiddenOptions.at(eSetting);
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
- SetRedraw(FALSE);
pItemBool->SetValue(false);
m_list.SetItemText(iItem, COL_VALUE, m_strFalse);
UpdateData(FALSE);
- SetRedraw(TRUE);
- Invalidate();
+ m_list.Update(iItem);
SetModified();
}
}
@@ -384,7 +406,7 @@ void CPPageAdvanced::OnCbnSelchangeCombobox()
pItemCombo->SetValue(iItem);
m_list.SetItemText(nItem, COL_VALUE, list.at(iItem));
UpdateData(FALSE);
- Invalidate();
+ m_list.Update(nItem);
if (m_comboBox.IsWindowVisible()) {
SetModified();
}
@@ -428,8 +450,8 @@ void CPPageAdvanced::OnEnChangeEdit()
if (bChanged) {
m_list.SetItemText(iItem, COL_VALUE, str);
+ m_list.Update(iItem);
UpdateData(FALSE);
- Invalidate();
SetModified();
}
}
diff --git a/src/mpc-hc/PPageAdvanced.h b/src/mpc-hc/PPageAdvanced.h
index 59caccf0d..9dac3103e 100644
--- a/src/mpc-hc/PPageAdvanced.h
+++ b/src/mpc-hc/PPageAdvanced.h
@@ -1,5 +1,5 @@
/*
-* (C) 2015 see Authors.txt
+* (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,8 +22,7 @@
#include "PPageBase.h"
#include "resource.h"
-#include <afxwin.h>
-#include <afxcmn.h>
+#include "EventDispatcher.h"
#include <utility>
#include <memory>
#include <map>
@@ -83,7 +82,7 @@ public:
, defaultValue(defaultValue)
, currentValue(settingReference)
, settingReference(settingReference)
- , range(range) {
+ , range(std::move(range)) {
}
bool IsDefault() const { return currentValue == defaultValue; }
@@ -101,7 +100,7 @@ class SettingsCombo : public SettingsInt
public:
SettingsCombo(CString name, int defaultValue, int& settingReference, std::deque<CString> list, CString toolTipText)
: SettingsInt(name, defaultValue, settingReference, std::make_pair(0, (int)list.size() - 1), toolTipText)
- , list(list) {
+ , list(std::move(list)) {
}
std::deque<CString> GetList() const { return list; }
@@ -144,7 +143,11 @@ private:
FILE_POS_LONGER,
FILE_POS_AUDIO,
COVER_SIZE_LIMIT,
- LOGGING
+ LOGGING,
+ AUTO_DOWNLOAD_SCORE_MOVIES,
+ AUTO_DOWNLOAD_SCORE_SERIES,
+ DEFAULT_TOOLBAR_SIZE,
+ USE_LEGACY_TOOLBAR,
};
enum {
@@ -152,8 +155,11 @@ private:
COL_VALUE
};
+ EventClient m_eventc;
+
CFont m_fontBold;
CComboBox m_comboBox;
+ CSpinButtonCtrl m_spinButtonCtrl;
std::map<ADVANCED_SETTINGS, std::shared_ptr<SettingsBase>> m_hiddenOptions;
diff --git a/src/mpc-hc/PPageAudioRenderer.cpp b/src/mpc-hc/PPageAudioRenderer.cpp
index a65839897..7c7e33b0b 100644
--- a/src/mpc-hc/PPageAudioRenderer.cpp
+++ b/src/mpc-hc/PPageAudioRenderer.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2015 see Authors.txt
+ * (C) 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,6 +26,8 @@
#include <FunctionDiscoveryKeys_devpkey.h>
#include <Mmdeviceapi.h>
+#include <sanear/sanear/src/Settings.h>
+#include "AppSettings.h"
namespace
{
diff --git a/src/mpc-hc/PPageAudioSwitcher.cpp b/src/mpc-hc/PPageAudioSwitcher.cpp
index 08fa25dfe..f94c58151 100644
--- a/src/mpc-hc/PPageAudioSwitcher.cpp
+++ b/src/mpc-hc/PPageAudioSwitcher.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,7 @@
*/
#include "stdafx.h"
-#include <math.h>
+#include <cmath>
#include "mplayerc.h"
#include "MainFrm.h"
#include "PPageAudioSwitcher.h"
@@ -384,12 +384,12 @@ BOOL CPPageAudioSwitcher::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResu
switch (nID) {
case IDC_SLIDER1:
- strTipText.Format(ResStr(IDS_BOOST), m_AudioBoostCtrl.GetPos());
+ strTipText.Format(IDS_BOOST, m_AudioBoostCtrl.GetPos());
bRet = true;
break;
case IDC_EDIT2:
case IDC_SPIN2:
- strTipText.LoadStringW(IDS_TIME_SHIFT_TOOLTIP);
+ strTipText.LoadString(IDS_TIME_SHIFT_TOOLTIP);
bRet = true;
break;
}
diff --git a/src/mpc-hc/PPageBase.cpp b/src/mpc-hc/PPageBase.cpp
index 554221a58..1bb96bbcb 100644
--- a/src/mpc-hc/PPageBase.cpp
+++ b/src/mpc-hc/PPageBase.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -138,7 +138,8 @@ END_MESSAGE_MAP()
BOOL CPPageBase::OnSetActive()
{
- AfxGetAppSettings().nLastUsedPage = (UINT)m_pPSP->pszTemplate;
+ ASSERT(IS_INTRESOURCE(m_pPSP->pszTemplate));
+ AfxGetAppSettings().nLastUsedPage = (WORD)(ULONG_PTR)m_pPSP->pszTemplate;
return __super::OnSetActive();
}
diff --git a/src/mpc-hc/PPageDVD.cpp b/src/mpc-hc/PPageDVD.cpp
index bb4d9341c..3d376411e 100644
--- a/src/mpc-hc/PPageDVD.cpp
+++ b/src/mpc-hc/PPageDVD.cpp
@@ -282,7 +282,7 @@ BOOL CPPageDVD::OnApply()
void CPPageDVD::OnBnClickedButton1()
{
CString path;
- CString strTitle = ResStr(IDS_MAINFRM_46);
+ CString strTitle(StrRes(IDS_MAINFRM_46));
if (SysVersion::IsVistaOrLater()) {
CFileDialog dlg(TRUE);
diff --git a/src/mpc-hc/PPageExternalFilters.cpp b/src/mpc-hc/PPageExternalFilters.cpp
index a03cc016e..485b6db0a 100644
--- a/src/mpc-hc/PPageExternalFilters.cpp
+++ b/src/mpc-hc/PPageExternalFilters.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,6 @@
#include "stdafx.h"
#include <atlpath.h>
-#include <InitGuid.h>
#include <dmoreg.h>
#include "PathUtils.h"
#include "mplayerc.h"
@@ -31,6 +30,7 @@
#include "SelectMediaType.h"
#include "FGFilter.h"
#include "moreuuids.h"
+#include "FakeFilterMapper2.h"
IMPLEMENT_DYNAMIC(CPPageExternalFiltersListBox, CListCtrl)
diff --git a/src/mpc-hc/PPageExternalFilters.h b/src/mpc-hc/PPageExternalFilters.h
index adf392ad2..65bee94aa 100644
--- a/src/mpc-hc/PPageExternalFilters.h
+++ b/src/mpc-hc/PPageExternalFilters.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013, 2015 see Authors.txt
+ * (C) 2006-2013, 2015-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,7 +23,6 @@
#include "PPageBase.h"
#include "FloatEdit.h"
-#include "mplayerc.h"
#include "DropTarget.h"
diff --git a/src/mpc-hc/PPageFileInfoClip.cpp b/src/mpc-hc/PPageFileInfoClip.cpp
index 8a43dcbec..c10f64b89 100644
--- a/src/mpc-hc/PPageFileInfoClip.cpp
+++ b/src/mpc-hc/PPageFileInfoClip.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -37,11 +37,11 @@ CPPageFileInfoClip::CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSou
, m_hIcon(nullptr)
, m_fn(path)
, m_path(path)
- , m_clip(ResStr(IDS_AG_NONE))
- , m_author(ResStr(IDS_AG_NONE))
- , m_copyright(ResStr(IDS_AG_NONE))
- , m_rating(ResStr(IDS_AG_NONE))
- , m_location(ResStr(IDS_AG_NONE))
+ , m_clip(StrRes(IDS_AG_NONE))
+ , m_author(StrRes(IDS_AG_NONE))
+ , m_copyright(StrRes(IDS_AG_NONE))
+ , m_rating(StrRes(IDS_AG_NONE))
+ , m_location(StrRes(IDS_AG_NONE))
{
if (pFSF) {
CComHeapPtr<OLECHAR> pFN;
@@ -147,7 +147,7 @@ BOOL CPPageFileInfoClip::OnInitDialog()
m_fn = m_fn.Mid(i + 1);
if (m_location.GetLength() == 2 && m_location[1] == ':') {
- m_location += '\\';
+ m_location += _T('\\');
}
}
diff --git a/src/mpc-hc/PPageFileInfoDetails.cpp b/src/mpc-hc/PPageFileInfoDetails.cpp
index 912430357..b70c167b1 100644
--- a/src/mpc-hc/PPageFileInfoDetails.cpp
+++ b/src/mpc-hc/PPageFileInfoDetails.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -39,11 +39,11 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
, m_hIcon(nullptr)
, m_fn(path)
, m_path(path)
- , m_type(ResStr(IDS_AG_NOT_KNOWN))
- , m_size(ResStr(IDS_AG_NOT_KNOWN))
- , m_duration(ResStr(IDS_AG_NOT_KNOWN))
- , m_resolution(ResStr(IDS_AG_NOT_KNOWN))
- , m_creationDate(ResStr(IDS_AG_NOT_KNOWN))
+ , m_type(StrRes(IDS_AG_NOT_KNOWN))
+ , m_size(StrRes(IDS_AG_NOT_KNOWN))
+ , m_duration(StrRes(IDS_AG_NOT_KNOWN))
+ , m_resolution(StrRes(IDS_AG_NOT_KNOWN))
+ , m_creationDate(StrRes(IDS_AG_NOT_KNOWN))
{
if (pFSF) {
CComHeapPtr<OLECHAR> pFN;
diff --git a/src/mpc-hc/PPageFileInfoDetails.h b/src/mpc-hc/PPageFileInfoDetails.h
index f8026dd5a..aeab8ccba 100644
--- a/src/mpc-hc/PPageFileInfoDetails.h
+++ b/src/mpc-hc/PPageFileInfoDetails.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,6 +26,8 @@
// CPPageFileInfoDetails dialog
+struct ISubPicAllocatorPresenter;
+
class CPPageFileInfoDetails : public CPropertyPage
{
DECLARE_DYNAMIC(CPPageFileInfoDetails)
diff --git a/src/mpc-hc/PPageFileInfoSheet.cpp b/src/mpc-hc/PPageFileInfoSheet.cpp
index 6e12a2668..5848b796a 100644
--- a/src/mpc-hc/PPageFileInfoSheet.cpp
+++ b/src/mpc-hc/PPageFileInfoSheet.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -30,7 +30,7 @@
IMPLEMENT_DYNAMIC(CPPageFileInfoSheet, CPropertySheet)
CPPageFileInfoSheet::CPPageFileInfoSheet(CString path, CMainFrame* pMainFrame, CWnd* pParentWnd)
- : CPropertySheet(ResStr(IDS_PROPSHEET_PROPERTIES), pParentWnd, 0)
+ : CPropertySheet(IDS_PROPSHEET_PROPERTIES, pParentWnd, 0)
, m_clip(path, pMainFrame->m_pGB, pMainFrame->m_pFSF, pMainFrame->m_pDVDI)
, m_details(path, pMainFrame->m_pGB, pMainFrame->m_pCAP, pMainFrame->m_pFSF, pMainFrame->m_pDVDI)
, m_res(path, pMainFrame->m_pGB, pMainFrame->m_pFSF)
diff --git a/src/mpc-hc/PPageFileMediaInfo.cpp b/src/mpc-hc/PPageFileMediaInfo.cpp
index fc47b6cb5..b4766a8b7 100644
--- a/src/mpc-hc/PPageFileMediaInfo.cpp
+++ b/src/mpc-hc/PPageFileMediaInfo.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -145,7 +145,7 @@ CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF,
CString info = MI.Inform().c_str();
if (info.IsEmpty() || !info.Find(_T("Unable to load"))) {
- info = ResStr(IDS_MEDIAINFO_NO_INFO_AVAILABLE);
+ info.LoadString(IDS_MEDIAINFO_NO_INFO_AVAILABLE);
}
return info;
diff --git a/src/mpc-hc/PPageFullscreen.cpp b/src/mpc-hc/PPageFullscreen.cpp
index 0a795ee0d..d38908161 100644
--- a/src/mpc-hc/PPageFullscreen.cpp
+++ b/src/mpc-hc/PPageFullscreen.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -106,7 +106,7 @@ void CPPageFullscreen::ModesUpdate()
// Populate the vector with default modes on first initialization
if (m_autoChangeFSModes.empty()) {
auto addMode = [this, &currentDisplayMode](double dFRStart, double dFRStop) {
- m_autoChangeFSModes.emplace_back(true, dFRStart, dFRStop, currentDisplayMode);
+ m_autoChangeFSModes.emplace_back(true, dFRStart, dFRStop, 0, currentDisplayMode);
};
addMode(0.0, 0.0); // Default mode
addMode(23.500, 23.981);
@@ -146,16 +146,22 @@ void CPPageFullscreen::ModesUpdate()
m_list.SetItemText(nItem, COL_DISPLAY_MODE, formatStringFromDisplayMode(mode.dm));
+ TCHAR buffer[11];
if (nItem == 0) { // Special case for default mode
VERIFY(m_list.SetItemText(nItem, COL_N, ResStr(IDS_PPAGE_FS_DEFAULT)));
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_START, ResStr(IDS_PPAGE_FS_OTHER)));
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_STOP, ResStr(IDS_PPAGE_FS_OTHER)));
+ const auto& s = AfxGetAppSettings();
+ _itot_s(s.fAudioTimeShift ? s.iAudioTimeShift : 0, buffer, 10);
+ VERIFY(m_list.SetItemText(nItem, COL_AUDIO_DELAY, buffer));
} else {
CString strFrameRate;
strFrameRate.Format(_T("%.3f"), mode.dFrameRateStart);
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_START, strFrameRate));
strFrameRate.Format(_T("%.3f"), mode.dFrameRateStop);
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_STOP, strFrameRate));
+ _itot_s(mode.msAudioDelay, buffer, 10);
+ VERIFY(m_list.SetItemText(nItem, COL_AUDIO_DELAY, buffer));
}
nItem++;
@@ -288,7 +294,7 @@ BOOL CPPageFullscreen::OnInitDialog()
m_list.InsertColumn(COL_FRAMERATE_START, ResStr(IDS_PPAGE_FS_CLN_FROM_FPS), LVCFMT_RIGHT, 60);
m_list.InsertColumn(COL_FRAMERATE_STOP, ResStr(IDS_PPAGE_FS_CLN_TO_FPS), LVCFMT_RIGHT, 60);
m_list.InsertColumn(COL_DISPLAY_MODE, ResStr(IDS_PPAGE_FS_CLN_DISPLAY_MODE), LVCFMT_LEFT, 135);
-
+ m_list.InsertColumn(COL_AUDIO_DELAY, ResStr(IDS_PPAGE_FS_CLN_AUDIO_DELAY), LVCFMT_LEFT, 52);
m_bHideFullscreenControls = s.bHideFullscreenControls;
m_uHideFullscreenControlsDelay = s.uHideFullscreenControlsDelay;
@@ -367,15 +373,18 @@ BOOL CPPageFullscreen::OnApply()
m_autoChangeFSModes.clear();
for (int nItem = 0, count = m_list.GetItemCount(); nItem < count; nItem++) {
double dFRStart, dFRStop;
+ int msAudioDelay;
if (nItem == 0) { // Special case for default mode
dFRStart = 0.0;
dFRStop = 0.0;
+ msAudioDelay = s.iAudioTimeShift;
} else {
dFRStart = _tcstod(m_list.GetItemText(nItem, COL_FRAMERATE_START), nullptr);
dFRStop = _tcstod(m_list.GetItemText(nItem, COL_FRAMERATE_STOP), nullptr);
+ msAudioDelay = _tcstol(m_list.GetItemText(nItem, COL_AUDIO_DELAY), nullptr, 10);
}
- m_autoChangeFSModes.emplace_back(!!m_list.GetCheck(nItem), dFRStart, dFRStop, m_displayModes[m_list.GetItemData(nItem)]);
+ m_autoChangeFSModes.emplace_back(!!m_list.GetCheck(nItem), dFRStart, dFRStop, msAudioDelay, m_displayModes[m_list.GetItemData(nItem)]);
}
s.autoChangeFSMode.modes = m_autoChangeFSModes;
@@ -450,6 +459,7 @@ void CPPageFullscreen::OnAdd()
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_START, _T("1.000")));
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_STOP, _T("1.000")));
VERIFY(m_list.SetItemText(nItem, COL_DISPLAY_MODE, m_CurrentDisplayModeString));
+ VERIFY(m_list.SetItemText(nItem, COL_AUDIO_DELAY, _T("0")));
VERIFY(m_list.SetItemData(nItem, (DWORD_PTR)m_nCurrentDisplayModeIndex));
m_list.SetCheck(nItem, FALSE);
VERIFY(m_list.SetItemState(nItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED));
@@ -504,6 +514,7 @@ void CPPageFullscreen::OnMoveUp()
CString strFRStart = m_list.GetItemText(nItem, COL_FRAMERATE_START);
CString strFRStop = m_list.GetItemText(nItem, COL_FRAMERATE_STOP);
CString strDM = m_list.GetItemText(nItem, COL_DISPLAY_MODE);
+ CString strAudioDelay = m_list.GetItemText(nItem, COL_AUDIO_DELAY);
BOOL nCheckCur = m_list.GetCheck(nItem);
DWORD_PTR data = m_list.GetItemData(nItem);
VERIFY(m_list.DeleteItem(nItem));
@@ -515,6 +526,7 @@ void CPPageFullscreen::OnMoveUp()
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_START, strFRStart));
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_STOP, strFRStop));
VERIFY(m_list.SetItemText(nItem, COL_DISPLAY_MODE, strDM));
+ VERIFY(m_list.SetItemText(nItem, COL_AUDIO_DELAY, strAudioDelay));
VERIFY(m_list.SetItemData(nItem, data));
m_list.SetCheck(nItem, nCheckCur);
m_list.SetSelectionMark(nItem);
@@ -549,6 +561,7 @@ void CPPageFullscreen::OnMoveDown()
CString strFRStart = m_list.GetItemText(nItem, COL_FRAMERATE_START);
CString strFRStop = m_list.GetItemText(nItem, COL_FRAMERATE_STOP);
CString strDM = m_list.GetItemText(nItem, COL_DISPLAY_MODE);
+ CString strAudioDelay = m_list.GetItemText(nItem, COL_AUDIO_DELAY);
BOOL nCheckCur = m_list.GetCheck(nItem);
DWORD_PTR data = m_list.GetItemData(nItem);
VERIFY(m_list.DeleteItem(nItem));
@@ -560,6 +573,7 @@ void CPPageFullscreen::OnMoveDown()
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_START, strFRStart));
VERIFY(m_list.SetItemText(nItem, COL_FRAMERATE_STOP, strFRStop));
VERIFY(m_list.SetItemText(nItem, COL_DISPLAY_MODE, strDM));
+ VERIFY(m_list.SetItemText(nItem, COL_AUDIO_DELAY, strAudioDelay));
VERIFY(m_list.SetItemData(nItem, data));
m_list.SetCheck(nItem, nCheckCur);
m_list.SetSelectionMark(nItem);
@@ -615,6 +629,11 @@ void CPPageFullscreen::OnListDoEdit(NMHDR* pNMHDR, LRESULT* pResult)
m_list.ShowInPlaceFloatEdit(pItem->iItem, pItem->iSubItem);
}
break;
+ case COL_AUDIO_DELAY:
+ if (pItem->iItem != 0) {
+ m_list.ShowInPlaceEdit(pItem->iItem, pItem->iSubItem);
+ }
+ break;
}
m_list.RedrawWindow();
@@ -650,6 +669,14 @@ void CPPageFullscreen::OnListEndEdit(NMHDR* pNMHDR, LRESULT* pResult)
m_list.SetItemText(pItem->iItem, pItem->iSubItem, str);
}
break;
+ case COL_AUDIO_DELAY:
+ if (pItem->pszText) {
+ TCHAR buffer[11];
+ int msAudioDelay = _tcstol(pItem->pszText, nullptr, 10);
+ _itot_s(msAudioDelay, buffer, 10);
+ m_list.SetItemText(pItem->iItem, pItem->iSubItem, buffer);
+ }
+ break;
}
*pResult = TRUE;
diff --git a/src/mpc-hc/PPageFullscreen.h b/src/mpc-hc/PPageFullscreen.h
index ae0dba707..20145cccd 100644
--- a/src/mpc-hc/PPageFullscreen.h
+++ b/src/mpc-hc/PPageFullscreen.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -60,7 +60,8 @@ private:
COL_N,
COL_FRAMERATE_START,
COL_FRAMERATE_STOP,
- COL_DISPLAY_MODE
+ COL_DISPLAY_MODE,
+ COL_AUDIO_DELAY
};
CSpinButtonCtrl m_delaySpinner;
diff --git a/src/mpc-hc/PPageInternalFilters.cpp b/src/mpc-hc/PPageInternalFilters.cpp
index e8b75af8f..5556aa73c 100644
--- a/src/mpc-hc/PPageInternalFilters.cpp
+++ b/src/mpc-hc/PPageInternalFilters.cpp
@@ -414,7 +414,7 @@ void CPPageInternalFilters::InitFiltersList()
#endif
#if INTERNAL_SOURCEFILTER_HTTP
if (bLAVSplitterIsAvailable) {
- m_filters.Add(filter_t(_T("HTTP"), SOURCE_FILTER, SRC_HTTP, IDS_INTERNAL_LAVF));
+ m_filters.Add(filter_t(_T("HTTP(S)"), SOURCE_FILTER, SRC_HTTP, IDS_INTERNAL_LAVF));
}
#endif
#if INTERNAL_SOURCEFILTER_RTSP
diff --git a/src/mpc-hc/PPageLogo.h b/src/mpc-hc/PPageLogo.h
index 98a84b3a7..f4448611c 100644
--- a/src/mpc-hc/PPageLogo.h
+++ b/src/mpc-hc/PPageLogo.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2012, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,6 +24,7 @@
// CPPageLogo dialog
#include "MPCPngImage.h"
+#include "PPageBase.h"
class CPPageLogo : public CPPageBase
{
diff --git a/src/mpc-hc/PPageMisc.cpp b/src/mpc-hc/PPageMisc.cpp
index dd25a888a..8f66be237 100644
--- a/src/mpc-hc/PPageMisc.cpp
+++ b/src/mpc-hc/PPageMisc.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,6 +25,7 @@
#include "moreuuids.h"
#include "PPageMisc.h"
#include <psapi.h>
+#include "PPageSheet.h"
// CPPageMisc dialog
diff --git a/src/mpc-hc/PPageOutput.cpp b/src/mpc-hc/PPageOutput.cpp
index b187610ec..1d8586c54 100644
--- a/src/mpc-hc/PPageOutput.cpp
+++ b/src/mpc-hc/PPageOutput.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -46,6 +46,7 @@ CPPageOutput::CPPageOutput()
, m_fD3DFullscreen(FALSE)
, m_fVMR9AlterativeVSync(FALSE)
, m_fResetDevice(FALSE)
+ , m_fCacheShaders(FALSE)
, m_iEvrBuffers(_T("5"))
, m_fD3D9RenderDevice(FALSE)
, m_iD3D9RenderDevice(-1)
@@ -79,14 +80,13 @@ void CPPageOutput::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_RMRND_SAVEIMAGE_SUPPORT, m_iRMSaveImageSupport);
DDX_Control(pDX, IDC_QTRND_SUBTITLE_SUPPORT, m_iQTSubtitleSupport);
DDX_Control(pDX, IDC_QTRND_SAVEIMAGE_SUPPORT, m_iQTSaveImageSupport);
- DDX_CBIndex(pDX, IDC_RMRND_COMBO, m_iRMVideoRendererType);
- DDX_CBIndex(pDX, IDC_QTRND_COMBO, m_iQTVideoRendererType);
DDX_CBIndex(pDX, IDC_AUDRND_COMBO, m_iAudioRendererType);
DDX_CBIndex(pDX, IDC_DX_SURFACE, m_iAPSurfaceUsage);
DDX_CBIndex(pDX, IDC_DX9RESIZER_COMBO, m_iDX9Resizer);
DDX_CBIndex(pDX, IDC_D3D9DEVICE_COMBO, m_iD3D9RenderDevice);
DDX_Check(pDX, IDC_D3D9DEVICE, m_fD3D9RenderDevice);
DDX_Check(pDX, IDC_RESETDEVICE, m_fResetDevice);
+ DDX_Check(pDX, IDC_CACHESHADERS, m_fCacheShaders);
DDX_Check(pDX, IDC_FULLSCREEN_MONITOR_CHECK, m_fD3DFullscreen);
DDX_Check(pDX, IDC_DSVMR9ALTERNATIVEVSYNC, m_fVMR9AlterativeVSync);
DDX_Check(pDX, IDC_DSVMR9LOADMIXER, m_fVMR9MixerMode);
@@ -149,6 +149,7 @@ BOOL CPPageOutput::OnInitDialog()
m_iAudioRendererTypeCtrl.SetRedraw(FALSE);
m_fResetDevice = s.m_RenderersSettings.fResetDevice;
+ m_fCacheShaders = s.m_RenderersSettings.m_AdvRendSets.bCacheShaders;
m_AudioRendererDisplayNames.Add(_T(""));
m_iAudioRendererTypeCtrl.AddString(_T("1: ") + ResStr(IDS_PPAGE_OUTPUT_SYS_DEF));
m_iAudioRendererType = 0;
@@ -263,56 +264,51 @@ BOOL CPPageOutput::OnInitDialog()
CorrectComboListWidth(m_iD3D9RenderDeviceCtrl);
auto addRenderer = [&](int nID) {
- CString sName;
+ WORD resName;
switch (nID) {
case VIDRNDT_DS_DEFAULT:
- sName = ResStr(IDS_PPAGE_OUTPUT_SYS_DEF);
+ resName = IDS_PPAGE_OUTPUT_SYS_DEF;
break;
case VIDRNDT_DS_OLDRENDERER:
- sName = ResStr(IDS_PPAGE_OUTPUT_OLDRENDERER);
+ resName = IDS_PPAGE_OUTPUT_OLDRENDERER;
break;
case VIDRNDT_DS_OVERLAYMIXER:
- sName = ResStr(IDS_PPAGE_OUTPUT_OVERLAYMIXER);
- break;
- case VIDRNDT_DS_VMR7WINDOWED:
- sName = ResStr(IDS_PPAGE_OUTPUT_VMR7WINDOWED);
+ resName = IDS_PPAGE_OUTPUT_OVERLAYMIXER;
break;
case VIDRNDT_DS_VMR9WINDOWED:
- sName = ResStr(IDS_PPAGE_OUTPUT_VMR9WINDOWED);
- break;
- case VIDRNDT_DS_VMR7RENDERLESS:
- sName = ResStr(IDS_PPAGE_OUTPUT_VMR7RENDERLESS);
+ resName = IDS_PPAGE_OUTPUT_VMR9WINDOWED;
break;
case VIDRNDT_DS_VMR9RENDERLESS:
- sName = ResStr(IDS_PPAGE_OUTPUT_VMR9RENDERLESS);
+ resName = IDS_PPAGE_OUTPUT_VMR9RENDERLESS;
break;
case VIDRNDT_DS_DXR:
- sName = ResStr(IDS_PPAGE_OUTPUT_DXR);
+ resName = IDS_PPAGE_OUTPUT_DXR;
break;
case VIDRNDT_DS_NULL_COMP:
- sName = ResStr(IDS_PPAGE_OUTPUT_NULL_COMP);
+ resName = IDS_PPAGE_OUTPUT_NULL_COMP;
break;
case VIDRNDT_DS_NULL_UNCOMP:
- sName = ResStr(IDS_PPAGE_OUTPUT_NULL_UNCOMP);
+ resName = IDS_PPAGE_OUTPUT_NULL_UNCOMP;
break;
case VIDRNDT_DS_EVR:
- sName = ResStr(IDS_PPAGE_OUTPUT_EVR);
+ resName = IDS_PPAGE_OUTPUT_EVR;
break;
case VIDRNDT_DS_EVR_CUSTOM:
- sName = ResStr(IDS_PPAGE_OUTPUT_EVR_CUSTOM);
+ resName = IDS_PPAGE_OUTPUT_EVR_CUSTOM;
break;
case VIDRNDT_DS_MADVR:
- sName = ResStr(IDS_PPAGE_OUTPUT_MADVR);
+ resName = IDS_PPAGE_OUTPUT_MADVR;
break;
case VIDRNDT_DS_SYNC:
- sName = ResStr(IDS_PPAGE_OUTPUT_SYNC);
+ resName = IDS_PPAGE_OUTPUT_SYNC;
break;
default:
ASSERT(FALSE);
return;
}
+ CString sName(StrRes(resName));
if (!s.IsVideoRendererAvailable(nID)) {
sName.AppendFormat(_T(" %s"), ResStr(IDS_PPAGE_OUTPUT_UNAVAILABLE));
}
@@ -325,9 +321,7 @@ BOOL CPPageOutput::OnInitDialog()
addRenderer(VIDRNDT_DS_DEFAULT);
addRenderer(VIDRNDT_DS_OLDRENDERER);
addRenderer(VIDRNDT_DS_OVERLAYMIXER);
- addRenderer(VIDRNDT_DS_VMR7WINDOWED);
addRenderer(VIDRNDT_DS_VMR9WINDOWED);
- addRenderer(VIDRNDT_DS_VMR7RENDERLESS);
addRenderer(VIDRNDT_DS_VMR9RENDERLESS);
addRenderer(VIDRNDT_DS_EVR);
addRenderer(VIDRNDT_DS_EVR_CUSTOM);
@@ -350,16 +344,24 @@ BOOL CPPageOutput::OnInitDialog()
CComboBox& m_iQTVRTC = m_iQTVideoRendererTypeCtrl;
m_iQTVRTC.SetItemData(m_iQTVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_SYS_DEF)), VIDRNDT_QT_DEFAULT);
- m_iQTVRTC.SetItemData(m_iQTVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_VMR7RENDERLESS)), VIDRNDT_QT_DX7);
m_iQTVRTC.SetItemData(m_iQTVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_VMR9RENDERLESS)), VIDRNDT_QT_DX9);
- m_iQTVRTC.SetCurSel(m_iQTVideoRendererType);
+ for (int j = 0; j < m_iQTVRTC.GetCount(); ++j) {
+ if ((UINT)m_iQTVideoRendererType == m_iQTVRTC.GetItemData(j)) {
+ m_iQTVRTC.SetCurSel(j);
+ break;
+ }
+ }
CorrectComboListWidth(m_iQTVRTC);
CComboBox& m_iRMVRTC = m_iRMVideoRendererTypeCtrl;
m_iRMVideoRendererTypeCtrl.SetItemData(m_iRMVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_SYS_DEF)), VIDRNDT_RM_DEFAULT);
- m_iRMVRTC.SetItemData(m_iRMVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_VMR7RENDERLESS)), VIDRNDT_RM_DX7);
m_iRMVRTC.SetItemData(m_iRMVRTC.AddString(ResStr(IDS_PPAGE_OUTPUT_VMR9RENDERLESS)), VIDRNDT_RM_DX9);
- m_iRMVRTC.SetCurSel(m_iRMVideoRendererType);
+ for (int j = 0; j < m_iRMVRTC.GetCount(); ++j) {
+ if ((UINT)m_iRMVideoRendererType == m_iRMVRTC.GetItemData(j)) {
+ m_iRMVRTC.SetCurSel(j);
+ break;
+ }
+ }
CorrectComboListWidth(m_iRMVRTC);
UpdateData(FALSE);
@@ -456,6 +458,7 @@ BOOL CPPageOutput::OnApply()
}
r.fResetDevice = !!m_fResetDevice;
+ r.m_AdvRendSets.bCacheShaders = !!m_fCacheShaders;
if (m_iEvrBuffers.IsEmpty() || _stscanf_s(m_iEvrBuffers, _T("%d"), &r.iEvrBuffers) != 1) {
r.iEvrBuffers = 5;
@@ -517,6 +520,7 @@ void CPPageOutput::OnDSRendererChange()
GetDlgItem(IDC_DSVMR9YUVMIXER)->EnableWindow(FALSE);
GetDlgItem(IDC_DSVMR9ALTERNATIVEVSYNC)->EnableWindow(FALSE);
GetDlgItem(IDC_RESETDEVICE)->EnableWindow(FALSE);
+ GetDlgItem(IDC_CACHESHADERS)->EnableWindow(FALSE);
GetDlgItem(IDC_EVR_BUFFERS)->EnableWindow(m_iDSVideoRendererType == VIDRNDT_DS_EVR_CUSTOM);
GetDlgItem(IDC_EVR_BUFFERS_TXT)->EnableWindow(m_iDSVideoRendererType == VIDRNDT_DS_EVR_CUSTOM);
@@ -548,10 +552,6 @@ void CPPageOutput::OnDSRendererChange()
m_iDSDXVASupport.SetIcon(m_tick);
}
break;
- case VIDRNDT_DS_VMR7WINDOWED:
- m_iDSSaveImageSupport.SetIcon(m_tick);
- m_wndToolTip.UpdateTipText(ResStr(IDC_DSVMR7WIN), GetDlgItem(IDC_VIDRND_COMBO));
- break;
case VIDRNDT_DS_VMR9WINDOWED:
m_iDSSaveImageSupport.SetIcon(m_tick);
m_wndToolTip.UpdateTipText(ResStr(IDC_DSVMR9WIN), GetDlgItem(IDC_VIDRND_COMBO));
@@ -569,20 +569,12 @@ void CPPageOutput::OnDSRendererChange()
case VIDRNDT_DS_NULL_UNCOMP:
m_wndToolTip.UpdateTipText(ResStr(IDC_DSNULL_UNCOMP), GetDlgItem(IDC_VIDRND_COMBO));
break;
- case VIDRNDT_DS_VMR7RENDERLESS:
- GetDlgItem(IDC_DX_SURFACE)->EnableWindow(TRUE);
-
- if (!SysVersion::IsVistaOrLater()) {
- m_iDSDXVASupport.SetIcon(m_tick);
- }
- m_iDSSaveImageSupport.SetIcon(m_tick);
- m_wndToolTip.UpdateTipText(ResStr(IDC_DSVMR7REN), GetDlgItem(IDC_VIDRND_COMBO));
- break;
case VIDRNDT_DS_VMR9RENDERLESS:
GetDlgItem(IDC_DSVMR9LOADMIXER)->EnableWindow(TRUE);
GetDlgItem(IDC_DSVMR9YUVMIXER)->EnableWindow(TRUE);
GetDlgItem(IDC_DSVMR9ALTERNATIVEVSYNC)->EnableWindow(TRUE);
GetDlgItem(IDC_RESETDEVICE)->EnableWindow(TRUE);
+ GetDlgItem(IDC_CACHESHADERS)->EnableWindow(TRUE);
GetDlgItem(IDC_DX_SURFACE)->EnableWindow(TRUE);
GetDlgItem(IDC_DX9RESIZER_COMBO)->EnableWindow(TRUE);
GetDlgItem(IDC_FULLSCREEN_MONITOR_CHECK)->EnableWindow(TRUE);
@@ -608,6 +600,7 @@ void CPPageOutput::OnDSRendererChange()
GetDlgItem(IDC_FULLSCREEN_MONITOR_CHECK)->EnableWindow(TRUE);
GetDlgItem(IDC_DSVMR9ALTERNATIVEVSYNC)->EnableWindow(TRUE);
GetDlgItem(IDC_RESETDEVICE)->EnableWindow(TRUE);
+ GetDlgItem(IDC_CACHESHADERS)->EnableWindow(TRUE);
// Force 3D surface with EVR Custom
GetDlgItem(IDC_DX_SURFACE)->EnableWindow(FALSE);
@@ -627,6 +620,7 @@ void CPPageOutput::OnDSRendererChange()
GetDlgItem(IDC_DX9RESIZER_COMBO)->EnableWindow(TRUE);
GetDlgItem(IDC_FULLSCREEN_MONITOR_CHECK)->EnableWindow(TRUE);
GetDlgItem(IDC_RESETDEVICE)->EnableWindow(TRUE);
+ GetDlgItem(IDC_CACHESHADERS)->EnableWindow(TRUE);
// Force 3D surface with EVR Sync
GetDlgItem(IDC_DX_SURFACE)->EnableWindow(FALSE);
@@ -674,6 +668,7 @@ void CPPageOutput::OnDSRendererChange()
void CPPageOutput::OnRMRendererChange()
{
UpdateData();
+ m_iRMVideoRendererType = (int)m_iRMVideoRendererTypeCtrl.GetItemData(m_iRMVideoRendererTypeCtrl.GetCurSel());
switch (m_iRMVideoRendererType) {
case VIDRNDT_RM_DEFAULT:
@@ -681,11 +676,6 @@ void CPPageOutput::OnRMRendererChange()
m_wndToolTip.UpdateTipText(ResStr(IDC_RMSYSDEF), GetDlgItem(IDC_RMRND_COMBO));
break;
- case VIDRNDT_RM_DX7:
- m_iRMSaveImageSupport.SetIcon(m_tick);
-
- m_wndToolTip.UpdateTipText(ResStr(IDC_RMDX7), GetDlgItem(IDC_RMRND_COMBO));
- break;
case VIDRNDT_RM_DX9:
m_iRMSaveImageSupport.SetIcon(m_tick);
@@ -700,6 +690,7 @@ void CPPageOutput::OnRMRendererChange()
void CPPageOutput::OnQTRendererChange()
{
UpdateData();
+ m_iQTVideoRendererType = (int)m_iQTVideoRendererTypeCtrl.GetItemData(m_iQTVideoRendererTypeCtrl.GetCurSel());
switch (m_iQTVideoRendererType) {
case VIDRNDT_QT_DEFAULT:
@@ -707,11 +698,6 @@ void CPPageOutput::OnQTRendererChange()
m_wndToolTip.UpdateTipText(ResStr(IDC_QTSYSDEF), GetDlgItem(IDC_QTRND_COMBO));
break;
- case VIDRNDT_QT_DX7:
- m_iQTSaveImageSupport.SetIcon(m_tick);
-
- m_wndToolTip.UpdateTipText(ResStr(IDC_QTDX7), GetDlgItem(IDC_QTRND_COMBO));
- break;
case VIDRNDT_QT_DX9:
m_iQTSaveImageSupport.SetIcon(m_tick);
diff --git a/src/mpc-hc/PPageOutput.h b/src/mpc-hc/PPageOutput.h
index 2e8bc1e6e..b7bd0916e 100644
--- a/src/mpc-hc/PPageOutput.h
+++ b/src/mpc-hc/PPageOutput.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012, 2014-2015 see Authors.txt
+ * (C) 2006-2012, 2014-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -80,6 +80,7 @@ public:
BOOL m_fD3DFullscreen;
BOOL m_fVMR9AlterativeVSync;
BOOL m_fResetDevice;
+ BOOL m_fCacheShaders;
CString m_iEvrBuffers;
BOOL m_fD3D9RenderDevice;
diff --git a/src/mpc-hc/PPagePlayback.cpp b/src/mpc-hc/PPagePlayback.cpp
index dc81b1222..79048a985 100644
--- a/src/mpc-hc/PPagePlayback.cpp
+++ b/src/mpc-hc/PPagePlayback.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -38,6 +38,7 @@ CPPagePlayback::CPPagePlayback()
, m_nVolumeStep(0)
, m_nSpeedStep(0)
, m_iLoopForever(0)
+ , m_iLoopMode(0)
, m_nLoops(0)
, m_iAfterPlayback(0)
, m_iZoomLevel(0)
@@ -80,6 +81,8 @@ void CPPagePlayback::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_VOLUMESTEP_SPIN, m_VolumeStepCtrl);
DDX_Control(pDX, IDC_SPEEDSTEP_SPIN, m_SpeedStepCtrl);
DDX_Control(pDX, IDC_SPIN1, m_AutoFitFactorCtrl);
+ DDX_Control(pDX, IDC_COMBO3, m_LoopMode);
+ DDX_CBIndex(pDX, IDC_COMBO3, m_iLoopMode);
}
BEGIN_MESSAGE_MAP(CPPagePlayback, CPPageBase)
@@ -117,6 +120,7 @@ BOOL CPPagePlayback::OnInitDialog()
m_SpeedStepCtrl.SetPos32(m_nSpeedStep);
m_SpeedStepCtrl.SetRange32(0, 100);
m_iLoopForever = s.fLoopForever ? 1 : 0;
+ m_iLoopMode = static_cast<int>(s.eLoopMode);
m_nLoops = s.nLoops;
m_iAfterPlayback = static_cast<int>(s.eAfterPlayback);
m_iZoomLevel = s.iZoomLevel;
@@ -146,6 +150,10 @@ BOOL CPPagePlayback::OnInitDialog()
m_afterPlayback.AddString(ResStr(IDS_AFTER_PLAYBACK_EXIT));
CorrectComboListWidth(m_afterPlayback);
+ m_LoopMode.AddString(ResStr(IDS_PLAY_LOOPMODE_FILE));
+ m_LoopMode.AddString(ResStr(IDS_PLAY_LOOPMODE_PLAYLIST));
+ CorrectComboListWidth(m_LoopMode);
+
// set the spinner acceleration value
UDACCEL accel = { 0, 10 };
m_SpeedStepCtrl.SetAccel(1, &accel);
@@ -174,6 +182,7 @@ BOOL CPPagePlayback::OnApply()
s.nVolumeStep = std::min(std::max(m_nVolumeStep, 1), 100);
s.nSpeedStep = m_nSpeedStep;
s.fLoopForever = !!m_iLoopForever;
+ s.eLoopMode = static_cast<CAppSettings::LoopMode>(m_iLoopMode);
s.nLoops = m_nLoops;
s.eAfterPlayback = static_cast<CAppSettings::AfterPlayback>(m_iAfterPlayback);
s.iZoomLevel = m_iZoomLevel;
@@ -267,14 +276,14 @@ BOOL CPPagePlayback::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult)
CString strTipText;
if (nID == IDC_SLIDER1) {
- strTipText.Format(ResStr(IDS_VOLUME), m_nVolume);
+ strTipText.Format(IDS_VOLUME, m_nVolume);
} else if (nID == IDC_SLIDER2) {
if (m_nBalance > 0) {
- strTipText.Format(ResStr(IDS_BALANCE_R), m_nBalance);
+ strTipText.Format(IDS_BALANCE_R, m_nBalance);
} else if (m_nBalance < 0) {
- strTipText.Format(ResStr(IDS_BALANCE_L), -m_nBalance);
+ strTipText.Format(IDS_BALANCE_L, -m_nBalance);
} else { //if (m_nBalance == 0)
- strTipText = ResStr(IDS_BALANCE);
+ strTipText.LoadString(IDS_BALANCE);
}
}
diff --git a/src/mpc-hc/PPagePlayback.h b/src/mpc-hc/PPagePlayback.h
index 5d3462be0..10f3b5263 100644
--- a/src/mpc-hc/PPagePlayback.h
+++ b/src/mpc-hc/PPagePlayback.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -46,6 +46,8 @@ public:
int m_nSpeedStep;
CSpinButtonCtrl m_SpeedStepCtrl;
int m_iLoopForever;
+ int m_iLoopMode;
+ CComboBox m_LoopMode;
CEdit m_loopnumctrl;
int m_nLoops;
int m_iAfterPlayback;
diff --git a/src/mpc-hc/PPagePlayer.cpp b/src/mpc-hc/PPagePlayer.cpp
index 03762d99a..bd9ea687f 100644
--- a/src/mpc-hc/PPagePlayer.cpp
+++ b/src/mpc-hc/PPagePlayer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -183,7 +183,7 @@ BOOL CPPagePlayer::OnApply()
MB_ICONINFORMATION | MB_OK);
}
- if (!Translations::SetLanguage(Translations::GetLanguageResourceByLocaleID(language))) {
+ if (!Translations::SetLanguage(language)) {
// In case of error, reset the language to English
language = 0;
m_langsComboBox.SetCurSel(m_nPosLangEnglish);
diff --git a/src/mpc-hc/PPageShaders.cpp b/src/mpc-hc/PPageShaders.cpp
index 225aa918a..361472180 100644
--- a/src/mpc-hc/PPageShaders.cpp
+++ b/src/mpc-hc/PPageShaders.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2014 see Authors.txt
+ * (C) 2013-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "PPageShaders.h"
#include "MainFrm.h"
#include "PathUtils.h"
+#include "mplayerc.h"
CShaderListBox::CShaderListBox()
: CListBox()
diff --git a/src/mpc-hc/PPageShaders.h b/src/mpc-hc/PPageShaders.h
index 904a733d9..37a666c3a 100644
--- a/src/mpc-hc/PPageShaders.h
+++ b/src/mpc-hc/PPageShaders.h
@@ -1,5 +1,5 @@
/*
- * (C) 2013-2014 see Authors.txt
+ * (C) 2013-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "EventDispatcher.h"
#include "PPageBase.h"
+#include "Shaders.h"
class CShaderListBox : public CListBox
{
diff --git a/src/mpc-hc/PPageSheet.cpp b/src/mpc-hc/PPageSheet.cpp
index 78a0ebbfc..b780e11db 100644
--- a/src/mpc-hc/PPageSheet.cpp
+++ b/src/mpc-hc/PPageSheet.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -56,7 +56,9 @@ CPPageSheet::CPPageSheet(LPCTSTR pszCaption, IFilterGraph* pFG, CWnd* pParentWnd
AddPage(&m_internalfilters);
#endif
AddPage(&m_audioswitcher);
- if (SysVersion::IsVistaOrLater()) { AddPage(&m_audiorenderer); }
+ if (SysVersion::IsVistaOrLater()) {
+ AddPage(&m_audiorenderer);
+ }
AddPage(&m_externalfilters);
AddPage(&m_subtitles);
AddPage(&m_substyle);
diff --git a/src/mpc-hc/PPageSubMisc.cpp b/src/mpc-hc/PPageSubMisc.cpp
index bd7c9aee3..3a5f28999 100644
--- a/src/mpc-hc/PPageSubMisc.cpp
+++ b/src/mpc-hc/PPageSubMisc.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,8 +20,10 @@
#include "stdafx.h"
#include "mplayerc.h"
+#include "MainFrm.h"
+#include "AuthDlg.h"
#include "PPageSubMisc.h"
-#include "ISDb.h"
+#include "SubtitlesProviders.h"
// CPPageSubMisc dialog
@@ -29,9 +31,17 @@ IMPLEMENT_DYNAMIC(CPPageSubMisc, CPPageBase)
CPPageSubMisc::CPPageSubMisc()
: CPPageBase(CPPageSubMisc::IDD, CPPageSubMisc::IDD)
+ , m_pSubtitlesProviders(nullptr)
, m_fPreferDefaultForcedSubtitles(TRUE)
, m_fPrioritizeExternalSubtitles(TRUE)
, m_fDisableInternalSubtitles(FALSE)
+ , m_bAutoDownloadSubtitles(FALSE)
+ , m_strAutoDownloadSubtitlesExclude()
+ , m_bAutoUploadSubtitles(FALSE)
+ , m_bPreferHearingImpairedSubtitles(FALSE)
+ , m_strSubtitlesProviders()
+ , m_strSubtitlesLanguageOrder()
+ , m_strAutoloadPaths()
{
}
@@ -45,9 +55,13 @@ void CPPageSubMisc::DoDataExchange(CDataExchange* pDX)
DDX_Check(pDX, IDC_CHECK1, m_fPreferDefaultForcedSubtitles);
DDX_Check(pDX, IDC_CHECK2, m_fPrioritizeExternalSubtitles);
DDX_Check(pDX, IDC_CHECK3, m_fDisableInternalSubtitles);
- DDX_Text(pDX, IDC_EDIT1, m_szAutoloadPaths);
- DDX_Control(pDX, IDC_COMBO1, m_ISDbCombo);
- DDX_CBString(pDX, IDC_COMBO1, m_ISDb);
+ DDX_Check(pDX, IDC_CHECK4, m_bAutoDownloadSubtitles);
+ DDX_Check(pDX, IDC_CHECK5, m_bPreferHearingImpairedSubtitles);
+ DDX_Check(pDX, IDC_CHECK6, m_bAutoUploadSubtitles);
+ DDX_Text(pDX, IDC_EDIT1, m_strAutoloadPaths);
+ DDX_Text(pDX, IDC_EDIT2, m_strAutoDownloadSubtitlesExclude);
+ DDX_Text(pDX, IDC_EDIT3, m_strSubtitlesLanguageOrder);
+ DDX_Control(pDX, IDC_LIST1, m_list);
}
BOOL CPPageSubMisc::OnInitDialog()
@@ -59,14 +73,75 @@ BOOL CPPageSubMisc::OnInitDialog()
m_fPreferDefaultForcedSubtitles = s.bPreferDefaultForcedSubtitles;
m_fPrioritizeExternalSubtitles = s.fPrioritizeExternalSubtitles;
m_fDisableInternalSubtitles = s.fDisableInternalSubtitles;
- m_szAutoloadPaths = s.strSubtitlePaths;
+ m_strAutoloadPaths = s.strSubtitlePaths;
+ m_bAutoDownloadSubtitles = s.bAutoDownloadSubtitles;
+ m_strAutoDownloadSubtitlesExclude = s.strAutoDownloadSubtitlesExclude;
+ m_bAutoUploadSubtitles = s.bAutoUploadSubtitles;
+ m_bPreferHearingImpairedSubtitles = s.bPreferHearingImpairedSubtitles;
+ m_strSubtitlesLanguageOrder = s.strSubtitlesLanguageOrder;
+ m_strSubtitlesProviders = s.strSubtitlesProviders;
- m_ISDb = s.strISDb;
- m_ISDbCombo.AddString(m_ISDb);
- if (m_ISDb.CompareNoCase(_T("www.opensubtitles.org/isdb"))) {
- m_ISDbCombo.AddString(_T("www.opensubtitles.org/isdb"));
+ GetDlgItem(IDC_CHECK5)->EnableWindow(m_bAutoDownloadSubtitles);
+ GetDlgItem(IDC_STATIC1)->EnableWindow(m_bAutoDownloadSubtitles);
+ GetDlgItem(IDC_EDIT2)->EnableWindow(m_bAutoDownloadSubtitles);
+
+ m_list.SetExtendedStyle(m_list.GetExtendedStyle()
+ | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT
+ | LVS_EX_CHECKBOXES | LVS_EX_LABELTIP);
+
+ // Do not check dynamic_cast, because if it fails we cannot recover from the error anyway.
+ const CMainFrame* pMainFrame = AfxGetMainFrame();
+ ASSERT(pMainFrame);
+ m_pSubtitlesProviders = pMainFrame->m_pSubtitlesProviders.get();
+ ASSERT(m_pSubtitlesProviders);
+
+ m_list.SetImageList(&m_pSubtitlesProviders->GetImageList(), LVSIL_SMALL);
+
+ CArray<int> columnWidth;
+ if (columnWidth.GetCount() != COL_TOTAL_COLUMNS) {
+ // default sizes
+ columnWidth.RemoveAll();
+ columnWidth.Add(120);
+ columnWidth.Add(75);
+ columnWidth.Add(300);
}
+ m_list.InsertColumn(COL_PROVIDER, ResStr(IDS_SUBDL_DLG_PROVIDER_COL), LVCFMT_LEFT, columnWidth[COL_PROVIDER]);
+ m_list.InsertColumn(COL_USERNAME, ResStr(IDS_SUBUL_DLG_USERNAME_COL), LVCFMT_LEFT, columnWidth[COL_USERNAME]);
+ m_list.InsertColumn(COL_LANGUAGES, ResStr(IDS_SUBPP_DLG_LANGUAGES_COL), LVCFMT_LEFT, columnWidth[COL_LANGUAGES]);
+
+ m_list.SetRedraw(FALSE);
+ m_list.DeleteAllItems();
+
+ int i = 0;
+ for (const auto& iter : m_pSubtitlesProviders->Providers()) {
+ int iItem = m_list.InsertItem(i++, CString(iter->Name().c_str()), iter->GetIconIndex());
+ m_list.SetItemText(iItem, COL_USERNAME, UTF8To16(iter->UserName().c_str()));
+ m_list.SetItemText(iItem, COL_LANGUAGES, ResStr(IDS_SUBPP_DLG_FETCHING_LANGUAGES));
+ m_list.SetCheck(iItem, iter->Enabled(SPF_SEARCH));
+ m_list.SetItemData(iItem, (DWORD_PTR)(iter.get()));
+ }
+
+ m_list.SetRedraw(TRUE);
+ m_list.Invalidate();
+ m_list.UpdateWindow();
+
+ m_threadFetchSupportedLanguages = std::thread([this]() {
+ for (const auto& iter : m_pSubtitlesProviders->Providers()) {
+ iter->Languages();
+ }
+ PostMessage(WM_SUPPORTED_LANGUAGES_READY); // Notify the window that languages have been fetched
+ });
+
+ //TODO: Remove when Auto Upload is finalised
+ CheckDlgButton(IDC_CHECK6, FALSE);
+ GetDlgItem(IDC_CHECK6)->EnableWindow(FALSE);
+
+ EnableToolTips(TRUE);
+ CreateToolTip();
+ m_wndToolTip.AddTool(GetDlgItem(IDC_EDIT2), ResStr(IDS_SUB_AUTODL_IGNORE_TOOLTIP));
+ m_wndToolTip.AddTool(GetDlgItem(IDC_EDIT3), ResStr(IDS_LANG_PREF_EXAMPLE));
+
UpdateData(FALSE);
return TRUE;
@@ -81,61 +156,151 @@ BOOL CPPageSubMisc::OnApply()
s.bPreferDefaultForcedSubtitles = !!m_fPreferDefaultForcedSubtitles;
s.fPrioritizeExternalSubtitles = !!m_fPrioritizeExternalSubtitles;
s.fDisableInternalSubtitles = !!m_fDisableInternalSubtitles;
- s.strSubtitlePaths = m_szAutoloadPaths;
+ s.strSubtitlePaths = m_strAutoloadPaths;
+ s.bAutoDownloadSubtitles = !!m_bAutoDownloadSubtitles;
+ s.strAutoDownloadSubtitlesExclude = m_strAutoDownloadSubtitlesExclude;
+ s.bAutoUploadSubtitles = !!m_bAutoUploadSubtitles;
+ s.bPreferHearingImpairedSubtitles = !!m_bPreferHearingImpairedSubtitles;
+ s.strSubtitlesLanguageOrder = m_strSubtitlesLanguageOrder;
+
+ for (int i = 0; i < m_list.GetItemCount(); ++i) {
+ SubtitlesProvider* provider = reinterpret_cast<SubtitlesProvider*>(m_list.GetItemData(i));
+ provider->Enabled(SPF_SEARCH, m_list.GetCheck(i));
+ }
- s.strISDb = m_ISDb;
- s.strISDb.TrimRight('/');
+ s.strSubtitlesProviders = m_pSubtitlesProviders->WriteSettings().c_str();
return __super::OnApply();
}
BEGIN_MESSAGE_MAP(CPPageSubMisc, CPPageBase)
+ ON_MESSAGE_VOID(WM_SUPPORTED_LANGUAGES_READY, OnSupportedLanguagesReady)
+ ON_WM_DESTROY()
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedResetSubsPath)
- ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedTestSubsDB)
- ON_UPDATE_COMMAND_UI(IDC_BUTTON2, OnUpdateButtonTestSubsDB)
- ON_CBN_EDITCHANGE(IDC_COMBO1, OnURLModified)
+ ON_BN_CLICKED(IDC_CHECK4, OnAutoDownloadSubtitlesClicked)
+ ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRightClick)
+ ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChanged)
END_MESSAGE_MAP()
-void CPPageSubMisc::OnBnClickedResetSubsPath()
+void CPPageSubMisc::OnSupportedLanguagesReady()
{
- m_szAutoloadPaths = DEFAULT_SUBTITLE_PATHS;
+ int i = 0;
+ for (const auto& iter : m_pSubtitlesProviders->Providers()) {
+ CString languages(SubtitlesProvidersUtils::JoinContainer(iter->Languages(), ",").c_str());
+ m_list.SetItemText(i++, COL_LANGUAGES, languages.IsEmpty() ? ResStr(IDS_SUBPP_DLG_LANGUAGES_ERROR) : languages);
+ }
+}
- UpdateData(FALSE);
- SetModified();
+void CPPageSubMisc::OnDestroy()
+{
+ if (m_threadFetchSupportedLanguages.joinable()) {
+ m_threadFetchSupportedLanguages.join();
+ }
}
-void CPPageSubMisc::OnBnClickedTestSubsDB()
+void CPPageSubMisc::OnRightClick(NMHDR* pNMHDR, LRESULT* pResult)
{
- CString ISDb, ver, str;
- UINT msg;
+ LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
- m_ISDbCombo.GetWindowText(ISDb);
- ISDb.TrimRight('/');
+ if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0) {
+ SubtitlesProvider& provider = *(SubtitlesProvider*)(m_list.GetItemData(lpnmlv->iItem));
- ver.Format(_T("ISDb v%d"), ISDb_PROTOCOL_VERSION);
+ enum {
+ SET_CREDENTIALS = 0x1000,
+ RESET_CREDENTIALS,
+ MOVE_UP,
+ MOVE_DOWN,
+ OPEN_URL
+ };
- CWebTextFile wtf;
- UINT nIconType = MB_ICONEXCLAMATION;
+ CMenu m;
+ m.CreatePopupMenu();
+ m.AppendMenu(MF_STRING | (provider.Flags(SPF_LOGIN) ? MF_ENABLED : MF_DISABLED), SET_CREDENTIALS, ResStr(IDS_SUBMENU_SETUP));
+ m.AppendMenu(MF_STRING | (provider.Flags(SPF_LOGIN) && provider.UserName().length() ? MF_ENABLED : MF_DISABLED), RESET_CREDENTIALS, ResStr(IDS_SUBMENU_RESET));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | (lpnmlv->iItem > 0 ? MF_ENABLED : MF_DISABLED), MOVE_UP, ResStr(IDS_SUBMENU_MOVEUP));
+ m.AppendMenu(MF_STRING | (lpnmlv->iItem < m_list.GetItemCount() - 1 ? MF_ENABLED : MF_DISABLED), MOVE_DOWN, ResStr(IDS_SUBMENU_MOVEDOWN));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | MF_ENABLED, OPEN_URL, ResStr(IDS_SUBMENU_OPENURL));
- if (wtf.Open(_T("http://") + ISDb + _T("/test.php")) && wtf.ReadString(str) && str == ver) {
- msg = IDS_PPSDB_URLCORRECT;
- nIconType = MB_ICONINFORMATION;
- } else if (str.Find(_T("ISDb v")) == 0) {
- msg = IDS_PPSDB_PROTOCOLERR;
- } else {
- msg = IDS_PPSDB_BADURL;
- }
+ CPoint pt = lpnmlv->ptAction;
+ ::MapWindowPoints(lpnmlv->hdr.hwndFrom, HWND_DESKTOP, &pt, 1);
- AfxMessageBox(msg, nIconType | MB_OK, 0);
+ switch (m.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RETURNCMD, pt.x, pt.y, this)) {
+ case OPEN_URL:
+ provider.OpenUrl();
+ break;
+ case SET_CREDENTIALS: {
+ CString szUser(UTF8To16(provider.UserName().c_str()));
+ CString szPass(UTF8To16(provider.Password().c_str()));
+ CString szDomain(provider.Name().c_str());
+ if (ERROR_SUCCESS == PromptForCredentials(GetSafeHwnd(),
+ ResStr(IDS_SUB_CREDENTIALS_TITLE), ResStr(IDS_SUB_CREDENTIALS_MSG) + CString(provider.Url().c_str()),
+ szDomain, szUser, szPass, /*&bSave*/nullptr)) {
+ provider.LogOut();
+ provider.UserName(static_cast<const char*>(UTF16To8(szUser)));
+ provider.Password(static_cast<const char*>(UTF16To8(szPass)));
+ m_list.SetItemText(lpnmlv->iItem, 1, szUser);
+ SetModified();
+ }
+ break;
+ }
+ case RESET_CREDENTIALS:
+ provider.LogOut();
+ provider.UserName("");
+ provider.Password("");
+ m_list.SetItemText(lpnmlv->iItem, 1, _T(""));
+ SetModified();
+ break;
+ case MOVE_UP:
+ m_pSubtitlesProviders->MoveUp(lpnmlv->iItem);
+ ListView_SortItemsEx(m_list.GetSafeHwnd(), SortCompare, m_list.GetSafeHwnd());
+ SetModified();
+ break;
+ case MOVE_DOWN:
+ m_pSubtitlesProviders->MoveDown(lpnmlv->iItem);
+ ListView_SortItemsEx(m_list.GetSafeHwnd(), SortCompare, m_list.GetSafeHwnd());
+ SetModified();
+ break;
+ default:
+ break;
+ }
+ }
}
-void CPPageSubMisc::OnUpdateButtonTestSubsDB(CCmdUI* pCmdUI)
+void CPPageSubMisc::OnAutoDownloadSubtitlesClicked()
{
- pCmdUI->Enable(m_ISDbCombo.GetWindowTextLength() > 0);
+ m_bAutoDownloadSubtitles = IsDlgButtonChecked(IDC_CHECK4);
+ GetDlgItem(IDC_CHECK5)->EnableWindow(m_bAutoDownloadSubtitles);
+ GetDlgItem(IDC_STATIC1)->EnableWindow(m_bAutoDownloadSubtitles);
+ GetDlgItem(IDC_EDIT2)->EnableWindow(m_bAutoDownloadSubtitles);
+ UpdateWindow();
+
+ SetModified();
}
-void CPPageSubMisc::OnURLModified()
+void CPPageSubMisc::OnBnClickedResetSubsPath()
{
+ m_strAutoloadPaths = DEFAULT_SUBTITLE_PATHS;
+
+ UpdateData(FALSE);
SetModified();
}
+
+void CPPageSubMisc::OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW pNMLV = (LPNMLISTVIEW)pNMHDR;
+
+ if (pNMLV->uOldState + pNMLV->uNewState == 0x3000) {
+ SetModified();
+ }
+}
+
+int CALLBACK CPPageSubMisc::SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
+{
+ CListCtrl& list = *(CListCtrl*)CListCtrl::FromHandle((HWND)lParamSort);
+ size_t left = ((SubtitlesProvider*)list.GetItemData((int)lParam1))->Index();
+ size_t right = ((SubtitlesProvider*)list.GetItemData((int)lParam2))->Index();
+ return int(left - right);
+}
diff --git a/src/mpc-hc/PPageSubMisc.h b/src/mpc-hc/PPageSubMisc.h
index 16fe65687..a6c73320a 100644
--- a/src/mpc-hc/PPageSubMisc.h
+++ b/src/mpc-hc/PPageSubMisc.h
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "PPageBase.h"
+class SubtitlesProviders;
// CPPageSubMisc dialog
@@ -29,6 +30,18 @@ class CPPageSubMisc : public CPPageBase
{
DECLARE_DYNAMIC(CPPageSubMisc)
+private:
+ enum {
+ COL_PROVIDER,
+ COL_USERNAME,
+ COL_LANGUAGES,
+ COL_TOTAL_COLUMNS
+ };
+
+ SubtitlesProviders* m_pSubtitlesProviders;
+
+ std::thread m_threadFetchSupportedLanguages;
+
public:
CPPageSubMisc();
virtual ~CPPageSubMisc();
@@ -37,21 +50,34 @@ public:
enum { IDD = IDD_PPAGESUBMISC };
protected:
+ enum {
+ WM_SUPPORTED_LANGUAGES_READY = WM_APP + 1
+ };
+
BOOL m_fPreferDefaultForcedSubtitles;
BOOL m_fPrioritizeExternalSubtitles;
BOOL m_fDisableInternalSubtitles;
- CString m_szAutoloadPaths;
- CComboBox m_ISDbCombo;
- CString m_ISDb;
+ BOOL m_bAutoDownloadSubtitles;
+ CString m_strAutoDownloadSubtitlesExclude;
+ BOOL m_bAutoUploadSubtitles;
+ BOOL m_bPreferHearingImpairedSubtitles;
+ CString m_strSubtitlesProviders;
+ CString m_strSubtitlesLanguageOrder;
+ CString m_strAutoloadPaths;
+ CListCtrl m_list;
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
virtual BOOL OnApply();
+ static int CALLBACK SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
+
DECLARE_MESSAGE_MAP()
+ afx_msg void OnSupportedLanguagesReady();
+ afx_msg void OnDestroy();
afx_msg void OnBnClickedResetSubsPath();
- afx_msg void OnBnClickedTestSubsDB();
- afx_msg void OnUpdateButtonTestSubsDB(CCmdUI* pCmdUI);
- afx_msg void OnURLModified();
+ afx_msg void OnAutoDownloadSubtitlesClicked();
+ afx_msg void OnRightClick(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
};
diff --git a/src/mpc-hc/PPageSubtitles.cpp b/src/mpc-hc/PPageSubtitles.cpp
index 8b60c1822..3c47a53c5 100644
--- a/src/mpc-hc/PPageSubtitles.cpp
+++ b/src/mpc-hc/PPageSubtitles.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,6 +23,7 @@
#include "mplayerc.h"
#include "MainFrm.h"
#include "PPageSubtitles.h"
+#include "PPageAccelTbl.h"
// CPPageSubtitles dialog
diff --git a/src/mpc-hc/PPageSubtitles.h b/src/mpc-hc/PPageSubtitles.h
index 7c6d51353..7d100934b 100644
--- a/src/mpc-hc/PPageSubtitles.h
+++ b/src/mpc-hc/PPageSubtitles.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#pragma once
#include "../Subtitles/STS.h"
+#include "PPageBase.h"
// CPPageSubtitles dialog
diff --git a/src/mpc-hc/PPageWebServer.cpp b/src/mpc-hc/PPageWebServer.cpp
index 97dd62dfb..6da605395 100644
--- a/src/mpc-hc/PPageWebServer.cpp
+++ b/src/mpc-hc/PPageWebServer.cpp
@@ -26,6 +26,7 @@
#include "SysVersion.h"
#include "PathUtils.h"
#include <afxglobals.h>
+#include "WebServer.h"
// CPPageWebServer dialog
@@ -171,7 +172,7 @@ static int __stdcall BrowseCtrlCallback(HWND hwnd, UINT uMsg, LPARAM lParam, LPA
bool CPPageWebServer::PickDir(CString& dir)
{
- CString strTitle = ResStr(IDS_PPAGEWEBSERVER_0);
+ CString strTitle(StrRes(IDS_PPAGEWEBSERVER_0));
bool success = false;
if (SysVersion::IsVistaOrLater()) {
diff --git a/src/mpc-hc/PlayerBar.cpp b/src/mpc-hc/PlayerBar.cpp
index d567a8886..8b1f79118 100644
--- a/src/mpc-hc/PlayerBar.cpp
+++ b/src/mpc-hc/PlayerBar.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2012-2015 see Authors.txt
+ * (C) 2012-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,7 @@
#include "stdafx.h"
#include "PlayerBar.h"
#include "MainFrm.h"
+#include "mplayerc.h"
IMPLEMENT_DYNAMIC(CPlayerBar, CSizingControlBarG)
CPlayerBar::CPlayerBar()
diff --git a/src/mpc-hc/PlayerBar.h b/src/mpc-hc/PlayerBar.h
index 52a0e3693..d90e09494 100644
--- a/src/mpc-hc/PlayerBar.h
+++ b/src/mpc-hc/PlayerBar.h
@@ -1,5 +1,5 @@
/*
- * (C) 2012-2015 see Authors.txt
+ * (C) 2012-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,7 @@
#pragma once
#include "sizecbar/scbarg.h"
+#include "EventDispatcher.h"
class CPlayerBar : public CSizingControlBarG
diff --git a/src/mpc-hc/PlayerCaptureDialog.cpp b/src/mpc-hc/PlayerCaptureDialog.cpp
index 84556c275..cf42ffbeb 100644
--- a/src/mpc-hc/PlayerCaptureDialog.cpp
+++ b/src/mpc-hc/PlayerCaptureDialog.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -28,6 +28,7 @@
#include "../filters/muxer/WavDest/WavDest.h"
#include "../filters/muxer/MatroskaMuxer/MatroskaMuxer.h"
#include "../filters/muxer/DSMMuxer/DSMMuxer.h"
+#include "../filters/transform/BufferFilter/BufferFilter.h"
static bool LoadMediaType(CStringW displayName, AM_MEDIA_TYPE** ppmt)
diff --git a/src/mpc-hc/PlayerCaptureDialog.h b/src/mpc-hc/PlayerCaptureDialog.h
index 49c887820..9a00a13aa 100644
--- a/src/mpc-hc/PlayerCaptureDialog.h
+++ b/src/mpc-hc/PlayerCaptureDialog.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,16 +21,14 @@
#pragma once
-#include <afxwin.h>
-#include <afxcmn.h>
-#include <dvdmedia.h>
-#include "../filters/transform/BufferFilter/BufferFilter.h"
#include "FloatEdit.h"
-#include "resource.h"
#include "ResizableLib/ResizableDialog.h"
+#include "resource.h"
+#include <atlcoll.h>
+#include <dvdmedia.h>
-//
+class CMainFrame;
template<class T>
struct CFormatElem {
diff --git a/src/mpc-hc/PlayerNavigationDialog.cpp b/src/mpc-hc/PlayerNavigationDialog.cpp
index 86e9c35d3..70660d588 100644
--- a/src/mpc-hc/PlayerNavigationDialog.cpp
+++ b/src/mpc-hc/PlayerNavigationDialog.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2010-2015 see Authors.txt
+ * (C) 2010-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -123,7 +123,7 @@ void CPlayerNavigationDialog::UpdateElementList()
m_channelList.ResetContent();
for (const auto& channel : s.m_DVBChannels) {
- if (channel.GetAudioCount() && (m_bTVStations && channel.GetVideoPID() || !m_bTVStations && !channel.GetVideoPID())) {
+ if (m_bTVStations && channel.GetVideoPID() || !m_bTVStations && !channel.GetVideoPID()) {
int nItem = m_channelList.AddString(channel.GetName());
if (nItem != LB_ERR) {
m_channelList.SetItemData(nItem, (DWORD_PTR)channel.GetPrefNumber());
@@ -236,7 +236,7 @@ void CPlayerNavigationDialog::OnContextMenu(CWnd* pWnd, CPoint point)
it1->SetPrefNumber(nPrefNumber2);
it2->SetPrefNumber(nPrefNumber1);
// Actually swap the channels
- iter_swap(it1, it2);
+ std::iter_swap(it1, it2);
};
if (!bOutside) {
diff --git a/src/mpc-hc/PlayerPlaylistBar.cpp b/src/mpc-hc/PlayerPlaylistBar.cpp
index faf960e80..7b876f4db 100644
--- a/src/mpc-hc/PlayerPlaylistBar.cpp
+++ b/src/mpc-hc/PlayerPlaylistBar.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,9 +20,8 @@
*/
#include "stdafx.h"
-#include <math.h>
+#include <cmath>
#include <afxinet.h>
-#include <atlutil.h>
#include "mplayerc.h"
#include "MainFrm.h"
#include "DSUtil.h"
diff --git a/src/mpc-hc/PlayerPlaylistBar.h b/src/mpc-hc/PlayerPlaylistBar.h
index 0cdd804ad..4c3c962ec 100644
--- a/src/mpc-hc/PlayerPlaylistBar.h
+++ b/src/mpc-hc/PlayerPlaylistBar.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,6 +26,7 @@
#include "PlayerListCtrl.h"
#include "Playlist.h"
#include "DropTarget.h"
+#include "../Subtitles/TextFile.h"
class OpenMediaData;
diff --git a/src/mpc-hc/PlayerSeekBar.cpp b/src/mpc-hc/PlayerSeekBar.cpp
index de421dcc6..57c1a5476 100644
--- a/src/mpc-hc/PlayerSeekBar.cpp
+++ b/src/mpc-hc/PlayerSeekBar.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include "PlayerSeekBar.h"
#include "MainFrm.h"
+#include "mplayerc.h"
#define TOOLTIP_SHOW_DELAY 100
#define TOOLTIP_HIDE_TIMEOUT 3000
@@ -129,7 +130,7 @@ void CPlayerSeekBar::MoveThumb(const CPoint& point)
void CPlayerSeekBar::SyncVideoToThumb()
{
- GetParent()->PostMessage(WM_HSCROLL, MAKEWPARAM((short)m_rtPos, SB_THUMBTRACK), (LPARAM)m_hWnd);
+ GetParent()->PostMessage(WM_HSCROLL, NULL, reinterpret_cast<LPARAM>(m_hWnd));
}
long CPlayerSeekBar::ChannelPointFromPosition(REFERENCE_TIME rtPos) const
diff --git a/src/mpc-hc/PlayerSubresyncBar.cpp b/src/mpc-hc/PlayerSubresyncBar.cpp
index 52f18d5c7..11ec266cf 100644
--- a/src/mpc-hc/PlayerSubresyncBar.cpp
+++ b/src/mpc-hc/PlayerSubresyncBar.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,11 +20,12 @@
*/
#include "stdafx.h"
+#include "PlayerSubresyncBar.h"
#include "mplayerc.h"
#include "MainFrm.h"
-#include "PlayerSubresyncBar.h"
#include "WinAPIUtils.h"
-
+#include "PPageSubStyle.h"
+#include "../Subtitles/RTS.h"
// CPlayerSubresyncBar
@@ -62,7 +63,6 @@ BOOL CPlayerSubresyncBar::Create(CWnd* pParentWnd, UINT defDockBarID, CCritSec*
ScaleFont();
m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
-
m_strYes = m_strYesMenu = ResStr(IDS_SUBRESYNC_YES);
m_strNo = m_strNoMenu = ResStr(IDS_SUBRESYNC_NO);
m_strYes.Remove(_T('&'));
@@ -110,25 +110,25 @@ void CPlayerSubresyncBar::ReloadTranslatableResources()
VERIFY(pHeaderCtrl->SetItem(nPos, &item));
};
- setColumnHeaderText(COL_START, ResStr(IDS_SUBRESYNC_CLN_TIME));
- setColumnHeaderText(COL_END, ResStr(IDS_SUBRESYNC_CLN_END));
- setColumnHeaderText(COL_PREVSTART, ResStr(IDS_SUBRESYNC_CLN_PREVIEW));
- setColumnHeaderText(COL_PREVEND, ResStr(IDS_SUBRESYNC_CLN_END));
+ setColumnHeaderText(COL_START, StrRes(IDS_SUBRESYNC_CLN_TIME));
+ setColumnHeaderText(COL_END, StrRes(IDS_SUBRESYNC_CLN_END));
+ setColumnHeaderText(COL_PREVSTART, StrRes(IDS_SUBRESYNC_CLN_PREVIEW));
+ setColumnHeaderText(COL_PREVEND, StrRes(IDS_SUBRESYNC_CLN_END));
if (m_mode == VOBSUB) {
ASSERT(pHeaderCtrl->GetItemCount() == COL_COUNT_VOBSUB);
- setColumnHeaderText(COL_VOBID, ResStr(IDS_SUBRESYNC_CLN_VOB_ID));
- setColumnHeaderText(COL_CELLID, ResStr(IDS_SUBRESYNC_CLN_CELL_ID));
- setColumnHeaderText(COL_FORCED, ResStr(IDS_SUBRESYNC_CLN_FORCED));
+ setColumnHeaderText(COL_VOBID, StrRes(IDS_SUBRESYNC_CLN_VOB_ID));
+ setColumnHeaderText(COL_CELLID, StrRes(IDS_SUBRESYNC_CLN_CELL_ID));
+ setColumnHeaderText(COL_FORCED, StrRes(IDS_SUBRESYNC_CLN_FORCED));
} else if (m_mode == TEXTSUB) {
ASSERT(pHeaderCtrl->GetItemCount() == COL_COUNT_TEXTSUB);
- setColumnHeaderText(COL_TEXT, ResStr(IDS_SUBRESYNC_CLN_TEXT));
- setColumnHeaderText(COL_STYLE, ResStr(IDS_SUBRESYNC_CLN_STYLE));
- setColumnHeaderText(COL_FONT, ResStr(IDS_SUBRESYNC_CLN_FONT));
- setColumnHeaderText(COL_CHARSET, ResStr(IDS_SUBRESYNC_CLN_CHARSET));
- setColumnHeaderText(COL_UNICODE, ResStr(IDS_SUBRESYNC_CLN_UNICODE));
- setColumnHeaderText(COL_LAYER, ResStr(IDS_SUBRESYNC_CLN_LAYER));
- setColumnHeaderText(COL_ACTOR, ResStr(IDS_SUBRESYNC_CLN_ACTOR));
- setColumnHeaderText(COL_EFFECT, ResStr(IDS_SUBRESYNC_CLN_EFFECT));
+ setColumnHeaderText(COL_TEXT, StrRes(IDS_SUBRESYNC_CLN_TEXT));
+ setColumnHeaderText(COL_STYLE, StrRes(IDS_SUBRESYNC_CLN_STYLE));
+ setColumnHeaderText(COL_FONT, StrRes(IDS_SUBRESYNC_CLN_FONT));
+ setColumnHeaderText(COL_CHARSET, StrRes(IDS_SUBRESYNC_CLN_CHARSET));
+ setColumnHeaderText(COL_UNICODE, StrRes(IDS_SUBRESYNC_CLN_UNICODE));
+ setColumnHeaderText(COL_LAYER, StrRes(IDS_SUBRESYNC_CLN_LAYER));
+ setColumnHeaderText(COL_ACTOR, StrRes(IDS_SUBRESYNC_CLN_ACTOR));
+ setColumnHeaderText(COL_EFFECT, StrRes(IDS_SUBRESYNC_CLN_EFFECT));
}
}
}
@@ -139,7 +139,7 @@ void CPlayerSubresyncBar::SetTime(REFERENCE_TIME rt)
m_rt = rt;
int curSegment;
- if (!m_sts.SearchSubs((int)(rt / 10000), 25, &curSegment)) {
+ if (!m_sts.SearchSubs(rt, 25, &curSegment)) {
curSegment = -1;
}
@@ -258,7 +258,7 @@ void CPlayerSubresyncBar::ResetSubtitle()
m_list.DeleteAllItems();
if (m_mode == VOBSUB || m_mode == TEXTSUB) {
- int prevstart = INT_MIN;
+ REFERENCE_TIME prevstart = INT64_MIN;
size_t nCount = m_sts.GetCount();
m_displayData.resize(nCount);
@@ -386,7 +386,7 @@ void CPlayerSubresyncBar::UpdatePreview()
}
} else if (schk.GetCount() == 1) {
int k = schk[0];
- int dt = m_subtimes[k].newStart - m_subtimes[k].orgStart;
+ REFERENCE_TIME dt = m_subtimes[k].newStart - m_subtimes[k].orgStart;
for (; start < end; start++) {
m_sts[start].start = m_subtimes[start].orgStart + dt;
m_sts[start].end = (m_displayData[start].flags & TEMOD)
@@ -396,8 +396,8 @@ void CPlayerSubresyncBar::UpdatePreview()
} else if (schk.GetCount() >= 2) {
int i0 = 0;
int i1 = 0;
- int ti0 = 0;
- int ds = 0;
+ REFERENCE_TIME ti0 = 0;
+ REFERENCE_TIME ds = 0;
double m = 0;
int k, l;
@@ -443,11 +443,11 @@ void CPlayerSubresyncBar::UpdatePreview()
}
}
-void CPlayerSubresyncBar::SetSTS0(int& start, int end, int ti0)
+void CPlayerSubresyncBar::SetSTS0(int& start, int end, REFERENCE_TIME ti0)
{
for (; start < end; start++) {
m_sts[start].start = ti0;
- int endpos;
+ REFERENCE_TIME endpos;
if (m_displayData[start].flags & TEMOD) {
endpos = m_subtimes[start].newEnd;
} else {
@@ -457,19 +457,19 @@ void CPlayerSubresyncBar::SetSTS0(int& start, int end, int ti0)
}
}
-void CPlayerSubresyncBar::SetSTS1(int& start, int end, int ti0, double m, int i0)
+void CPlayerSubresyncBar::SetSTS1(int& start, int end, REFERENCE_TIME ti0, double m, int i0)
{
for (; start < end; start++) {
- m_sts[start].start = int((m_subtimes[start].orgStart - ti0) * m + m_subtimes[i0].newStart);
- int endpos;
+ m_sts[start].start = REFERENCE_TIME((m_subtimes[start].orgStart - ti0) * m + m_subtimes[i0].newStart);
+ REFERENCE_TIME endpos;
if (m_displayData[start].flags & TEMOD) {
endpos = m_subtimes[start].newEnd;
} else {
- int diff = m_subtimes[start].orgEnd - m_subtimes[start].orgStart;
+ REFERENCE_TIME diff = m_subtimes[start].orgEnd - m_subtimes[start].orgStart;
if (m_mode == VOBSUB) {
endpos = m_sts[start].start + diff;
} else {
- endpos = m_sts[start].start + int(diff * m);
+ endpos = m_sts[start].start + REFERENCE_TIME(diff * m);
}
}
m_sts[start].end = endpos;
@@ -511,7 +511,7 @@ void CPlayerSubresyncBar::SetCheck(int iItem, bool bStart, bool bEnd)
}
}
-bool CPlayerSubresyncBar::ModStart(int iItem, int t, bool bReset)
+bool CPlayerSubresyncBar::ModStart(int iItem, REFERENCE_TIME t, bool bReset)
{
bool bRet = false;
bool bStartMod, bEndMod, bStartAdj, bEndAdj;
@@ -539,7 +539,7 @@ bool CPlayerSubresyncBar::ModStart(int iItem, int t, bool bReset)
return bRet;
}
-bool CPlayerSubresyncBar::ModEnd(int iItem, int t, bool bReset)
+bool CPlayerSubresyncBar::ModEnd(int iItem, REFERENCE_TIME t, bool bReset)
{
bool bRet = false;
bool bStartMod, bEndMod, bStartAdj, bEndAdj;
@@ -605,14 +605,17 @@ void CPlayerSubresyncBar::OnGetDisplayInfo(NMHDR* pNMHDR, LRESULT* pResult)
}
if (pItem->mask & LVIF_TEXT) {
- auto formatTime = [](int t, TCHAR * buff, size_t buffLen) {
+ auto formatTime = [](REFERENCE_TIME t, TCHAR * buff, size_t buffLen) {
+ int ms = int(RT2MS(abs(t)));
+ int s = ms / 1000;
+ int m = s / 60;
_stprintf_s(buff, buffLen, t >= 0
? _T("%02d:%02d:%02d.%03d")
: _T("-%02d:%02d:%02d.%03d"),
- abs(t) / 60 / 60 / 1000,
- (abs(t) / 60 / 1000) % 60,
- (abs(t) / 1000) % 60,
- abs(t) % 1000);
+ m / 60,
+ m % 60,
+ s % 60,
+ ms % 1000);
};
switch (pItem->iSubItem) {
@@ -703,7 +706,7 @@ void CPlayerSubresyncBar::OnGetDisplayInfoVobSub(LV_ITEM* pItem)
}
}
-static bool ParseTime(CString str, int& ret, bool bWarn = true)
+static bool ParseTime(CString str, REFERENCE_TIME& ret, bool bWarn = true)
{
int sign = 1, h, m, s, ms;
TCHAR c;
@@ -722,7 +725,7 @@ static bool ParseTime(CString str, int& ret, bool bWarn = true)
&& 0 <= m && m < 60
&& 0 <= s && s < 60
&& 0 <= ms && ms < 1000) {
- ret = sign * (h * 60 * 60 * 1000 + m * 60 * 1000 + s * 1000 + ms);
+ ret = MS2RT(sign * (h * 60 * 60 * 1000 + m * 60 * 1000 + s * 1000 + ms));
return true;
}
@@ -790,7 +793,7 @@ void CPlayerSubresyncBar::OnEndlabeleditList(NMHDR* pNMHDR, LRESULT* pResult)
switch (pItem->iSubItem) {
case COL_START: {
- int t;
+ REFERENCE_TIME t;
if (ParseTime(pItem->pszText, t)) {
bNeedsUpdate = ModStart(pItem->iItem, t);
@@ -800,7 +803,7 @@ void CPlayerSubresyncBar::OnEndlabeleditList(NMHDR* pNMHDR, LRESULT* pResult)
break;
case COL_END:
if (m_mode == TEXTSUB) {
- int t;
+ REFERENCE_TIME t;
if (ParseTime(pItem->pszText, t)) {
bNeedsUpdate = ModEnd(pItem->iItem, t);
@@ -1107,7 +1110,7 @@ void CPlayerSubresyncBar::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)
bNeedsUpdate = true;
break;
case SETCS:
- ModStart(iItem, (int)(m_rt / 10000));
+ ModStart(iItem, m_rt);
bNeedsUpdate = true;
break;
case RESETE:
@@ -1119,7 +1122,7 @@ void CPlayerSubresyncBar::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)
bNeedsUpdate = true;
break;
case SETCE:
- ModEnd(iItem, (int)(m_rt / 10000));
+ ModEnd(iItem, m_rt);
bNeedsUpdate = true;
break;
default:
@@ -1205,13 +1208,10 @@ void CPlayerSubresyncBar::OnNMDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0 && (m_mode == VOBSUB || m_mode == TEXTSUB)) {
if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
- int t = 0;
- if (lpnmlv->iSubItem > COL_PREVEND || !ParseTime(m_list.GetItemText(lpnmlv->iItem, lpnmlv->iSubItem), t, false)) {
- t = m_sts[lpnmlv->iItem].start;
+ REFERENCE_TIME rt;
+ if (lpnmlv->iSubItem > COL_PREVEND || !ParseTime(m_list.GetItemText(lpnmlv->iItem, lpnmlv->iSubItem), rt, false)) {
+ rt = m_sts[lpnmlv->iItem].start;
}
-
- REFERENCE_TIME rt = (REFERENCE_TIME)t * 10000;
-
pMainFrame->SeekTo(rt);
}
}
@@ -1270,7 +1270,7 @@ void CPlayerSubresyncBar::OnCustomdrawList(NMHDR* pNMHDR, LRESULT* pResult)
// if (m_totalGroups > 0)
clrTextBk -= ((m_itemGroups[pLVCD->nmcd.dwItemSpec] & 1) ? 0x100010 : 0x200020);
- if (m_sts[pLVCD->nmcd.dwItemSpec].start <= m_rt / 10000 && m_rt / 10000 < m_sts[pLVCD->nmcd.dwItemSpec].end) {
+ if (m_sts[pLVCD->nmcd.dwItemSpec].start <= m_rt && m_rt < m_sts[pLVCD->nmcd.dwItemSpec].end) {
clrText |= 0xFF;
}
@@ -1367,7 +1367,7 @@ bool CPlayerSubresyncBar::HandleShortCuts(const MSG* pMsg)
bHandled = true;
break;
case VK_F5:
- ModStart(iItem, (int)(m_rt / 10000));
+ ModStart(iItem, m_rt);
bHandled = true;
break;
case VK_F2:
@@ -1379,7 +1379,7 @@ bool CPlayerSubresyncBar::HandleShortCuts(const MSG* pMsg)
bHandled = true;
break;
case VK_F6:
- ModEnd(iItem, (int)(m_rt / 10000));
+ ModEnd(iItem, m_rt);
bHandled = bStep = true;
break;
}
@@ -1419,21 +1419,21 @@ int CPlayerSubresyncBar::FindNearestSub(REFERENCE_TIME& rtPos, bool bForward)
return -2;
}
- int lCurTime = int(rtPos / 10000) + (bForward ? 1 : -1);
+ REFERENCE_TIME lCurTime = rtPos + (bForward ? 1 : -1);
if (lCurTime < m_newStartsIndex.begin()->first) {
size_t i = m_newStartsIndex.begin()->second;
- rtPos = m_subtimes[i].newStart * 10000i64;
+ rtPos = m_subtimes[i].newStart;
return bForward ? int(i) : -1;
} else if (lCurTime > m_newStartsIndex.rbegin()->first) {
size_t i = m_newStartsIndex.rbegin()->second;
- rtPos = m_subtimes[i].newStart * 10000i64;
+ rtPos = m_subtimes[i].newStart;
return bForward ? -1 : int(i);
}
for (auto it = m_newStartsIndex.begin(), itPrec = it++; it != m_newStartsIndex.end(); it++, itPrec++) {
if (lCurTime >= itPrec->first && lCurTime < it->first) {
- rtPos = bForward ? it->first * 10000i64 : itPrec->first * 10000i64;
+ rtPos = bForward ? it->first : itPrec->first;
return int(bForward ? it->second : itPrec->second);
}
}
@@ -1455,7 +1455,7 @@ bool CPlayerSubresyncBar::ShiftSubtitle(int nItem, long lValue, REFERENCE_TIME&
UpdatePreview();
SaveSubtitle();
bRet = true;
- rtPos = (REFERENCE_TIME)m_subtimes[nItem].newStart * 10000;
+ rtPos = m_subtimes[nItem].newStart;
}
return bRet;
}
diff --git a/src/mpc-hc/PlayerSubresyncBar.h b/src/mpc-hc/PlayerSubresyncBar.h
index 331456de0..c5bda41de 100644
--- a/src/mpc-hc/PlayerSubresyncBar.h
+++ b/src/mpc-hc/PlayerSubresyncBar.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,15 +21,16 @@
#pragma once
-#include <afxcview.h>
-#include <vector>
-#include <map>
-#include "EventDispatcher.h"
#include "PlayerBar.h"
#include "PlayerListCtrl.h"
-#include "../Subtitles/RTS.h"
+#include "../Subtitles/STS.h"
#include "../Subtitles/VobSubFile.h"
+#include <map>
+#include <vector>
+
+class CMainFrame;
+interface ISubStream;
// CPlayerSubresyncBar
@@ -88,10 +89,10 @@ private:
};
MODE m_mode;
- std::multimap<int, size_t> m_newStartsIndex;
+ std::multimap<REFERENCE_TIME, size_t> m_newStartsIndex;
struct SubTime {
- int orgStart, newStart, orgEnd, newEnd;
- std::multimap<int, size_t>::iterator itIndex;
+ REFERENCE_TIME orgStart, newStart, orgEnd, newEnd;
+ std::multimap<REFERENCE_TIME, size_t>::iterator itIndex;
};
std::vector<SubTime> m_subtimes;
@@ -99,15 +100,12 @@ private:
CAtlArray<CVobSubFile::SubPos> m_vobSub;
struct DisplayData {
- int tStart, tPrevStart, tEnd, tPrevEnd;
+ REFERENCE_TIME tStart, tPrevStart, tEnd, tPrevEnd;
int flags;
};
std::vector<DisplayData> m_displayData;
CString m_displayBuffer;
- int GetStartTime(int iItem);
- int GetEndTime(int iItem);
-
void UpdatePreview();
enum {
@@ -118,14 +116,14 @@ private:
TSEP = 0x80000000
};
- void SetSTS0(int& start, int end, int ti0);
- void SetSTS1(int& start, int end, int ti0, double m, int i0);
+ void SetSTS0(int& start, int end, REFERENCE_TIME ti0);
+ void SetSTS1(int& start, int end, REFERENCE_TIME ti0, double m, int i0);
void GetCheck(int iItem, bool& fStartMod, bool& fEndMod, bool& fStartAdj, bool& fEndAdj) const;
void SetCheck(int iItem, bool fStart, bool fEnd);
- bool ModStart(int iItem, int t, bool fReset = false);
- bool ModEnd(int iItem, int t, bool fReset = false);
+ bool ModStart(int iItem, REFERENCE_TIME t, bool fReset = false);
+ bool ModEnd(int iItem, REFERENCE_TIME t, bool fReset = false);
void OnGetDisplayInfoTextSub(LV_ITEM* pItem);
void OnGetDisplayInfoVobSub(LV_ITEM* pItem);
diff --git a/src/mpc-hc/PlayerToolBar.cpp b/src/mpc-hc/PlayerToolBar.cpp
index af75f9499..ac408e253 100644
--- a/src/mpc-hc/PlayerToolBar.cpp
+++ b/src/mpc-hc/PlayerToolBar.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,13 +21,15 @@
#include "stdafx.h"
#include "mplayerc.h"
-#include <math.h>
+#include <cmath>
#include <atlbase.h>
#include <afxpriv.h>
#include "MPCPngImage.h"
#include "PlayerToolBar.h"
#include "MainFrm.h"
#include "PathUtils.h"
+#include "SVGImage.h"
+#include "ImageGrayer.h"
// CPlayerToolBar
@@ -35,17 +37,19 @@ IMPLEMENT_DYNAMIC(CPlayerToolBar, CToolBar)
CPlayerToolBar::CPlayerToolBar(CMainFrame* pMainFrame)
: m_pMainFrame(pMainFrame)
, m_nButtonHeight(16)
- , m_pButtonsImages(nullptr)
, m_volumeMinSizeInc(0)
{
+ GetEventd().Connect(m_eventc, {
+ MpcEvent::DPI_CHANGED,
+ MpcEvent::DEFAULT_TOOLBAR_SIZE_CHANGED,
+ }, std::bind(&CPlayerToolBar::EventCallback, this, std::placeholders::_1));
}
CPlayerToolBar::~CPlayerToolBar()
{
- SAFE_DELETE(m_pButtonsImages);
}
-bool CPlayerToolBar::LoadExternalToolBar(CImage* image)
+bool CPlayerToolBar::LoadExternalToolBar(CImage& image)
{
// Paths and extensions to try (by order of preference)
std::vector<CString> paths({ PathUtils::GetProgramPath() });
@@ -55,10 +59,17 @@ bool CPlayerToolBar::LoadExternalToolBar(CImage* image)
}
const std::vector<CString> extensions({ _T("png"), _T("bmp") });
+ // TODO: Find a better solution?
+ float dpiScaling = (float)std::min(m_pMainFrame->m_dpi.ScaleFactorX(), m_pMainFrame->m_dpi.ScaleFactorY());
+
// Try loading the external toolbar
for (const auto& path : paths) {
+ if (SUCCEEDED(SVGImage::Load(PathUtils::CombinePaths(path, _T("toolbar.svg")), image, dpiScaling))) {
+ return true;
+ }
+
for (const auto& ext : extensions) {
- if (SUCCEEDED(image->Load(PathUtils::CombinePaths(path, _T("toolbar.") + ext)))) {
+ if (SUCCEEDED(image.Load(PathUtils::CombinePaths(path, _T("toolbar.") + ext)))) {
return true;
}
}
@@ -67,6 +78,47 @@ bool CPlayerToolBar::LoadExternalToolBar(CImage* image)
return false;
}
+void CPlayerToolBar::LoadToolbarImage()
+{
+ // We are currently not aware of any cases where the scale factors are different
+ float dpiScaling = (float)std::min(m_pMainFrame->m_dpi.ScaleFactorX(), m_pMainFrame->m_dpi.ScaleFactorY());
+ float defaultToolbarScaling = AfxGetAppSettings().nDefaultToolbarSize / 16.0f;
+
+ CImage image;
+ if (LoadExternalToolBar(image) || (!AfxGetAppSettings().bUseLegacyToolbar && SUCCEEDED(SVGImage::Load(IDF_SVG_TOOLBAR, image, dpiScaling * defaultToolbarScaling)))) {
+ CBitmap* bmp = CBitmap::FromHandle(image);
+ int width = image.GetWidth();
+ int height = image.GetHeight();
+ int bpp = image.GetBPP();
+ if (width == height * 15) {
+ // the manual specifies that sizeButton should be sizeImage inflated by (7, 6)
+ SetSizes(CSize(height + 7, height + 6), CSize(height, height));
+
+ m_pButtonsImages.reset(DEBUG_NEW CImageList());
+ if (bpp == 32) {
+ m_pButtonsImages->Create(height, height, ILC_COLOR32 | ILC_MASK, 1, 0);
+ m_pButtonsImages->Add(bmp, nullptr); // alpha is the mask
+
+ CImage imageDisabled;
+ if (ImageGrayer::Gray(image, imageDisabled)) {
+ m_pDisabledButtonsImages.reset(DEBUG_NEW CImageList());
+ m_pDisabledButtonsImages->Create(height, height, ILC_COLOR32 | ILC_MASK, 1, 0);
+ m_pDisabledButtonsImages->Add(CBitmap::FromHandle(imageDisabled), nullptr); // alpha is the mask
+ } else {
+ m_pDisabledButtonsImages = nullptr;
+ }
+ } else {
+ m_pButtonsImages->Create(height, height, ILC_COLOR24 | ILC_MASK, 1, 0);
+ m_pButtonsImages->Add(bmp, RGB(255, 0, 255));
+ }
+ m_nButtonHeight = height;
+ GetToolBarCtrl().SetImageList(m_pButtonsImages.get());
+ GetToolBarCtrl().SetDisabledImageList(m_pDisabledButtonsImages.get());
+ }
+ image.Destroy();
+ }
+}
+
BOOL CPlayerToolBar::Create(CWnd* pParentWnd)
{
VERIFY(__super::CreateEx(pParentWnd,
@@ -109,29 +161,8 @@ BOOL CPlayerToolBar::Create(CWnd* pParentWnd)
m_volctrl.SetRange(0, 100);
m_nButtonHeight = 16; // reset m_nButtonHeight
- CImage image;
- if (LoadExternalToolBar(&image)) {
- CBitmap* bmp = CBitmap::FromHandle(image);
- int width = image.GetWidth();
- int height = image.GetHeight();
- int bpp = image.GetBPP();
- if (width == height * 15) {
- // the manual specifies that sizeButton should be sizeImage inflated by (7, 6)
- SetSizes(CSize(height + 7, height + 6), CSize(height, height));
- m_pButtonsImages = DEBUG_NEW CImageList();
- if (bpp == 32) {
- m_pButtonsImages->Create(height, height, ILC_COLOR32 | ILC_MASK, 1, 0);
- m_pButtonsImages->Add(bmp, nullptr); // alpha is the mask
- } else {
- m_pButtonsImages->Create(height, height, ILC_COLOR24 | ILC_MASK, 1, 0);
- m_pButtonsImages->Add(bmp, RGB(255, 0, 255));
- }
- m_nButtonHeight = height;
- GetToolBarCtrl().SetImageList(m_pButtonsImages);
- }
- image.Destroy();
- }
+ LoadToolbarImage();
return TRUE;
}
@@ -211,6 +242,18 @@ void CPlayerToolBar::SetVolume(int volume)
m_volctrl.SetPosInternal(volume);
}
+void CPlayerToolBar::EventCallback(MpcEvent ev)
+{
+ switch (ev) {
+ case MpcEvent::DPI_CHANGED:
+ case MpcEvent::DEFAULT_TOOLBAR_SIZE_CHANGED:
+ LoadToolbarImage();
+ break;
+ default:
+ UNREACHABLE_CODE();
+ }
+}
+
BEGIN_MESSAGE_MAP(CPlayerToolBar, CToolBar)
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
ON_WM_SIZE()
diff --git a/src/mpc-hc/PlayerToolBar.h b/src/mpc-hc/PlayerToolBar.h
index 4880b1064..2d8ed9e47 100644
--- a/src/mpc-hc/PlayerToolBar.h
+++ b/src/mpc-hc/PlayerToolBar.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -37,12 +37,17 @@ private:
bool IsMuted() const;
void SetMute(bool fMute = true);
int getHitButtonIdx(CPoint point);
- bool LoadExternalToolBar(CImage* image);
+ bool LoadExternalToolBar(CImage& image);
+ void LoadToolbarImage();
int m_nButtonHeight;
- CImageList* m_pButtonsImages;
+ std::unique_ptr<CImageList> m_pButtonsImages;
+ std::unique_ptr<CImageList> m_pDisabledButtonsImages;
int m_volumeMinSizeInc;
+ EventClient m_eventc;
+ void EventCallback(MpcEvent ev);
+
public:
CPlayerToolBar(CMainFrame* pMainFrame);
virtual ~CPlayerToolBar();
diff --git a/src/mpc-hc/QuicktimeGraph.cpp b/src/mpc-hc/QuicktimeGraph.cpp
index f9a0a6f6f..d43412da3 100644
--- a/src/mpc-hc/QuicktimeGraph.cpp
+++ b/src/mpc-hc/QuicktimeGraph.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -23,7 +23,7 @@
#ifndef _WIN64
-#include <math.h>
+#include <cmath>
#include "QuicktimeGraph.h"
#include "IQTVideoSurface.h"
#include "mplayerc.h"
@@ -51,11 +51,7 @@ CQuicktimeGraph::CQuicktimeGraph(HWND hWndParent, HRESULT& hr)
const CAppSettings& s = AfxGetAppSettings();
CComPtr<ISubPicAllocatorPresenter> pQTAP;
- if (s.iQTVideoRendererType == VIDRNDT_QT_DX7) {
- if (SUCCEEDED(hr = CreateAP7(CLSID_QT7AllocatorPresenter, hWndParent, &pQTAP))) {
- dwStyle &= ~WS_VISIBLE;
- }
- } else if (s.iQTVideoRendererType == VIDRNDT_QT_DX9) {
+ if (s.iQTVideoRendererType == VIDRNDT_QT_DX9) {
bool bFullscreen = (AfxGetApp()->m_pMainWnd != nullptr) && (((CMainFrame*)AfxGetApp()->m_pMainWnd)->IsD3DFullScreenMode());
if (SUCCEEDED(hr = CreateAP9(CLSID_QT9AllocatorPresenter, hWndParent, bFullscreen, &pQTAP))) {
dwStyle &= ~WS_VISIBLE;
diff --git a/src/mpc-hc/QuicktimeGraph.h b/src/mpc-hc/QuicktimeGraph.h
index 7c9498127..d2caf14aa 100644
--- a/src/mpc-hc/QuicktimeGraph.h
+++ b/src/mpc-hc/QuicktimeGraph.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,7 +24,6 @@
#ifndef _WIN64
#include "BaseGraph.h"
-#include "AllocatorCommon7.h"
#include "AllocatorCommon.h"
#include "qt/qt.h"
diff --git a/src/mpc-hc/RealMediaGraph.cpp b/src/mpc-hc/RealMediaGraph.cpp
index e2552b646..fb6910831 100644
--- a/src/mpc-hc/RealMediaGraph.cpp
+++ b/src/mpc-hc/RealMediaGraph.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,17 +22,27 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "MainFrm.h"
-#include <math.h>
-#include <atlbase.h>
-#include <atlcoll.h>
-#include <InitGuid.h>
+#include "AuthDlg.h"
+#include "AllocatorCommon.h"
+#include "BaseGraph.h"
+
+#include <initguid.h>
#include "RealMediaGraph.h"
#include "RealMediaWindowlessSite.h"
+#include "realmedia/pnresult.h"
+#include "realmedia/pntypes.h"
+#include "realmedia/rmaausvc.h"
+#include "realmedia/rmaauth.h"
+#include "realmedia/rmaclsnk.h"
+#include "realmedia/rmacomm.h"
+#include "realmedia/rmacore.h"
+#include "realmedia/rmaerror.h"
+#include "realmedia/rmapckts.h"
+#include "realmedia/rmasite2.h"
#include "realmedia/rmavsurf.h"
-#include "realmedia/rmaevent.h"
-#include "realmedia/rmaprefs.h"
-#include "DSUtil.h"
-#include "AuthDlg.h"
+#include "realmedia/rmawin.h"
+
+#include <cmath>
using namespace DSObjects;
@@ -377,9 +387,6 @@ STDMETHODIMP CRealMediaPlayer::SitesNeeded(UINT32 uRequestID, IRMAValues* pProps
return E_FAIL;
}
- ULONG refc = ((IRMASite*)m_pTheSite)->AddRef();
- refc = ((IRMASite*)m_pTheSite)->Release();
-
if (!(m_pTheSite2 = m_pTheSite)) {
return E_NOINTERFACE;
}
@@ -576,11 +583,6 @@ CRealMediaPlayerWindowless::CRealMediaPlayerWindowless(HWND hWndParent, CRealMed
bool bFullscreen = (AfxGetApp()->m_pMainWnd != nullptr) && (((CMainFrame*)AfxGetApp()->m_pMainWnd)->IsD3DFullScreenMode());
switch (s.iRMVideoRendererType) {
default:
- case VIDRNDT_RM_DX7:
- if (FAILED(CreateAP7(CLSID_RM7AllocatorPresenter, hWndParent, &pRMAP))) {
- return;
- }
- break;
case VIDRNDT_RM_DX9:
if (FAILED(CreateAP9(CLSID_RM9AllocatorPresenter, hWndParent, bFullscreen, &pRMAP))) {
return;
diff --git a/src/mpc-hc/RealMediaGraph.h b/src/mpc-hc/RealMediaGraph.h
index 79015d47e..036f30ede 100644
--- a/src/mpc-hc/RealMediaGraph.h
+++ b/src/mpc-hc/RealMediaGraph.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,25 +22,20 @@
#pragma once
#include "BaseGraph.h"
-#include "AllocatorCommon7.h"
-#include "AllocatorCommon.h"
+#include "realmedia/pncom.h"
#include "realmedia/pntypes.h"
#include "realmedia/pnwintyp.h"
-#include "realmedia/pncom.h"
-#include "realmedia/rmapckts.h"
+#include "realmedia/rmaausvc.h"
+#include "realmedia/rmaauth.h"
+#include "realmedia/rmaclsnk.h"
#include "realmedia/rmacomm.h"
-#include "realmedia/rmamon.h"
-#include "realmedia/rmafiles.h"
-#include "realmedia/rmaengin.h"
#include "realmedia/rmacore.h"
-#include "realmedia/rmaclsnk.h"
#include "realmedia/rmaerror.h"
-#include "realmedia/rmaauth.h"
-#include "realmedia/rmawin.h"
#include "realmedia/rmasite2.h"
-#include "realmedia/rmaausvc.h"
-#include "realmedia/rmavsurf.h"
+#include "realmedia/rmawin.h"
+
+interface ISubPicAllocatorPresenter2;
namespace DSObjects
diff --git a/src/mpc-hc/RealMediaWindowlessSite.cpp b/src/mpc-hc/RealMediaWindowlessSite.cpp
index 8b89b8071..f35f10eea 100644
--- a/src/mpc-hc/RealMediaWindowlessSite.cpp
+++ b/src/mpc-hc/RealMediaWindowlessSite.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,14 +20,20 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
-#include <math.h>
-#include <atlbase.h>
-#include <atlcoll.h>
-#include <InitGuid.h>
#include "RealMediaWindowlessSite.h"
#include "DSUtil.h"
+#include "realmedia/pncom.h"
+#include "realmedia/pnresult.h"
+#include "realmedia/pntypes.h"
+#include "realmedia/pnwintyp.h"
+#include "realmedia/rmacomm.h"
+#include "realmedia/rmaevent.h"
+#include "realmedia/rmapckts.h"
+#include "realmedia/rmasite2.h"
+#include "realmedia/rmavsurf.h"
+#include "realmedia/rmawin.h"
+
using namespace DSObjects;
diff --git a/src/mpc-hc/RealMediaWindowlessSite.h b/src/mpc-hc/RealMediaWindowlessSite.h
index 4bf5cfe75..974d0e293 100644
--- a/src/mpc-hc/RealMediaWindowlessSite.h
+++ b/src/mpc-hc/RealMediaWindowlessSite.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,23 +21,13 @@
#pragma once
+#include "realmedia/pncom.h"
#include "realmedia/pntypes.h"
#include "realmedia/pnwintyp.h"
-#include "realmedia/pncom.h"
-#include "realmedia/rmapckts.h"
#include "realmedia/rmacomm.h"
-#include "realmedia/rmamon.h"
-#include "realmedia/rmafiles.h"
-#include "realmedia/rmaengin.h"
-#include "realmedia/rmacore.h"
-#include "realmedia/rmaclsnk.h"
-#include "realmedia/rmaerror.h"
-#include "realmedia/rmaauth.h"
-#include "realmedia/rmawin.h"
#include "realmedia/rmasite2.h"
-#include "realmedia/rmaausvc.h"
#include "realmedia/rmavsurf.h"
-#include "realmedia/rmaevent.h"
+#include "realmedia/rmawin.h"
namespace DSObjects
@@ -68,8 +58,6 @@ namespace DSObjects
void RMADestroyRegion(REGION* reg);
REGION* RMACreateRegion();
- class CRealMediaWindowlessSite;
-
//
// CRealMediaVideoSurface
//
diff --git a/src/mpc-hc/RegFilterChooserDlg.cpp b/src/mpc-hc/RegFilterChooserDlg.cpp
index 2956af1fa..7eaedd30b 100644
--- a/src/mpc-hc/RegFilterChooserDlg.cpp
+++ b/src/mpc-hc/RegFilterChooserDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,11 +20,13 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
-#include <dmo.h>
#include "RegFilterChooserDlg.h"
#include "FGFilter.h"
+#include "mplayerc.h"
#include "DSUtil.h"
+#include "FakeFilterMapper2.h"
+#include <initguid.h>
+#include <dmo.h>
// CRegFilterChooserDlg dialog
diff --git a/src/mpc-hc/RegFilterChooserDlg.h b/src/mpc-hc/RegFilterChooserDlg.h
index db424ae0d..4969e3831 100644
--- a/src/mpc-hc/RegFilterChooserDlg.h
+++ b/src/mpc-hc/RegFilterChooserDlg.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -24,6 +24,7 @@
#include <afxwin.h>
#include "ResizableLib/ResizableDialog.h"
+class FilterOverride;
// CRegFilterChooserDlg dialog
diff --git a/src/mpc-hc/SVGImage.cpp b/src/mpc-hc/SVGImage.cpp
new file mode 100644
index 000000000..b54f0f522
--- /dev/null
+++ b/src/mpc-hc/SVGImage.cpp
@@ -0,0 +1,85 @@
+/*
+* (C) 2016-2017 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#include "stdafx.h"
+#include "SVGImage.h"
+#include "mplayerc.h"
+#include <atlimage.h>
+#define NANOSVG_IMPLEMENTATION
+#include <nanosvg/src/nanosvg.h>
+#define NANOSVGRAST_IMPLEMENTATION
+#include <nanosvg/src/nanosvgrast.h>
+
+namespace
+{
+ HRESULT NSVGimageToCImage(NSVGimage* svgImage, CImage& image, float scale)
+ {
+ image.Destroy();
+
+ if (!svgImage) {
+ return E_FAIL;
+ }
+
+ NSVGrasterizer* rasterizer = nsvgCreateRasterizer();
+ if (!rasterizer) {
+ nsvgDelete(svgImage);
+ return E_FAIL;
+ }
+
+ if (!image.Create(int(svgImage->width * scale), int(svgImage->height * scale), 32)) {
+ nsvgDeleteRasterizer(rasterizer);
+ nsvgDelete(svgImage);
+ return E_FAIL;
+ }
+
+ nsvgRasterize(rasterizer, svgImage, 0.0f, 0.0f, scale,
+ static_cast<unsigned char*>(image.GetBits()),
+ image.GetWidth(), image.GetHeight(), image.GetPitch());
+
+ // NanoSVG outputs RGBA but we need BGRA so we swap red and blue
+ BYTE* bits = static_cast<BYTE*>(image.GetBits());
+ for (int y = 0; y < image.GetHeight(); y++, bits += image.GetPitch()) {
+ RGBQUAD* p = reinterpret_cast<RGBQUAD*>(bits);
+ for (int x = 0; x < image.GetWidth(); x++) {
+ std::swap(p[x].rgbRed, p[x].rgbBlue);
+ }
+ }
+
+ nsvgDeleteRasterizer(rasterizer);
+ nsvgDelete(svgImage);
+
+ return S_OK;
+ }
+}
+
+HRESULT SVGImage::Load(LPCTSTR filename, CImage& image, float scale /*= 1.0f*/)
+{
+ return NSVGimageToCImage(nsvgParseFromFile(CStringA(filename), "px", 96.0f), image, scale);
+}
+
+HRESULT SVGImage::Load(UINT uResId, CImage& image, float scale /*= 1.0f*/)
+{
+ CStringA svg;
+ if (!LoadResource(uResId, svg, _T("SVG"))) {
+ return E_FAIL;
+ }
+
+ return NSVGimageToCImage(nsvgParse(svg.GetBuffer(), "px", 96.0f), image, scale);
+}
diff --git a/src/mpc-hc/SVGImage.h b/src/mpc-hc/SVGImage.h
new file mode 100644
index 000000000..8582d2118
--- /dev/null
+++ b/src/mpc-hc/SVGImage.h
@@ -0,0 +1,32 @@
+/*
+* (C) 2016-2017 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 3 of the License, or
+* (at your option) any later version.
+*
+* MPC-HC is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+#pragma once
+
+namespace ATL
+{
+ class CImage;
+}
+
+namespace SVGImage
+{
+ HRESULT Load(LPCTSTR filename, ATL::CImage& image, float scale = 1.0f);
+ HRESULT Load(UINT uResId, ATL::CImage& image, float scale = 1.0f);
+}
diff --git a/src/mpc-hc/SaveImageDialog.cpp b/src/mpc-hc/SaveImageDialog.cpp
index db3877b3a..025ca3c2a 100644
--- a/src/mpc-hc/SaveImageDialog.cpp
+++ b/src/mpc-hc/SaveImageDialog.cpp
@@ -84,14 +84,12 @@ END_MESSAGE_MAP()
BOOL CSaveImageDialog::OnFileNameOK()
{
if (SysVersion::IsVistaOrLater()) {
- IFileDialogCustomize* pfdc = GetIFileDialogCustomize();
- WCHAR* result;
-
- pfdc->GetEditBoxText(IDC_EDIT1, &result);
- m_nJpegQuality = _wtoi(result);
- CoTaskMemFree(result);
+ CComPtr<IFileDialogCustomize> pfdc = GetIFileDialogCustomize();
+ CComHeapPtr<WCHAR> result;
- pfdc->Release();
+ if (SUCCEEDED(pfdc->GetEditBoxText(IDC_EDIT1, &result))) {
+ m_nJpegQuality = _wtoi(result);
+ }
} else {
m_nJpegQuality = m_jpegQualitySpin.GetPos32();
}
diff --git a/src/mpc-hc/SaveSubtitlesFileDialog.cpp b/src/mpc-hc/SaveSubtitlesFileDialog.cpp
index 789c44ec0..d325637bc 100644
--- a/src/mpc-hc/SaveSubtitlesFileDialog.cpp
+++ b/src/mpc-hc/SaveSubtitlesFileDialog.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2012-2014 see Authors.txt
+ * (C) 2012-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -34,7 +34,7 @@ CSaveSubtitlesFileDialog::CSaveSubtitlesFileDialog(
LPCTSTR lpszFilter, std::vector<Subtitle::SubType> types,
CWnd* pParentWnd)
: CSaveTextFileDialog(e, lpszDefExt, lpszFileName, lpszFilter, pParentWnd)
- , m_types(types)
+ , m_types(std::move(types))
, m_bDisableEncoding(false)
, m_bDisableExternalStyleCheckBox(false)
, m_delay(delay)
diff --git a/src/mpc-hc/SaveThumbnailsDialog.cpp b/src/mpc-hc/SaveThumbnailsDialog.cpp
index aefe734a3..a6c746de2 100644
--- a/src/mpc-hc/SaveThumbnailsDialog.cpp
+++ b/src/mpc-hc/SaveThumbnailsDialog.cpp
@@ -103,20 +103,22 @@ END_MESSAGE_MAP()
BOOL CSaveThumbnailsDialog::OnFileNameOK()
{
if (SysVersion::IsVistaOrLater()) {
- IFileDialogCustomize* pfdc = GetIFileDialogCustomize();
- WCHAR* result;
-
- pfdc->GetEditBoxText(IDC_EDIT2, &result);
- m_rows = _wtoi(result);
- CoTaskMemFree(result);
- pfdc->GetEditBoxText(IDC_EDIT3, &result);
- m_cols = _wtoi(result);
- CoTaskMemFree(result);
- pfdc->GetEditBoxText(IDC_EDIT4, &result);
- m_width = _wtoi(result);
- CoTaskMemFree(result);
-
- pfdc->Release();
+ CComPtr<IFileDialogCustomize> pfdc = GetIFileDialogCustomize();
+ CComHeapPtr<WCHAR> result;
+
+ if (SUCCEEDED(pfdc->GetEditBoxText(IDC_EDIT2, &result))) {
+ m_rows = _wtoi(result);
+ }
+
+ result.Free();
+ if (SUCCEEDED(pfdc->GetEditBoxText(IDC_EDIT3, &result))) {
+ m_cols = _wtoi(result);
+ }
+
+ result.Free();
+ if (SUCCEEDED(pfdc->GetEditBoxText(IDC_EDIT4, &result))) {
+ m_width = _wtoi(result);
+ }
} else {
m_rows = m_rowsctrl.GetPos32();
m_cols = m_colsctrl.GetPos32();
diff --git a/src/mpc-hc/SettingsDefines.h b/src/mpc-hc/SettingsDefines.h
index 4285a83c0..efe017e66 100644
--- a/src/mpc-hc/SettingsDefines.h
+++ b/src/mpc-hc/SettingsDefines.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -55,6 +55,7 @@
#define IDS_RS_TITLEBARTEXTSTYLE _T("TitleBarTextStyle")
#define IDS_RS_CONTROLSTATE _T("ControlState")
#define IDS_RS_LOOP _T("Loop")
+#define IDS_RS_LOOPMODE _T("LoopMode")
#define IDS_RS_LOOPNUM _T("LoopNum")
#define IDS_RS_SNAPTODESKTOPEDGES _T("SnapToDesktopEdges")
#define IDS_RS_ENABLESUBTITLES _T("EnableSubtitles")
@@ -62,6 +63,13 @@
#define IDS_RS_PRIORITIZEEXTERNALSUBTITLES _T("PrioritizeExternalSubtitles")
#define IDS_RS_DISABLEINTERNALSUBTITLES _T("DisableInternalSubtitles")
#define IDS_RS_ALLOW_OVERRIDING_EXT_SPLITTER _T("AllowOverridingExternalSplitterSubtitleChoice")
+#define IDS_RS_AUTODOWNLOADSUBTITLES _T("AutoDownloadSubtitles")
+#define IDS_RS_AUTODOWNLOADSCOREMOVIES _T("AutoDownloadScoreMovies")
+#define IDS_RS_AUTODOWNLOADSCORESERIES _T("AutoDownloadScoreSeries")
+#define IDS_RS_AUTODOWNLOADSUBTITLESEXCLUDE _T("AutoDownloadSubtitlesExclude")
+#define IDS_RS_AUTOUPLOADSUBTITLES _T("AutoUploadSubtitles")
+#define IDS_RS_SUBTITLESPROVIDERS _T("SubtitlesProviders")
+#define IDS_RS_PREFERHEARINGIMPAIREDSUBTITLES _T("PreferHearingImpairedSubtitles")
#define IDS_RS_SUBTITLEPATHS _T("SubtitlePaths")
#define IDS_RS_USEDEFAULTSUBTITLESSTYLE _T("UseDefaultsubtitlesStyle")
#define IDS_RS_THUMBWIDTH _T("ThumbWidth")
@@ -69,6 +77,7 @@
#define IDS_RS_D3DFULLSCREEN _T("D3DFullScreen")
//#define IDS_RS_MONITOR_AUTOREFRESHRATE _T("MonitorAutoRefreshRate")
#define IDS_RS_SPEEDSTEP _T("SpeedStep")
+#define IDS_RS_DEFAULTTOOLBARSIZE _T("DefaultToolbarSize")
// Audio
#define IDS_RS_VOLUME _T("Volume")
@@ -183,7 +192,6 @@
#define IDS_RS_PRIORITY _T("Priority")
#define IDS_RS_SNAPSHOTEXT _T("SnapshotExt")
#define IDS_RS_LAUNCHFULLSCREEN _T("LaunchFullScreen")
-#define IDS_RS_ISDB _T("ISDb")
#define IDS_RS_WEBROOT _T("WebRoot")
#define IDS_RS_WEBSERVERLOCALHOSTONLY _T("WebServerLocalhostOnly")
#define IDS_RS_ASPECTRATIO_X _T("AspectRatioX")
@@ -225,6 +233,7 @@
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_CHECKED _T("Checked")
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTART _T("FrameRateStart")
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_FRAMERATESTOP _T("FrameRateStop")
+#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_AUDIODELAY _T("AudioDelay")
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_BPP _T("BPP")
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_FREQ _T("Freq")
#define IDS_RS_FULLSCREEN_AUTOCHANGE_MODE_MODE_DM_SIZEX _T("SizeX")
@@ -276,6 +285,11 @@
#define IDS_R_DLG_SUBTITLEDL _T("Dialogs\\SubtitleDl")
#define IDS_RS_DLG_SUBTITLEDL_COLWIDTH _T("ColWidth")
+#define IDS_RS_DLG_SUBTITLEDL_SORTCOLUMN _T("SortColumn")
+#define IDS_RS_DLG_SUBTITLEDL_SORTORDER _T("SortOrder")
+
+#define IDS_R_DLG_SUBTITLEUP _T("Dialogs\\SubtitleUp")
+#define IDS_RS_DLG_SUBTITLEUP_COLWIDTH _T("ColWidth")
#define IDS_R_DLG_ORGANIZE_FAV _T("Dialogs\\OrganizeFavorites")
@@ -291,10 +305,13 @@
#define IDS_RS_DEBUG_SHADERS_LASTVERSION _T("LastVersion")
#define IDS_RS_DEBUG_SHADERS_LASTFILE _T("LastFile")
#define IDS_RS_DEBUG_SHADERS_FIRSTRUN _T("FirstRun")
+#define IDS_RS_CACHESHADERS _T("CacheShaders")
+#define IDS_R_SHADER_CACHE _T("ShaderCache")
#define IDS_RS_COVER_ART _T("EnableCoverArt")
#define IDS_RS_COVER_ART_SIZE_LIMIT _T("CoverArtSizeLimit")
#define IDS_RS_LOGGING _T("EnableLogging")
+#define IDS_RS_USE_LEGACY_TOOLBAR _T("UseLegacyToolbar")
#define IDS_RS_SUBTITLE_RENDERER _T("SubtitleRenderer")
diff --git a/src/mpc-hc/ShockwaveGraph.cpp b/src/mpc-hc/ShockwaveGraph.cpp
index 40f3093e9..16dfd4fbe 100644
--- a/src/mpc-hc/ShockwaveGraph.cpp
+++ b/src/mpc-hc/ShockwaveGraph.cpp
@@ -24,7 +24,7 @@
#include "resource.h"
#include "DSUtil.h"
#include "SysVersion.h"
-#include <math.h>
+#include <cmath>
#include <Audiopolicy.h>
#include <Mmdeviceapi.h>
diff --git a/src/mpc-hc/SubtitleDlDlg.cpp b/src/mpc-hc/SubtitleDlDlg.cpp
index 456cc82e3..98faa0d2e 100644
--- a/src/mpc-hc/SubtitleDlDlg.cpp
+++ b/src/mpc-hc/SubtitleDlDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,293 +20,185 @@
*/
#include "stdafx.h"
-#include <afxwin.h>
#include "SubtitleDlDlg.h"
+#include "SubtitlesProvider.h"
+#include "mplayerc.h"
#include "MainFrm.h"
-#include "DSUtil.h"
+#include "ISOLang.h"
+#include "PPageSubMisc.h"
-// User Defined Window Messages
-#define UWM_PARSE (WM_USER + 100)
-#define UWM_FAILED (WM_USER + 101)
+BEGIN_MESSAGE_MAP(CSubtitleDlDlgListCtrl, CListCtrl)
+ ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolNeedText)
+END_MESSAGE_MAP()
-CSubtitleDlDlg::CSubtitleDlDlg(CWnd* pParent, const CStringA& url, const CString& filename)
- : CResizableDialog(CSubtitleDlDlg::IDD, pParent)
- , m_ps(&m_list, 0, TRUE)
- , m_defps(&m_list, filename)
- , m_pTA(nullptr)
- , m_url(url)
- , m_bReplaceSubs(false)
- , m_status()
+void CSubtitleDlDlgListCtrl::PreSubclassWindow()
{
+ __super::PreSubclassWindow();
+ GetToolTips()->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOREDRAW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOCOPYBITS | SWP_NOOWNERZORDER);
}
-CSubtitleDlDlg::~CSubtitleDlDlg()
+BOOL CSubtitleDlDlgListCtrl::OnToolNeedText(UINT id, NMHDR* pNMHDR, LRESULT*)
{
- delete m_pTA;
-}
+ CPoint pt(GetMessagePos());
+ ScreenToClient(&pt);
-void CSubtitleDlDlg::DoDataExchange(CDataExchange* pDX)
-{
- __super::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_LIST1, m_list);
-}
-
-size_t CSubtitleDlDlg::StrMatch(LPCTSTR a, LPCTSTR b)
-{
- size_t count = 0;
+ LVHITTESTINFO lvhti = { pt };
+ int nItem = SubItemHitTest(&lvhti);
+ int nSubItem = lvhti.iSubItem;
- for (; *a && *b; a++, b++, count++) {
- if (_totlower(*a) != _totlower(*b)) {
- break;
- }
+ if (nItem == -1 || !(lvhti.flags & LVHT_ONITEMLABEL) || nSubItem != CSubtitleDlDlg::COL_FILENAME) {
+ return FALSE;
}
- return count;
-}
-
-CString CSubtitleDlDlg::LangCodeToName(LPCSTR code)
-{
- // accept only three-letter language codes
- size_t codeLen = strlen(code);
- if (codeLen != 3) {
- return _T("");
+ auto subtitleInfo = reinterpret_cast<SubtitlesInfo*>(GetItemData(nItem));
+ if (!subtitleInfo || subtitleInfo->releaseNames.empty()) {
+ return FALSE;
}
- CString name = ISO6392ToLanguage(code);
- if (!name.IsEmpty()) {
- // workaround for ISO6392ToLanguage function behavior
- // for unknown language code it returns the code parameter back
- if (code != name) {
- return name;
- }
- }
+ static CString tooltipText;
+ tooltipText = SubtitlesProvidersUtils::JoinContainer(subtitleInfo->releaseNames, "\n").c_str();
+ ASSERT(!tooltipText.IsEmpty());
- // support abbreviations loosely based on first letters of language name
-
- // this list is limited to upload-enabled languages
- // retrieved with:
- // wget -q -O- http://www.opensubtitles.org/addons/export_languages.php | \
- // awk 'NR > 1 { if ($(NF-1) == "1") print ("\"" $(NF-2) "\",")}'
- static LPCSTR ltable[] = {
- "Albanian", "Arabic", "Armenian", "Basque", "Bengali", "Bosnian", "Breton", "Bulgarian",
- "Burmese", "Catalan", "Chinese", "Czech", "Danish", "Dutch", "English", "Esperanto",
- "Estonian", "Finnish", "French", "Georgian", "German", "Galician", "Greek", "Hebrew",
- "Hindi", "Croatian", "Hungarian", "Icelandic", "Indonesian", "Italian", "Japanese", "Kazakh",
- "Khmer", "Korean", "Latvian", "Lithuanian", "Luxembourgish", "Macedonian", "Malayalam", "Malay",
- "Mongolian", "Norwegian", "Occitan", "Persian", "Polish", "Portuguese", "Russian", "Serbian",
- "Sinhalese", "Slovak", "Slovenian", "Spanish", "Swahili", "Swedish", "Syriac", "Telugu",
- "Tagalog", "Thai", "Turkish", "Ukrainian", "Urdu", "Vietnamese", "Romanian", "Brazilian",
- };
-
- for (size_t i = 0; i < _countof(ltable); ++i) {
- CString name2 = ltable[i];
- if (StrMatch(name2, CString(code)) == codeLen) {
- return name2;
- }
- }
- return _T("");
-}
+ auto pTTT = reinterpret_cast<TOOLTIPTEXT*>(pNMHDR);
+ pTTT->lpszText = tooltipText.GetBuffer();
-int CALLBACK CSubtitleDlDlg::DefSortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
-{
- PDEFPARAMSORT defps = reinterpret_cast<PDEFPARAMSORT>(lParamSort);
- int nLeft = (int)lParam1, nRight = (int)lParam2;
+ // Needed for multiline tooltips.
+ GetToolTips()->SetMaxTipWidth(1000);
- // sort by language first
- ISDb::subtitle* lSub = (ISDb::subtitle*)defps->m_list->GetItemData(nLeft);
- ISDb::subtitle* rSub = (ISDb::subtitle*)defps->m_list->GetItemData(nRight);
- CString left = defps->m_list->GetItemText(nLeft, COL_LANGUAGE);
- CString right = defps->m_list->GetItemText(nRight, COL_LANGUAGE);
- // user-provided sort order
- int lpos, rpos;
- if (!defps->m_langPos.Lookup(CString(lSub->iso639_2), lpos) && !defps->m_langPos.Lookup(left, lpos)) {
- lpos = INT_MAX;
- }
- if (!defps->m_langPos.Lookup(CString(rSub->iso639_2), rpos) && !defps->m_langPos.Lookup(right, rpos)) {
- rpos = INT_MAX;
- }
- if (lpos < rpos) {
- return -1;
- } else if (lpos > rpos) {
- return 1;
- } else if (lpos == INT_MAX && rpos == INT_MAX) {
- // lexicographical order
- int res = _tcscmp(left, right);
- if (res != 0) {
- return res;
- }
- }
+ // Force ListView internal variables related to LABELTIP to invalidate. This is needed to use both custom tooltip and LABELTIP.
+ // When LABELTIP is enabled ListView internally changes tooltip to be draw in-place of text. Unfortunately it doesn't
+ // clear few variables when someone else handles TTN_NEEDTEXT.
+ SetColumnWidth(CSubtitleDlDlg::COL_FILENAME, GetColumnWidth(CSubtitleDlDlg::COL_FILENAME));
- // sort by filename
- left = defps->m_list->GetItemText(nLeft, COL_FILENAME);
- right = defps->m_list->GetItemText(nRight, COL_FILENAME);
- size_t lmatch = StrMatch(defps->m_filename, left);
- size_t rmatch = StrMatch(defps->m_filename, right);
+ return TRUE;
+}
- // sort by matching character number
- if (lmatch > rmatch) {
- return -1;
- } else if (lmatch < rmatch) {
- return 1;
- }
+// User Defined Window Messages
+enum {
+ UWM_SEARCH = WM_USER + 100,
+ UWM_SEARCHING,
+ UWM_DOWNLOADING,
+ UWM_DOWNLOADED,
+ UWM_COMPLETED,
+ UWM_FINISHED,
+ UWM_FAILED,
+ UWM_CLEAR
+};
- // prefer shorter names
- int llen = left.GetLength();
- int rlen = right.GetLength();
- if (llen < rlen) {
- return -1;
- } else if (llen > rlen) {
- return 1;
- }
- return 0;
+CSubtitleDlDlg::CSubtitleDlDlg(CMainFrame* pParentWnd)
+ : CResizableDialog(IDD, pParentWnd)
+ , m_ps(nullptr, 0, 0)
+ , m_bIsRefreshed(false)
+ , m_pMainFrame(pParentWnd)
+{
}
-void CSubtitleDlDlg::LoadList()
+void CSubtitleDlDlg::DoDataExchange(CDataExchange* pDX)
{
- m_list.SetRedraw(FALSE);
- for (int i = 0; i < m_parsed_movies.GetCount(); ++i) {
- isdb_movie_parsed& m = m_parsed_movies[i];
+ __super::DoDataExchange(pDX);
+ DDX_Control(pDX, IDC_LIST1, m_list);
+ DDX_Control(pDX, IDC_PROGRESS1, m_progress);
+ DDX_Control(pDX, IDC_STATUSBAR, m_status);
+}
- int iItem = m_list.InsertItem(i, _T(""));
- m_list.SetItemData(iItem, m.ptr);
- m_list.SetItemText(iItem, COL_FILENAME, m.name);
- m_list.SetItemText(iItem, COL_LANGUAGE, m.language);
- m_list.SetItemText(iItem, COL_FORMAT, m.format);
- m_list.SetItemText(iItem, COL_DISC, m.disc);
- m_list.SetItemText(iItem, COL_TITLES, m.titles);
- m_list.SetCheck(iItem, m.checked);
+void CSubtitleDlDlg::SetStatusText(const CString& status, BOOL bPropagate/* = TRUE*/)
+{
+ m_status.SetText(status, 0, 0);
+ if (bPropagate) {
+ m_pMainFrame->SendStatusMessage(status, 5000);
}
-
- // sort by language and filename
- m_list.SortItemsEx(DefSortCompare, (DWORD_PTR)&m_defps);
-
- m_list.SetRedraw(TRUE);
- m_list.Invalidate();
- m_list.UpdateWindow();
}
-bool CSubtitleDlDlg::Parse()
+void CSubtitleDlDlg::SetListViewSortColumn()
{
- // Parse raw list
- ISDb::movie m;
- ISDb::subtitle sub;
-
- CAtlList<CStringA> sl;
- Explode(m_pTA->raw_list, sl, '\n');
- CString str;
-
- POSITION pos = sl.GetHeadPosition();
- while (pos) {
- str = sl.GetNext(pos);
-
- CStringA param = str.Left(std::max(0, str.Find('=')));
- CStringA value = str.Mid(str.Find('=') + 1);
-
- if (param == "ticket") {
- m_pTA->ticket = value;
- } else if (param == "movie") {
- m.reset();
- Explode(value.Trim(" |"), m.titles, '|');
- } else if (param == "subtitle") {
- sub.reset();
- sub.id = atoi(value);
- } else if (param == "name") {
- sub.name = value;
- } else if (param == "discs") {
- sub.discs = atoi(value);
- } else if (param == "disc_no") {
- sub.disc_no = atoi(value);
- } else if (param == "format") {
- sub.format = value;
- } else if (param == "iso639_2") {
- sub.iso639_2 = value;
- } else if (param == "language") {
- sub.language = value;
- } else if (param == "nick") {
- sub.nick = value;
- } else if (param == "email") {
- sub.email = value;
- } else if (param.IsEmpty() && value == "endsubtitle") {
- m.subs.AddTail(sub);
- } else if (param.IsEmpty() && value == "endmovie") {
- m_pTA->raw_movies.AddTail(m);
- } else if (param.IsEmpty() && value == "end") {
- break;
+ CHeaderCtrl* header = m_list.GetHeaderCtrl();
+ int columnCount = header->GetItemCount();
+ for (int i = 0; i < columnCount; ++i) {
+ HDITEM hi = { 0 };
+ hi.mask = HDI_FORMAT;
+ header->GetItem(i, &hi);
+
+ hi.fmt &= ~(HDF_SORTDOWN | HDF_SORTUP);
+ //Set sort image to this column
+ if (i == m_ps.m_nSortColumn) {
+ hi.fmt |= m_ps.m_fSortOrder > 0 ? HDF_SORTUP : m_ps.m_fSortOrder < 0 ? HDF_SORTDOWN : NULL;
}
+ header->SetItem(i, &hi);
}
+}
- // Parse movies
- pos = m_pTA->raw_movies.GetHeadPosition();
- while (pos) {
- ISDb::movie& raw_movie = m_pTA->raw_movies.GetNext(pos);
- isdb_movie_parsed p;
-
- CStringA titlesA = Implode(raw_movie.titles, '|');
- titlesA.Replace("|", ", ");
- p.titles = UTF8To16(titlesA);
- p.checked = false;
-
- POSITION pos2 = raw_movie.subs.GetHeadPosition();
- while (pos2) {
- const ISDb::subtitle& s = raw_movie.subs.GetNext(pos2);
- p.name = UTF8To16(s.name);
- p.language = s.language;
- p.format = s.format;
- p.disc.Format(_T("%d/%d"), s.disc_no, s.discs);
- p.ptr = reinterpret_cast<DWORD_PTR>(&s);
-
- m_parsed_movies.Add(p);
- }
- }
+int CALLBACK CSubtitleDlDlg::SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
+{
+ PPARAMSORT ps = (PPARAMSORT)(lParamSort);
+ CListCtrl* list = (CListCtrl*)CListCtrl::FromHandle(ps->m_hWnd);
- bool ret = true;
- if (m_parsed_movies.IsEmpty()) {
- ret = false;
+ if (ps->m_fSortOrder == 0) {
+ DWORD left = (*(SubtitlesInfo*)(list->GetItemData((int)lParam1))).Score();
+ DWORD right = (*(SubtitlesInfo*)(list->GetItemData((int)lParam2))).Score();
+ return left == right ? 0 : left < right ? 1 : -1;
}
- return ret;
-}
-
-void CSubtitleDlDlg::SetStatus(const CString& status)
-{
- m_status.SetText(status, 0, 0);
-}
+ if (ps->m_nSortColumn == COL_DOWNLOADS) {
+ int left = (*(SubtitlesInfo*)(list->GetItemData((int)lParam1))).downloadCount;
+ int right = (*(SubtitlesInfo*)(list->GetItemData((int)lParam2))).downloadCount;
+ if (left == -1 && right != -1) {
+ return 1;
+ }
-UINT CSubtitleDlDlg::RunThread(LPVOID pParam)
-{
- PTHREADSTRUCT pTA = reinterpret_cast<PTHREADSTRUCT>(pParam);
+ if (left != -1 && right == -1) {
+ return -1;
+ }
- if (!OpenUrl(pTA->is, CString(pTA->url), pTA->raw_list)) {
- ::PostMessage(pTA->hWND, UWM_FAILED, (WPARAM)0, (LPARAM)0);
- AfxEndThread(1, TRUE);
+ return left == right ? 0 : (ps->m_fSortOrder == 1)
+ ? (left > right ? 1 : -1)
+ : (left < right ? 1 : -1);
}
- ::PostMessage(pTA->hWND, UWM_PARSE, (WPARAM)0, (LPARAM)0);
-
- return 0;
-};
+#ifdef _DEBUG
+ if (ps->m_nSortColumn == COL_SCORE) {
+ SHORT left = (SHORT)LOWORD((*(SubtitlesInfo*)(list->GetItemData((int)lParam1))).Score());
+ SHORT right = (SHORT)LOWORD((*(SubtitlesInfo*)(list->GetItemData((int)lParam2))).Score());
+ return left == right ? 0 : (ps->m_fSortOrder == 1)
+ ? (left > right ? 1 : -1)
+ : (left < right ? 1 : -1);
+ }
+#endif
-int CALLBACK CSubtitleDlDlg::SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
-{
- PPARAMSORT ps = reinterpret_cast<PPARAMSORT>(lParamSort);
+ CString left(list->GetItemText((int)lParam1, ps->m_nSortColumn));
+ CString right(list->GetItemText((int)lParam2, ps->m_nSortColumn));
+ if (left == _T("-") && right != _T("-")) {
+ return 1;
+ }
- CString left = ps->m_list->GetItemText((int)lParam1, ps->m_colIndex);
- CString right = ps->m_list->GetItemText((int)lParam2, ps->m_colIndex);
+ if (left != _T("-") && right == _T("-")) {
+ return -1;
+ }
- return ps->m_ascending ? left.Compare(right) : right.Compare(left);
+ return (ps->m_fSortOrder == 1) ? StrCmpLogicalW(left, right) : StrCmpLogicalW(right, left);
}
BOOL CSubtitleDlDlg::OnInitDialog()
{
__super::OnInitDialog();
- m_status.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM, CRect(0, 0, 0, 0), this, IDC_STATUSBAR);
+ m_progress.SetParent(&m_status);
+ m_progress.UpdateWindow();
+
+ m_list.SetExtendedStyle(m_list.GetExtendedStyle()
+ | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT
+ | LVS_EX_CHECKBOXES | LVS_EX_LABELTIP);
+
+ m_list.SetImageList(&m_pMainFrame->m_pSubtitlesProviders->GetImageList(), LVSIL_SMALL);
- int n, curPos = 0;
+ m_ps.m_hWnd = m_list.GetSafeHwnd();
+ m_ps.m_nSortColumn = AfxGetApp()->GetProfileInt(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_SORTCOLUMN, 0);
+ m_ps.m_fSortOrder = AfxGetApp()->GetProfileInt(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_SORTORDER, 0);
+
+ int n = 0, curPos = 0;
CArray<int> columnWidth;
- CString strColumnWidth = AfxGetApp()->GetProfileString(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_COLWIDTH);
- CString token = strColumnWidth.Tokenize(_T(","), curPos);
+ CString strColumnWidth(AfxGetApp()->GetProfileString(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_COLWIDTH));
+ CString token(strColumnWidth.Tokenize(_T(","), curPos));
while (!token.IsEmpty()) {
if (_stscanf_s(token, L"%d", &n) == 1) {
columnWidth.Add(n);
@@ -316,63 +208,44 @@ BOOL CSubtitleDlDlg::OnInitDialog()
}
}
- m_list.SetExtendedStyle(m_list.GetExtendedStyle()
- | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT
- | LVS_EX_CHECKBOXES | LVS_EX_LABELTIP);
-
- if (columnWidth.GetCount() != 5) {
+ if (columnWidth.GetCount() != COL_TOTAL_COLUMNS) {
// default sizes
columnWidth.RemoveAll();
- columnWidth.Add(290);
- columnWidth.Add(70);
+ columnWidth.Add(100);
+ columnWidth.Add(300);
+ columnWidth.Add(80);
+ columnWidth.Add(40);
columnWidth.Add(50);
- columnWidth.Add(50);
- columnWidth.Add(270);
+ columnWidth.Add(40);
+ columnWidth.Add(250);
+#ifdef _DEBUG
+ columnWidth.Add(40);
+#endif
}
- m_list.InsertColumn(COL_FILENAME, ResStr(IDS_SUBDL_DLG_FILENAME_COL), LVCFMT_LEFT, columnWidth[0]);
- m_list.InsertColumn(COL_LANGUAGE, ResStr(IDS_SUBDL_DLG_LANGUAGE_COL), LVCFMT_CENTER, columnWidth[1]);
- m_list.InsertColumn(COL_FORMAT, ResStr(IDS_SUBDL_DLG_FORMAT_COL), LVCFMT_CENTER, columnWidth[2]);
- m_list.InsertColumn(COL_DISC, ResStr(IDS_SUBDL_DLG_DISC_COL), LVCFMT_CENTER, columnWidth[3]);
- m_list.InsertColumn(COL_TITLES, ResStr(IDS_SUBDL_DLG_TITLES_COL), LVCFMT_LEFT, columnWidth[4]);
+ m_list.InsertColumn(COL_PROVIDER, ResStr(IDS_SUBDL_DLG_PROVIDER_COL), LVCFMT_LEFT, columnWidth[COL_PROVIDER]);
+ m_list.InsertColumn(COL_FILENAME, ResStr(IDS_SUBDL_DLG_FILENAME_COL), LVCFMT_LEFT, columnWidth[COL_FILENAME]);
+ m_list.InsertColumn(COL_LANGUAGE, ResStr(IDS_SUBDL_DLG_LANGUAGE_COL), LVCFMT_CENTER, columnWidth[COL_LANGUAGE]);
+ m_list.InsertColumn(COL_DISC, ResStr(IDS_SUBDL_DLG_DISC_COL), LVCFMT_CENTER, columnWidth[COL_DISC]);
+ m_list.InsertColumn(COL_HEARINGIMPAIRED, ResStr(IDS_SUBDL_DLG_HI_COL), LVCFMT_CENTER, columnWidth[COL_HEARINGIMPAIRED]);
+ m_list.InsertColumn(COL_DOWNLOADS, ResStr(IDS_SUBDL_DLG_DOWNLOADS_COL), LVCFMT_RIGHT, columnWidth[COL_DOWNLOADS]);
+ m_list.InsertColumn(COL_TITLES, ResStr(IDS_SUBDL_DLG_TITLES_COL), LVCFMT_LEFT, columnWidth[COL_TITLES]);
+#ifdef _DEBUG
+ m_list.InsertColumn(COL_SCORE, ResStr(IDS_SUBDL_DLG_SCORE_COL), LVCFMT_RIGHT, columnWidth[COL_SCORE]);
+#endif
+ SetListViewSortColumn();
AddAnchor(IDC_LIST1, TOP_LEFT, BOTTOM_RIGHT);
AddAnchor(IDC_CHECK1, BOTTOM_LEFT);
+ AddAnchor(IDC_BUTTON1, BOTTOM_RIGHT);
+ AddAnchor(IDC_BUTTON2, BOTTOM_RIGHT);
+ AddAnchor(IDC_BUTTON3, BOTTOM_RIGHT);
AddAnchor(IDOK, BOTTOM_RIGHT);
AddAnchor(IDC_STATUSBAR, BOTTOM_LEFT, BOTTOM_RIGHT);
- const CSize s(420, 200);
+ const CSize s(500, 250);
SetMinTrackSize(s);
- EnableSaveRestore(IDS_R_DLG_SUBTITLEDL);
-
- // set language sorting order
- const CAppSettings& settings = AfxGetAppSettings();
- CString order = settings.strSubtitlesLanguageOrder;
- // fill language->position map
- int listPos = 0;
- int tPos = 0;
- CString langCode = order.Tokenize(_T(",; "), tPos);
- while (tPos != -1) {
- int pos;
- CString langCodeISO6391 = ISO6392To6391(CStringA(langCode));
- if (!langCodeISO6391.IsEmpty() && !m_defps.m_langPos.Lookup(langCodeISO6391, pos)) {
- m_defps.m_langPos[langCodeISO6391] = listPos;
- }
- CString langName = LangCodeToName(CStringA(langCode));
- if (!langName.IsEmpty() && !m_defps.m_langPos.Lookup(langName, pos)) {
- m_defps.m_langPos[langName] = listPos;
- }
- langCode = order.Tokenize(_T(",; "), tPos);
- listPos++;
- }
-
- // start new worker thread to download the list of subtitles
- m_pTA = DEBUG_NEW THREADSTRUCT;
- m_pTA->url = m_url;
- m_pTA->hWND = GetSafeHwnd();
-
- SetStatus(ResStr(IDS_SUBDL_DLG_DOWNLOADING));
- AfxBeginThread(RunThread, static_cast<LPVOID>(m_pTA));
+ EnableSaveRestore(IDS_R_DLG_SUBTITLEDL, TRUE);
return TRUE;
}
@@ -390,96 +263,96 @@ BOOL CSubtitleDlDlg::PreTranslateMessage(MSG* pMsg)
void CSubtitleDlDlg::OnOK()
{
- SetStatus(ResStr(IDS_SUBDL_DLG_DOWNLOADING));
+ if (IsDlgButtonChecked(IDC_CHECK1) == BST_CHECKED) {
+ m_pMainFrame->SetSubtitle(SubtitleInput(nullptr));
+ CAutoLock cAutoLock(&m_pMainFrame->m_csSubLock);
+ auto& subStreams = m_pMainFrame->m_pSubStreams;
+ POSITION pos = subStreams.GetHeadPosition();
+ while (pos) {
+ POSITION currentPos = pos;
+ if (!subStreams.GetNext(pos).pSourceFilter) {
+ subStreams.RemoveAt(currentPos);
+ }
+ }
+ }
+ bool bActivate = true;
for (int i = 0; i < m_list.GetItemCount(); ++i) {
- if (m_list.GetCheck(i)) {
- m_selsubs.AddTail(*reinterpret_cast<ISDb::subtitle*>(m_list.GetItemData(i)));
+ if (m_list.GetCheck(i) == TRUE) {
+
+ SubtitlesInfo& subtitlesInfo = *(SubtitlesInfo*)(m_list.GetItemData(i));
+ LVITEMINDEX lvii = { i , -1 };
+ m_list.SetItemIndexState(&lvii, INDEXTOSTATEIMAGEMASK(0), LVIS_STATEIMAGEMASK);
+ subtitlesInfo.Download(bActivate);
+ bActivate = false;
}
}
- m_bReplaceSubs = IsDlgButtonChecked(IDC_CHECK1) == BST_CHECKED;
-
- CMainFrame* pMF = static_cast<CMainFrame*>(GetParentFrame());
+ // Just hide the dialog, since it's modeless we don't want to call EndDialog
+ ShowWindow(SW_HIDE);
+}
- if (m_bReplaceSubs) {
- pMF->m_pSubStreams.RemoveAll();
- }
- const CAppSettings& s = AfxGetAppSettings();
- SubtitleInput subInputToSet;
+void CSubtitleDlDlg::OnCancel()
+{
+ // Just hide the dialog, since it's modeless we don't want to call EndDialog
+ ShowWindow(SW_HIDE);
+}
- POSITION pos = m_selsubs.GetHeadPosition();
- while (pos) {
- const ISDb::subtitle& sub = m_selsubs.GetNext(pos);
- CInternetSession is;
- CStringA url = "http://" + s.strISDb + "/dl.php?";
- CStringA ticket = UrlEncode(m_pTA->ticket);
- CStringA args, str;
- args.Format("id=%d&ticket=%s", sub.id, ticket);
- url.Append(args);
-
- if (OpenUrl(is, CString(url), str)) {
- CAutoPtr<CRenderedTextSubtitle> pRTS(DEBUG_NEW CRenderedTextSubtitle(&pMF->m_csSubLock));
- if (pRTS && pRTS->Open((BYTE*)(LPCSTR)str, str.GetLength(), DEFAULT_CHARSET, CString(sub.name)) && pRTS->GetStreamCount() > 0) {
- SubtitleInput subElement(pRTS.Detach());
- pMF->m_pSubStreams.AddTail(subElement);
- if (!subInputToSet.pSubStream) {
- subInputToSet = subElement;
- }
- }
- }
- }
+void CSubtitleDlDlg::OnRefresh()
+{
+ m_list.DeleteAllItems();
+ m_pMainFrame->m_pSubtitlesProviders->Search(FALSE);
+}
- if (subInputToSet.pSubStream) {
- pMF->SetSubtitle(subInputToSet);
- }
+void CSubtitleDlDlg::OnAbort()
+{
+ m_pMainFrame->m_pSubtitlesProviders->Abort(SubtitlesThreadType(STT_SEARCH | STT_DOWNLOAD));
+}
- __super::OnOK();
+void CSubtitleDlDlg::OnOptions()
+{
+ m_pMainFrame->ShowOptions(CPPageSubMisc::IDD);
}
void CSubtitleDlDlg::OnUpdateOk(CCmdUI* pCmdUI)
{
bool fEnable = false;
for (int i = 0; !fEnable && i < m_list.GetItemCount(); ++i) {
- fEnable = !!m_list.GetCheck(i);
+ fEnable = (m_list.GetCheck(i) == TRUE);
}
pCmdUI->Enable(fEnable);
}
-void CSubtitleDlDlg::OnFailedConnection()
+void CSubtitleDlDlg::OnUpdateRefresh(CCmdUI* pCmdUI)
{
- SetStatus(ResStr(IDS_SUBDL_DLG_CONNECT_ERROR));
-}
-
-void CSubtitleDlDlg::OnParse()
-{
- SetStatus(ResStr(IDS_SUBDL_DLG_PARSING));
- if (Parse()) {
- LoadList();
- CString msg;
- msg.Format(IDS_SUBDL_DLG_SUBS_AVAIL, m_list.GetItemCount());
- SetStatus(msg);
- } else {
- SetStatus(ResStr(IDS_SUBDL_DLG_NOT_FOUND));
- }
+ bool fEnable = true;
+ pCmdUI->Enable(fEnable);
}
void CSubtitleDlDlg::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
- LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);
+ LPNMHEADER phdr = (LPNMHEADER)(pNMHDR);
*pResult = 0;
- if (phdr->iItem == m_ps.m_colIndex) {
- m_ps.m_ascending = !m_ps.m_ascending;
+ if (phdr->iItem == m_ps.m_nSortColumn) {
+ if (m_ps.m_fSortOrder == 1) {
+ m_ps.m_fSortOrder = (m_ps.m_nSortColumn == COL_DOWNLOADS) ? 0 : -1;
+ } else if (m_ps.m_fSortOrder == -1) {
+ m_ps.m_fSortOrder = (m_ps.m_nSortColumn == COL_DOWNLOADS) ? 1 : 0;
+ } else if (m_ps.m_fSortOrder == 0) {
+ m_ps.m_fSortOrder = (m_ps.m_nSortColumn == COL_DOWNLOADS) ? -1 : 1;
+ }
} else {
- m_ps.m_ascending = true;
+ m_ps.m_nSortColumn = phdr->iItem;
+ m_ps.m_fSortOrder = (m_ps.m_nSortColumn == COL_DOWNLOADS) ? -1 : 1;
}
- m_ps.m_colIndex = phdr->iItem;
+ SetListViewSortColumn();
SetRedraw(FALSE);
m_list.SortItemsEx(SortCompare, (DWORD_PTR)&m_ps);
+
SetRedraw(TRUE);
m_list.Invalidate();
m_list.UpdateWindow();
@@ -490,6 +363,19 @@ void CSubtitleDlDlg::OnSize(UINT nType, int cx, int cy)
__super::OnSize(nType, cx, cy);
ArrangeLayout();
+
+ if (m_status && m_progress) {
+ // Reposition the progress control correctly!
+ CRect statusRect, buttonRect;
+ m_status.GetClientRect(&statusRect);
+ GetDlgItem(IDOK)->GetWindowRect(&buttonRect);
+ ScreenToClient(&buttonRect);
+ int parts[2] = { buttonRect.left - 2, -1 };
+ m_status.SetParts(2, parts);
+ m_status.GetRect(1, &statusRect);
+ statusRect.DeflateRect(1, 1, 1, 1);
+ m_progress.SetWindowPos(&wndTop, statusRect.left, statusRect.top, statusRect.Width(), statusRect.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
+ }
}
void CSubtitleDlDlg::OnDestroy()
@@ -504,6 +390,8 @@ void CSubtitleDlDlg::OnDestroy()
strColumnWidth.AppendFormat(L"%d,", w);
}
AfxGetApp()->WriteProfileString(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_COLWIDTH, strColumnWidth);
+ AfxGetApp()->WriteProfileInt(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_SORTCOLUMN, m_ps.m_nSortColumn);
+ AfxGetApp()->WriteProfileInt(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_SORTORDER, m_ps.m_fSortOrder);
__super::OnDestroy();
}
@@ -521,29 +409,45 @@ void CSubtitleDlDlg::DownloadSelectedSubtitles()
while (pos) {
int nItem = m_list.GetNextSelectedItem(pos);
if (nItem >= 0 && nItem < m_list.GetItemCount()) {
- ListView_SetCheckState(m_list.GetSafeHwnd(), nItem, TRUE);
+ m_list.SetCheck(nItem, TRUE);
}
}
OnOK();
}
+// ON_UPDATE_COMMAND_UI does not work for modeless dialogs
BEGIN_MESSAGE_MAP(CSubtitleDlDlg, CResizableDialog)
ON_WM_ERASEBKGND()
ON_WM_SIZE()
- ON_MESSAGE_VOID(UWM_PARSE, OnParse)
- ON_MESSAGE_VOID(UWM_FAILED, OnFailedConnection)
+ ON_COMMAND(IDC_BUTTON1, OnRefresh)
+ ON_COMMAND(IDC_BUTTON2, OnAbort)
+ ON_COMMAND(IDC_BUTTON3, OnOptions)
ON_UPDATE_COMMAND_UI(IDOK, OnUpdateOk)
+ ON_UPDATE_COMMAND_UI(IDC_BUTTON1, OnUpdateRefresh)
ON_NOTIFY(HDN_ITEMCLICK, 0, OnColumnClick)
ON_WM_DESTROY()
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDoubleClickSubtitle)
ON_NOTIFY(LVN_KEYDOWN, IDC_LIST1, OnKeyPressedSubtitle)
+ ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRightClick)
+ ON_NOTIFY(LVN_ITEMCHANGING, IDC_LIST1, OnItemChanging)
+ ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChanged)
+ ON_WM_SHOWWINDOW()
+
+ ON_MESSAGE(UWM_SEARCH, OnSearch)
+ ON_MESSAGE(UWM_SEARCHING, OnSearching)
+ ON_MESSAGE(UWM_DOWNLOADING, OnDownloading)
+ ON_MESSAGE(UWM_DOWNLOADED, OnDownloaded)
+ ON_MESSAGE(UWM_COMPLETED, OnCompleted)
+ ON_MESSAGE(UWM_FINISHED, OnFinished)
+ ON_MESSAGE(UWM_FAILED, OnFailed)
+ ON_MESSAGE(UWM_CLEAR, OnClear)
END_MESSAGE_MAP()
void CSubtitleDlDlg::OnDoubleClickSubtitle(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pItemActivate = (LPNMITEMACTIVATE)(pNMHDR);
- if (pItemActivate->iItem >= 0) {
+ if (pItemActivate->iItem >= 0 && m_list.GetCheck(pItemActivate->iItem) != -1) {
DownloadSelectedSubtitles();
}
}
@@ -558,23 +462,261 @@ void CSubtitleDlDlg::OnKeyPressedSubtitle(NMHDR* pNMHDR, LRESULT* pResult)
}
}
-bool CSubtitleDlDlg::OpenUrl(CInternetSession& is, CString url, CStringA& str)
+void CSubtitleDlDlg::OnRightClick(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
+
+ if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0) {
+ SubtitlesInfo& subtitlesInfo = *(SubtitlesInfo*)(m_list.GetItemData(lpnmlv->iItem));
+
+ enum {
+ DOWNLOAD = 0x1000,
+ OPEN_URL
+ };
+
+ CMenu m;
+ m.CreatePopupMenu();
+ m.AppendMenu(MF_STRING | (m_list.GetCheck(lpnmlv->iItem) != -1 ? MF_ENABLED : MF_DISABLED), DOWNLOAD, ResStr(IDS_SUBMENU_DOWNLOAD));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | (!subtitlesInfo.url.empty() ? MF_ENABLED : MF_DISABLED), OPEN_URL, ResStr(IDS_SUBMENU_OPENURL));
+
+ CPoint pt = lpnmlv->ptAction;
+ ::MapWindowPoints(lpnmlv->hdr.hwndFrom, HWND_DESKTOP, &pt, 1);
+
+ switch (m.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RETURNCMD, pt.x, pt.y, this)) {
+ case DOWNLOAD:
+ m_list.SetCheck(lpnmlv->iItem, TRUE);
+ OnOK();
+ break;
+ case OPEN_URL:
+ subtitlesInfo.OpenUrl();
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void CSubtitleDlDlg::OnItemChanging(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW pNMLV = (LPNMLISTVIEW)(pNMHDR);
+
+ if (pNMLV->uOldState == 0 && pNMLV->uNewState == 0x1000 && pNMLV->lParam) {
+ *pResult = TRUE;
+ }
+}
+
+void CSubtitleDlDlg::OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ UpdateDialogControls(this, FALSE);
+}
+
+
+void CSubtitleDlDlg::OnShowWindow(BOOL bShow, UINT nStatus)
+{
+ __super::OnShowWindow(bShow, nStatus);
+
+ const auto& s = AfxGetAppSettings();
+
+ if (bShow == TRUE && !m_bIsRefreshed && !m_pMainFrame->m_fAudioOnly && s.fEnableSubtitles) {
+ OnRefresh();
+ }
+}
+
+
+afx_msg LRESULT CSubtitleDlDlg::OnSearch(WPARAM wParam, LPARAM /*lParam*/)
+{
+ INT _nCount = (INT)wParam;
+
+ SetStatusText(StrRes(IDS_SUBDL_DLG_SEARCHING));
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
+ GetDlgItem(IDC_BUTTON1)->ShowWindow(FALSE);
+ GetDlgItem(IDC_BUTTON2)->ShowWindow(TRUE);
+
+ m_progress.SetRange32(0, _nCount);
+ m_progress.SetStep(1);
+ m_progress.SetPos(0);
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleDlDlg::OnSearching(WPARAM /*wParam*/, LPARAM lParam)
+{
+ SubtitlesInfo& _fileInfo = *(SubtitlesInfo*)lParam;
+ CString title = ResStr(IDS_SUBDL_DLG_TITLE) + _T(" - ") + CString(_fileInfo.fileName.c_str());
+ SetWindowText(title);
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleDlDlg::OnDownloading(WPARAM /*wParam*/, LPARAM lParam)
+{
+ SubtitlesInfo& _fileInfo = *(SubtitlesInfo*)lParam;
+
+ CString statusMessage;
+ statusMessage.Format(IDS_SUBDL_DLG_DOWNLOADING, CString(_fileInfo.Provider()->Name().c_str()), CString(_fileInfo.fileName.c_str()));
+ SetStatusText(statusMessage);
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleDlDlg::OnDownloaded(WPARAM /*wParam*/, LPARAM lParam)
{
- str.Empty();
+ SubtitlesInfo& _fileInfo = *(SubtitlesInfo*)lParam;
- try {
- CAutoPtr<CStdioFile> f(is.OpenURL(url, 1, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_EXISTING_CONNECT));
+ CString statusMessage;
+ statusMessage.Format(IDS_SUBDL_DLG_DOWNLOADED, CString(_fileInfo.Provider()->Name().c_str()), CString(_fileInfo.fileName.c_str()));
+ SetStatusText(statusMessage);
- char buff[1024];
- for (int len; (len = f->Read(buff, sizeof(buff))) > 0; str += CStringA(buff, len)) {
- ;
+ for (int i = 0; i < m_list.GetItemCount(); ++i) {
+ SubtitlesInfo& iter = *(SubtitlesInfo*)m_list.GetItemData(i);
+ if (iter.UID() == _fileInfo.UID()) {
+ LVITEMINDEX lvii = { i, -1 };
+ m_list.SetItemIndexState(&lvii, INDEXTOSTATEIMAGEMASK(0), LVIS_STATEIMAGEMASK);
}
+ }
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleDlDlg::OnCompleted(WPARAM wParam, LPARAM lParam)
+{
+ SRESULT _result = (SRESULT)wParam;
+ SubtitlesList& _subtitlesList = *(SubtitlesList*)lParam;
+
+ m_progress.StepIt();
+
+ if (_result == SR_ABORTED) {
+ SetStatusText(StrRes(IDS_SUBDL_DLG_ABORTING));
+ } else if (!_subtitlesList.empty()) {
+ m_list.SetRedraw(FALSE);
+
+ for (const auto& subInfo : _subtitlesList) {
+ int iItem = m_list.InsertItem(0, UTF8To16(subInfo.Provider()->Name().c_str()), subInfo.Provider()->GetIconIndex());
+ m_list.SetItemText(iItem, COL_FILENAME, UTF8To16(subInfo.fileName.c_str()));
+ m_list.SetItemText(iItem, COL_LANGUAGE, ISOLang::ISO639XToLanguage(subInfo.languageCode.c_str()));
+ CString disc;
+ disc.Format(_T("%d/%d"), subInfo.discNumber, subInfo.discCount);
+ m_list.SetItemText(iItem, COL_DISC, disc);
+ m_list.SetItemText(iItem, COL_HEARINGIMPAIRED, subInfo.hearingImpaired == -1 ? _T("-") : subInfo.hearingImpaired > 0 ? ResStr(IDS_YES) : ResStr(IDS_NO));
+ CString downloads(_T("-"));
+ if (subInfo.downloadCount != -1) {
+ downloads.Format(_T("%d"), subInfo.downloadCount);
+ downloads = FormatNumber(downloads);
+ }
+ m_list.SetItemText(iItem, COL_DOWNLOADS, downloads);
+ m_list.SetItemText(iItem, COL_TITLES, UTF8To16(subInfo.DisplayTitle().c_str()));
+#ifdef _DEBUG
+ CString score;
+ score.Format(_T("%d"), (SHORT)LOWORD(subInfo.Score()));
+ m_list.SetItemText(iItem, COL_SCORE, score);
+#endif
+ m_Subtitles.emplace_back(subInfo);
+ m_list.SetItemData(iItem, (DWORD_PTR)&m_Subtitles.back());
+ }
+
+ // sort
+ m_list.SortItemsEx(SortCompare, (DWORD_PTR)&m_ps);
+
+ m_list.SetRedraw(TRUE);
+ m_list.Invalidate();
+ m_list.UpdateWindow();
+ }
+ m_bIsRefreshed = true;
+ UpdateWindow();
+
+ return S_OK;
+}
- f->Close(); // must close it because the destructor doesn't seem to do it and we will get an exception when "is" is destroying
- } catch (CInternetException* ie) {
- ie->Delete();
- return false;
+afx_msg LRESULT CSubtitleDlDlg::OnFinished(WPARAM wParam, LPARAM lParam)
+{
+ BOOL _bAborted = (BOOL)wParam;
+ BOOL _bShowDialog = (BOOL)lParam;
+
+ if (_bAborted == FALSE) {
+ if (!m_Subtitles.empty()) {
+ if (_bShowDialog == TRUE && !IsWindowVisible()) {
+ ShowWindow(SW_SHOW);
+ }
+
+ CString message;
+ message.Format(IDS_SUBDL_DLG_FOUND, (int)m_Subtitles.size());
+ SetStatusText(message);
+ } else {
+ SetStatusText(StrRes(IDS_SUBDL_DLG_NOTFOUND));
+ }
+ } else {
+ SetStatusText(StrRes(IDS_SUBDL_DLG_ABORTED));
}
- return true;
+ int nLower = 0, nUpper = 0;
+ m_progress.GetRange(nLower, nUpper);
+ m_progress.SetPos(nUpper);
+
+ GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
+ GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
+ UpdateWindow();
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleDlDlg::OnFailed(WPARAM /*wParam*/, LPARAM /*lParam*/)
+{
+ SetStatusText(StrRes(IDS_SUBDL_DLG_FAILED));
+
+ return S_OK;
+}
+
+
+afx_msg LRESULT CSubtitleDlDlg::OnClear(WPARAM /*wParam*/, LPARAM /*lParam*/)
+{
+ CString title(StrRes(IDS_SUBDL_DLG_TITLE));
+ SetWindowText(title);
+
+ m_progress.SetPos(0);
+ SetStatusText(_T(""));
+ m_list.DeleteAllItems();
+ m_Subtitles.clear();
+
+ m_bIsRefreshed = false;
+
+ GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
+ GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
+ UpdateWindow();
+
+ return S_OK;
+}
+
+void CSubtitleDlDlg::DoSearch(INT _nCount)
+{
+ SendMessage(UWM_SEARCH, (WPARAM)_nCount, (LPARAM)nullptr);
+}
+void CSubtitleDlDlg::DoSearching(SubtitlesInfo& _fileInfo)
+{
+ SendMessage(UWM_SEARCHING, (WPARAM)nullptr, (LPARAM)&_fileInfo);
+}
+void CSubtitleDlDlg::DoDownloading(SubtitlesInfo& _fileInfo)
+{
+ SendMessage(UWM_DOWNLOADING, (WPARAM)nullptr, (LPARAM)&_fileInfo);
+}
+void CSubtitleDlDlg::DoDownloaded(SubtitlesInfo& _fileInfo)
+{
+ SendMessage(UWM_DOWNLOADED, (WPARAM)nullptr, (LPARAM)&_fileInfo);
+}
+void CSubtitleDlDlg::DoCompleted(SRESULT _result, SubtitlesList& _subtitlesList)
+{
+ SendMessage(UWM_COMPLETED, (WPARAM)_result, (LPARAM)&_subtitlesList);
+}
+void CSubtitleDlDlg::DoFinished(BOOL _bAborted, BOOL _bShowDialog)
+{
+ SendMessage(UWM_FINISHED, (WPARAM)_bAborted, (LPARAM)_bShowDialog);
+}
+void CSubtitleDlDlg::DoFailed()
+{
+ SendMessage(UWM_FAILED, (WPARAM)nullptr, (LPARAM)nullptr);
+}
+void CSubtitleDlDlg::DoClear()
+{
+ SendMessage(UWM_CLEAR, (WPARAM)nullptr, (LPARAM)nullptr);
}
diff --git a/src/mpc-hc/SubtitleDlDlg.h b/src/mpc-hc/SubtitleDlDlg.h
index 487046ce7..530b67dde 100644
--- a/src/mpc-hc/SubtitleDlDlg.h
+++ b/src/mpc-hc/SubtitleDlDlg.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,111 +21,112 @@
#pragma once
-#include "ISDb.h"
-#include "resource.h"
#include "ResizableLib/ResizableDialog.h"
+#include "SubtitlesProviders.h" // Forward declaration doesn't work on VS2013. Remove this once VS2013 support is dropped.
+#include <list>
-class CInternetSession;
+class CMainFrame;
+struct SubtitlesInfo;
+using SubtitlesList = std::list<SubtitlesInfo>;
+enum SRESULT;
-class CSubtitleDlDlg : public CResizableDialog
+class CSubtitleDlDlgListCtrl final : public CListCtrl
{
-private:
- struct isdb_movie_parsed {
- CString titles;
- CString name;
- CString language;
- CString format;
- CString disc;
- DWORD_PTR ptr;
- bool checked;
- };
-
- struct THREADSTRUCT {
- HWND hWND;
- CInternetSession is;
- CStringA url;
- CStringA raw_list;
- CStringA ticket;
- CList<ISDb::movie> raw_movies;
- };
- typedef THREADSTRUCT* PTHREADSTRUCT;
+ void PreSubclassWindow() override;
- struct PARAMSORT {
- PARAMSORT(CListCtrl* list, int colIndex, bool ascending) :
- m_list(list),
- m_colIndex(colIndex),
- m_ascending(ascending)
- {}
- CListCtrl* const m_list;
- int m_colIndex;
- bool m_ascending;
- };
- typedef PARAMSORT* PPARAMSORT;
-
- struct DEFPARAMSORT {
- DEFPARAMSORT(CListCtrl* list, CString filename) :
- m_list(list),
- m_filename(filename)
- {}
- CListCtrl* const m_list;
- CString m_filename;
- CMap <CString, LPCTSTR, int, int> m_langPos;
- };
- typedef DEFPARAMSORT* PDEFPARAMSORT;
+ DECLARE_MESSAGE_MAP();
+ afx_msg BOOL OnToolNeedText(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
+};
+class CSubtitleDlDlg : public CResizableDialog
+{
+public:
enum {
+ COL_PROVIDER,
COL_FILENAME,
COL_LANGUAGE,
- COL_FORMAT,
+ //COL_FORMAT,
+ COL_HEARINGIMPAIRED,
+ COL_DOWNLOADS,
COL_DISC,
- COL_TITLES
+ COL_TITLES,
+#ifdef _DEBUG
+ COL_SCORE,
+#endif
+ COL_TOTAL_COLUMNS
};
- PARAMSORT m_ps;
- DEFPARAMSORT m_defps;
- PTHREADSTRUCT m_pTA;
- CArray<isdb_movie_parsed> m_parsed_movies;
- CString m_url;
- bool m_bReplaceSubs;
+private:
+ struct PARAMSORT {
+ PARAMSORT(HWND hWnd, int nSortColumn, int fSortOrder)
+ : m_hWnd(hWnd), m_nSortColumn(nSortColumn), m_fSortOrder(fSortOrder) {}
+ HWND m_hWnd;
+ int m_nSortColumn;
+ int m_fSortOrder;
+ };
+ typedef PARAMSORT* PPARAMSORT;
- CListCtrl m_list;
- CList<ISDb::subtitle> m_selsubs;
- CStatusBarCtrl m_status;
+ PARAMSORT m_ps;
+ bool m_bIsRefreshed;
- void SetStatus(const CString& status);
- bool Parse();
- void LoadList();
+ CSubtitleDlDlgListCtrl m_list;
+ CProgressCtrl m_progress;
+ CStatusBarCtrl m_status;
+ CMainFrame* m_pMainFrame;
+ SubtitlesList m_Subtitles;
- static UINT RunThread(LPVOID pParam);
static int CALLBACK SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
- static int CALLBACK DefSortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
- static size_t StrMatch(LPCTSTR a, LPCTSTR b);
- static CString LangCodeToName(LPCSTR code);
- static bool OpenUrl(CInternetSession& is, CString url, CStringA& str);
+ void SetStatusText(const CString& status, BOOL bPropagate = TRUE);
+ void SetListViewSortColumn();
+ void DownloadSelectedSubtitles();
public:
- explicit CSubtitleDlDlg(CWnd* pParent, const CStringA& url, const CString& filename);
- virtual ~CSubtitleDlDlg();
-
+ CSubtitleDlDlg(CMainFrame* pParentWnd);
+ virtual ~CSubtitleDlDlg() = default;
enum { IDD = IDD_SUBTITLEDL_DLG };
+
protected:
virtual void DoDataExchange(CDataExchange* pDX);
virtual BOOL OnInitDialog();
virtual BOOL PreTranslateMessage(MSG* pMsg);
virtual void OnOK();
-
- void DownloadSelectedSubtitles();
+ virtual void OnCancel();
DECLARE_MESSAGE_MAP()
afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg void OnParse();
- afx_msg void OnFailedConnection();
afx_msg void OnUpdateOk(CCmdUI* pCmdUI);
+ afx_msg void OnUpdateRefresh(CCmdUI* pCmdUI);
+ afx_msg void OnAbort();
+ afx_msg void OnRefresh();
+ afx_msg void OnOptions();
afx_msg void OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDestroy();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnDoubleClickSubtitle(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKeyPressedSubtitle(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnRightClick(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnItemChanging(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
+
+ afx_msg LRESULT OnSearch(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnSearching(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnDownloading(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnDownloaded(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnCompleted(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnFinished(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnFailed(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnClear(WPARAM wParam, LPARAM lParam);
+
+public:
+ void DoSearch(INT _nCount);
+ void DoSearching(SubtitlesInfo& _fileInfo);
+ void DoDownloading(SubtitlesInfo& _fileInfo);
+ void DoDownloaded(SubtitlesInfo& _fileInfo);
+ void DoCompleted(SRESULT _result, SubtitlesList& _subtitlesList);
+ void DoFinished(BOOL _bAborted, BOOL _bShowDialog);
+ void DoFailed();
+ void DoClear();
};
diff --git a/src/mpc-hc/SubtitleUpDlg.cpp b/src/mpc-hc/SubtitleUpDlg.cpp
new file mode 100644
index 000000000..da69e07d2
--- /dev/null
+++ b/src/mpc-hc/SubtitleUpDlg.cpp
@@ -0,0 +1,515 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "SubtitleUpDlg.h"
+#include "SubtitlesProvider.h"
+#include "MainFrm.h"
+#include "AuthDlg.h"
+#include "PPageSubMisc.h"
+#include "mplayerc.h"
+
+// User Defined Window Messages
+enum {
+ UWM_UPLOAD = WM_USER + 100,
+ UWM_UPLOADING,
+ UWM_COMPLETED,
+ UWM_FINISHED,
+ UWM_FAILED,
+ UWM_CLEAR
+};
+
+CSubtitleUpDlg::CSubtitleUpDlg(CMainFrame* pParentWnd)
+ : CResizableDialog(IDD, pParentWnd)
+ , m_pMainFrame(pParentWnd)
+{
+}
+
+void CSubtitleUpDlg::DoDataExchange(CDataExchange* pDX)
+{
+ __super::DoDataExchange(pDX);
+ DDX_Control(pDX, IDC_LIST1, m_list);
+ DDX_Control(pDX, IDC_PROGRESS1, m_progress);
+ DDX_Control(pDX, IDC_STATUSBAR, m_status);
+}
+
+void CSubtitleUpDlg::SetStatusText(const CString& status, BOOL bPropagate/* = TRUE*/)
+{
+ m_status.SetText(status, 0, 0);
+ if (bPropagate) {
+ m_pMainFrame->SendStatusMessage(status, 5000);
+ }
+}
+
+BOOL CSubtitleUpDlg::OnInitDialog()
+{
+ __super::OnInitDialog();
+
+ m_progress.SetParent(&m_status);
+ m_progress.UpdateWindow();
+
+ int n = 0, curPos = 0;
+ CArray<int> columnWidth;
+
+ CString strColumnWidth(AfxGetApp()->GetProfileString(IDS_R_DLG_SUBTITLEUP, IDS_RS_DLG_SUBTITLEUP_COLWIDTH));
+ CString token(strColumnWidth.Tokenize(_T(","), curPos));
+ while (!token.IsEmpty()) {
+ if (_stscanf_s(token, L"%d", &n) == 1) {
+ columnWidth.Add(n);
+ token = strColumnWidth.Tokenize(_T(","), curPos);
+ } else {
+ throw 1;
+ }
+ }
+
+ m_list.SetExtendedStyle(m_list.GetExtendedStyle()
+ | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT
+ | LVS_EX_CHECKBOXES | LVS_EX_LABELTIP);
+
+ m_list.SetImageList(&m_pMainFrame->m_pSubtitlesProviders->GetImageList(), LVSIL_SMALL);
+
+ if (columnWidth.GetCount() != COL_TOTAL_COLUMNS) {
+ // default sizes
+ columnWidth.RemoveAll();
+ columnWidth.Add(120);
+ columnWidth.Add(75);
+ columnWidth.Add(250);
+ }
+
+ m_list.InsertColumn(COL_PROVIDER, ResStr(IDS_SUBDL_DLG_PROVIDER_COL), LVCFMT_LEFT, columnWidth[COL_PROVIDER]);
+ m_list.InsertColumn(COL_USERNAME, ResStr(IDS_SUBUL_DLG_USERNAME_COL), LVCFMT_LEFT, columnWidth[COL_USERNAME]);
+ m_list.InsertColumn(COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_COL), LVCFMT_LEFT, columnWidth[COL_STATUS]);
+
+ m_list.SetRedraw(FALSE);
+ m_list.DeleteAllItems();
+
+ int i = 0;
+ for (const auto& iter : m_pMainFrame->m_pSubtitlesProviders->Providers()) {
+ if (iter->Flags(SPF_UPLOAD)) {
+ int iItem = m_list.InsertItem((int)i++, CString(iter->Name().c_str()), iter->GetIconIndex());
+ m_list.SetItemText(iItem, COL_USERNAME, UTF8To16(iter->UserName().c_str()));
+ m_list.SetItemText(iItem, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_READY));
+ m_list.SetCheck(iItem, iter->Enabled(SPF_UPLOAD));
+ m_list.SetItemData(iItem, (DWORD_PTR)(iter.get()));
+ }
+ }
+
+ m_list.SetRedraw(TRUE);
+ m_list.Invalidate();
+ m_list.UpdateWindow();
+
+ UpdateData(FALSE);
+
+ AddAnchor(IDC_LIST1, TOP_LEFT, BOTTOM_RIGHT);
+ AddAnchor(IDC_BUTTON1, BOTTOM_RIGHT);
+ AddAnchor(IDC_BUTTON2, BOTTOM_RIGHT);
+ AddAnchor(IDOK, BOTTOM_RIGHT);
+ AddAnchor(IDC_STATUSBAR, BOTTOM_LEFT, BOTTOM_RIGHT);
+
+ const CSize s(500, 250);
+ SetMinTrackSize(s);
+ EnableSaveRestore(IDS_R_DLG_SUBTITLEUP, TRUE);
+
+ return TRUE;
+}
+
+BOOL CSubtitleUpDlg::PreTranslateMessage(MSG* pMsg)
+{
+ // Inhibit default handling for the Enter key when the list has the focus and an item is selected.
+ if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN
+ && pMsg->hwnd == m_list.GetSafeHwnd() && m_list.GetSelectedCount() > 0) {
+ return FALSE;
+ }
+
+ return __super::PreTranslateMessage(pMsg);
+}
+
+void CSubtitleUpDlg::OnOK()
+{
+ m_pMainFrame->m_pSubtitlesProviders->Upload(true);
+}
+
+void CSubtitleUpDlg::OnCancel()
+{
+ // Just hide the dialog, since it's modeless we don't want to call EndDialog
+ ShowWindow(SW_HIDE);
+}
+
+void CSubtitleUpDlg::OnAbort()
+{
+ m_pMainFrame->m_pSubtitlesProviders->Abort(SubtitlesThreadType(STT_UPLOAD));
+}
+
+void CSubtitleUpDlg::OnOptions()
+{
+ m_pMainFrame->ShowOptions(CPPageSubMisc::IDD);
+}
+
+void CSubtitleUpDlg::OnUpdateOk(CCmdUI* pCmdUI)
+{
+ bool fEnable = false;
+ for (int i = 0; !fEnable && i < m_list.GetItemCount(); ++i) {
+ fEnable = (m_list.GetCheck(i) == TRUE);
+ }
+
+ pCmdUI->Enable(fEnable);
+}
+
+void CSubtitleUpDlg::OnUpdateRefresh(CCmdUI* pCmdUI)
+{
+ bool fEnable = true;
+ pCmdUI->Enable(fEnable);
+}
+
+void CSubtitleUpDlg::OnSize(UINT nType, int cx, int cy)
+{
+ __super::OnSize(nType, cx, cy);
+
+ ArrangeLayout();
+
+ if (m_status && m_progress) {
+ // Reposition the progress control correctly!
+ CRect statusRect, buttonRect;
+ m_status.GetClientRect(&statusRect);
+ GetDlgItem(IDOK)->GetWindowRect(&buttonRect);
+ ScreenToClient(&buttonRect);
+ int parts[2] = { buttonRect.left - 2, -1 };
+ m_status.SetParts(2, parts);
+ m_status.GetRect(1, &statusRect);
+ statusRect.DeflateRect(1, 1, 1, 1);
+ m_progress.SetWindowPos(&wndTop, statusRect.left, statusRect.top, statusRect.Width(), statusRect.Height(),
+ SWP_NOACTIVATE | SWP_NOZORDER);
+ }
+}
+
+void CSubtitleUpDlg::OnDestroy()
+{
+ RemoveAllAnchors();
+
+ const CHeaderCtrl& pHC = *m_list.GetHeaderCtrl();
+ CString strColumnWidth;
+
+ for (int i = 0; i < pHC.GetItemCount(); ++i) {
+ int w = m_list.GetColumnWidth(i);
+ strColumnWidth.AppendFormat(L"%d,", w);
+ }
+ AfxGetApp()->WriteProfileString(IDS_R_DLG_SUBTITLEUP, IDS_RS_DLG_SUBTITLEUP_COLWIDTH, strColumnWidth);
+
+ __super::OnDestroy();
+}
+
+BOOL CSubtitleUpDlg::OnEraseBkgnd(CDC* pDC)
+{
+ EraseBackground(pDC);
+
+ return TRUE;
+}
+
+void CSubtitleUpDlg::DownloadSelectedSubtitles()
+{
+ POSITION pos = m_list.GetFirstSelectedItemPosition();
+ while (pos) {
+ int nItem = m_list.GetNextSelectedItem(pos);
+ if (nItem >= 0 && nItem < m_list.GetItemCount()) {
+ ListView_SetCheckState(m_list.GetSafeHwnd(), nItem, TRUE);
+ }
+ }
+ //OnOK();
+}
+
+// ON_UPDATE_COMMAND_UI dows not work for modless dialogs
+BEGIN_MESSAGE_MAP(CSubtitleUpDlg, CResizableDialog)
+ ON_WM_ERASEBKGND()
+ ON_WM_SIZE()
+ ON_COMMAND(IDC_BUTTON1, OnAbort)
+ ON_COMMAND(IDC_BUTTON2, OnOptions)
+ ON_UPDATE_COMMAND_UI(IDOK, OnUpdateOk)
+ ON_WM_DESTROY()
+ ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDoubleClickSubtitle)
+ ON_NOTIFY(LVN_KEYDOWN, IDC_LIST1, OnKeyPressedSubtitle)
+ ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRightClick)
+ ON_NOTIFY(LVN_ITEMCHANGING, IDC_LIST1, OnItemChanging)
+ ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemChanged)
+
+ ON_MESSAGE(UWM_UPLOAD, OnUpload)
+ ON_MESSAGE(UWM_UPLOADING, OnUploading)
+ ON_MESSAGE(UWM_COMPLETED, OnCompleted)
+ ON_MESSAGE(UWM_FINISHED, OnFinished)
+ ON_MESSAGE(UWM_FAILED, OnFailed)
+ ON_MESSAGE(UWM_CLEAR, OnClear)
+END_MESSAGE_MAP()
+
+void CSubtitleUpDlg::OnDoubleClickSubtitle(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMITEMACTIVATE pItemActivate = (LPNMITEMACTIVATE)(pNMHDR);
+
+ if (pItemActivate->iItem >= 0 && m_list.GetCheck(pItemActivate->iItem) != -1) {
+ //DownloadSelectedSubtitles();
+ }
+}
+
+void CSubtitleUpDlg::OnKeyPressedSubtitle(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
+
+ if (pLVKeyDow->wVKey == VK_RETURN) {
+ //DownloadSelectedSubtitles();
+ *pResult = TRUE;
+ }
+}
+
+void CSubtitleUpDlg::OnRightClick(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
+
+ if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0) {
+ auto& s = AfxGetAppSettings();
+ SubtitlesProvider& provider = *(SubtitlesProvider*)(m_list.GetItemData(lpnmlv->iItem));
+
+ enum {
+ SET_CREDENTIALS = 0x1000,
+ RESET_CREDENTIALS,
+ MOVE_UP,
+ MOVE_DOWN,
+ OPEN_URL
+ };
+
+ CMenu m;
+ m.CreatePopupMenu();
+ m.AppendMenu(MF_STRING | (provider.Flags(SPF_LOGIN) ? MF_ENABLED : MF_DISABLED), SET_CREDENTIALS,
+ ResStr(IDS_SUBMENU_SETUP));
+ m.AppendMenu(MF_STRING | (provider.Flags(SPF_LOGIN) && !provider.UserName().empty() ? MF_ENABLED : MF_DISABLED),
+ RESET_CREDENTIALS, ResStr(IDS_SUBMENU_RESET));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | (lpnmlv->iItem > 0 ? MF_ENABLED : MF_DISABLED), MOVE_UP, ResStr(IDS_SUBMENU_MOVEUP));
+ m.AppendMenu(MF_STRING | (lpnmlv->iItem < m_list.GetItemCount() - 1 ? MF_ENABLED : MF_DISABLED), MOVE_DOWN,
+ ResStr(IDS_SUBMENU_MOVEDOWN));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | MF_ENABLED, OPEN_URL, ResStr(IDS_SUBMENU_OPENURL));
+
+ CPoint pt = lpnmlv->ptAction;
+ ::MapWindowPoints(lpnmlv->hdr.hwndFrom, HWND_DESKTOP, &pt, 1);
+
+ switch (m.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RETURNCMD, pt.x, pt.y, this)) {
+ case OPEN_URL:
+ provider.OpenUrl();
+ break;
+ case SET_CREDENTIALS: {
+ CString szUser(UTF8To16(provider.UserName().c_str()));
+ CString szPass(UTF8To16(provider.Password().c_str()));
+ CString szDomain(provider.Name().c_str());
+ if (ERROR_SUCCESS == PromptForCredentials(GetSafeHwnd(),
+ ResStr(IDS_SUB_CREDENTIALS_TITLE),
+ ResStr(IDS_SUB_CREDENTIALS_MSG) + CString(provider.Url().c_str()),
+ szDomain, szUser, szPass, /*&bSave*/nullptr)) {
+ provider.UserName((const char*)UTF16To8(szUser));
+ provider.Password((const char*)UTF16To8(szPass));
+ m_list.SetItemText(lpnmlv->iItem, 1, szUser);
+ s.strSubtitlesProviders = CString(m_pMainFrame->m_pSubtitlesProviders->WriteSettings().c_str());
+ s.SaveSettings();
+ }
+ break;
+ }
+ case RESET_CREDENTIALS:
+ provider.UserName("");
+ provider.Password("");
+ m_list.SetItemText(lpnmlv->iItem, 1, _T(""));
+ s.strSubtitlesProviders = CString(m_pMainFrame->m_pSubtitlesProviders->WriteSettings().c_str());
+ s.SaveSettings();
+ break;
+ case MOVE_UP: {
+ m_pMainFrame->m_pSubtitlesProviders->MoveUp(lpnmlv->iItem);
+ ListView_SortItemsEx(m_list.GetSafeHwnd(), SortCompare, m_list.GetSafeHwnd());
+ s.strSubtitlesProviders = CString(m_pMainFrame->m_pSubtitlesProviders->WriteSettings().c_str());
+ s.SaveSettings();
+ break;
+ }
+ case MOVE_DOWN: {
+ m_pMainFrame->m_pSubtitlesProviders->MoveDown(lpnmlv->iItem);
+ ListView_SortItemsEx(m_list.GetSafeHwnd(), SortCompare, m_list.GetSafeHwnd());
+ s.strSubtitlesProviders = CString(m_pMainFrame->m_pSubtitlesProviders->WriteSettings().c_str());
+ s.SaveSettings();
+ break;
+ }
+ default:
+ break;
+ }
+ }
+}
+
+int CALLBACK CSubtitleUpDlg::SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
+{
+ CListCtrl& list = *(CListCtrl*)CListCtrl::FromHandle((HWND)lParamSort);
+ size_t left = ((SubtitlesProvider*)list.GetItemData((int)lParam1))->Index();
+ size_t right = ((SubtitlesProvider*)list.GetItemData((int)lParam2))->Index();
+ return int(left - right);
+}
+
+void CSubtitleUpDlg::OnItemChanging(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW pNMLV = (LPNMLISTVIEW)(pNMHDR);
+
+ if (pNMLV->uOldState == 0 && pNMLV->uNewState == 0x1000 && pNMLV->lParam) {
+ *pResult = TRUE;
+ }
+}
+
+void CSubtitleUpDlg::OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW pNMLV = (LPNMLISTVIEW)(pNMHDR);
+
+ if (((pNMLV->uOldState | pNMLV->uNewState) == 0x3000) && pNMLV->lParam) {
+ SubtitlesProvider& _provider = *(SubtitlesProvider*)pNMLV->lParam;
+ _provider.Enabled(SPF_UPLOAD, pNMLV->uNewState == 0x2000 ? TRUE : FALSE);
+ auto& s = AfxGetAppSettings();
+ s.strSubtitlesProviders = CString(m_pMainFrame->m_pSubtitlesProviders->WriteSettings().c_str());
+ s.SaveSettings();
+ }
+
+ UpdateDialogControls(this, FALSE);
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnUpload(WPARAM wParam, LPARAM /*lParam*/)
+{
+ INT _nCount = (INT)wParam;
+
+ SetStatusText(ResStr(IDS_SUBUL_DLG_UPLOADING));
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
+
+ m_progress.SetRange32(0, _nCount);
+ m_progress.SetStep(1);
+ m_progress.SetPos(0);
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnUploading(WPARAM /*wParam*/, LPARAM lParam)
+{
+ SubtitlesProvider& _provider = *(SubtitlesProvider*)lParam;
+
+ for (int i = 0; i < m_list.GetItemCount(); ++i) {
+ SubtitlesProvider& iter = *(SubtitlesProvider*)m_list.GetItemData(i);
+ if (&iter == &_provider) {
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_UPLOADING));
+ }
+ }
+ UpdateWindow();
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnCompleted(WPARAM wParam, LPARAM lParam)
+{
+ SRESULT _result = (SRESULT)wParam;
+ SubtitlesProvider& _provider = *(SubtitlesProvider*)lParam;
+
+ m_progress.StepIt();
+
+ for (int i = 0; i < m_list.GetItemCount(); ++i) {
+ SubtitlesProvider& iter = *(SubtitlesProvider*)m_list.GetItemData(i);
+ if (&iter == &_provider) {
+ switch (_result) {
+ case SR_SUCCEEDED:
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_UPLOADED));
+ break;
+ case SR_FAILED:
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_FAILED));
+ break;
+ case SR_ABORTED:
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_ABORTED));
+ break;
+ case SR_EXISTS:
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_ALREADYEXISTS));
+ break;
+ }
+ }
+ }
+ UpdateWindow();
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnFinished(WPARAM wParam, LPARAM /*lParam*/)
+{
+ BOOL _bAborted = (BOOL)wParam;
+
+ if (_bAborted == FALSE) {
+ SetStatusText(StrRes(IDS_SUBUL_DLG_UPLOADED));
+ } else {
+ SetStatusText(StrRes(IDS_SUBUL_DLG_ABORTED));
+ }
+
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
+ UpdateWindow();
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnFailed(WPARAM /*wParam*/, LPARAM /*lParam*/)
+{
+ SetStatusText(StrRes(IDS_SUBUL_DLG_FAILED));
+
+ return S_OK;
+}
+
+afx_msg LRESULT CSubtitleUpDlg::OnClear(WPARAM /*wParam*/, LPARAM /*lParam*/)
+{
+ m_progress.SetPos(0);
+ SetStatusText(_T(""));
+
+ for (int i = 0; i < m_list.GetItemCount(); ++i) {
+ SubtitlesProvider& iter = *(SubtitlesProvider*)m_list.GetItemData(i);
+ if (iter.Flags(SPF_UPLOAD)) {
+ m_list.SetItemText(i, COL_STATUS, ResStr(IDS_SUBUL_DLG_STATUS_READY));
+ }
+ }
+
+ GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
+ GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);
+ GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
+ UpdateWindow();
+
+ return S_OK;
+}
+
+void CSubtitleUpDlg::DoUpload(INT _nCount)
+{
+ SendMessage(UWM_UPLOAD, (WPARAM)_nCount, (LPARAM)nullptr);
+}
+void CSubtitleUpDlg::DoUploading(std::shared_ptr<SubtitlesProvider> _provider)
+{
+ SendMessage(UWM_UPLOADING, (WPARAM)nullptr, (LPARAM)_provider.get());
+}
+void CSubtitleUpDlg::DoCompleted(SRESULT _result, std::shared_ptr<SubtitlesProvider> _provider)
+{
+ SendMessage(UWM_COMPLETED, (WPARAM)_result, (LPARAM)_provider.get());
+}
+void CSubtitleUpDlg::DoFinished(BOOL _bAborted)
+{
+ SendMessage(UWM_FINISHED, (WPARAM)_bAborted, (LPARAM)nullptr);
+}
+void CSubtitleUpDlg::DoFailed()
+{
+ SendMessage(UWM_FAILED, (WPARAM)nullptr, (LPARAM)nullptr);
+}
+void CSubtitleUpDlg::DoClear()
+{
+ SendMessage(UWM_CLEAR, (WPARAM)nullptr, (LPARAM)nullptr);
+}
diff --git a/src/mpc-hc/SubtitleUpDlg.h b/src/mpc-hc/SubtitleUpDlg.h
new file mode 100644
index 000000000..4924ecd7c
--- /dev/null
+++ b/src/mpc-hc/SubtitleUpDlg.h
@@ -0,0 +1,90 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "resource.h"
+#include "ResizableLib/ResizableDialog.h"
+
+class CMainFrame;
+class SubtitlesProvider;
+enum SRESULT;
+
+class CSubtitleUpDlg : public CResizableDialog
+{
+ enum {
+ COL_PROVIDER,
+ COL_USERNAME,
+ COL_STATUS,
+ COL_TOTAL_COLUMNS
+ };
+
+ CListCtrl m_list;
+ CProgressCtrl m_progress;
+ CStatusBarCtrl m_status;
+ CMainFrame* m_pMainFrame;
+
+ void DownloadSelectedSubtitles();
+ void SetStatusText(const CString& status, BOOL bPropagate = TRUE);
+
+public:
+ CSubtitleUpDlg(CMainFrame* pParentWnd);
+ virtual ~CSubtitleUpDlg() = default;
+ enum { IDD = IDD_SUBTITLEUP_DLG };
+
+protected:
+ virtual void DoDataExchange(CDataExchange* pDX);
+ virtual BOOL OnInitDialog();
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
+ virtual void OnOK();
+ virtual void OnCancel();
+
+ static int CALLBACK SortCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
+
+ DECLARE_MESSAGE_MAP()
+
+ afx_msg void OnSize(UINT nType, int cx, int cy);
+ afx_msg void OnUpdateOk(CCmdUI* pCmdUI);
+ afx_msg void OnUpdateRefresh(CCmdUI* pCmdUI);
+ afx_msg void OnAbort();
+ afx_msg void OnOptions();
+ afx_msg void OnDestroy();
+ afx_msg BOOL OnEraseBkgnd(CDC* pDC);
+ afx_msg void OnDoubleClickSubtitle(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnKeyPressedSubtitle(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnRightClick(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnItemChanging(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg void OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
+
+ afx_msg LRESULT OnUpload(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnUploading(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnCompleted(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnFinished(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnFailed(WPARAM wParam, LPARAM lParam);
+ afx_msg LRESULT OnClear(WPARAM wParam, LPARAM lParam);
+
+public:
+ void DoUpload(INT _nCount);
+ void DoUploading(std::shared_ptr<SubtitlesProvider> _provider);
+ void DoCompleted(SRESULT _result, std::shared_ptr<SubtitlesProvider> _provider);
+ void DoFinished(BOOL _bAborted);
+ void DoFailed();
+ void DoClear();
+};
diff --git a/src/mpc-hc/SubtitlesProvider.cpp b/src/mpc-hc/SubtitlesProvider.cpp
new file mode 100644
index 000000000..d5075f788
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProvider.cpp
@@ -0,0 +1,1127 @@
+/*
+ * (C) 2016-2017 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "SubtitlesProvider.h"
+#include "SubtitlesProvidersUtils.h"
+#include "mplayerc.h"
+#include "ISOLang.h"
+#include "Logger.h"
+#include "MediaInfo/library/Source/ThirdParty/base64/base64.h"
+#include "tinyxml2/library/tinyxml2.h"
+#include "rapidjson/include/rapidjson/document.h"
+
+#define LOG if (AfxGetAppSettings().bEnableLogging) SUBTITLES_LOG
+#define LOG_NONE _T("()")
+#define LOG_INPUT _T("(\"%S\")")
+#define LOG_OUTPUT _T("()=%S")
+#define LOG_BOTH _T("(\"%S\")=%S")
+#define LOG_ERROR _T("() ERROR: %S")
+
+#define GUESSED_NAME_POSTFIX " (*)"
+#define CheckAbortAndReturn() { if (IsAborting()) return SR_ABORTED; }
+
+using namespace SubtitlesProvidersUtils;
+
+class LanguageDownloadException : public std::exception
+{
+ using exception::exception;
+};
+
+/******************************************************************************
+** Register providers
+******************************************************************************/
+void SubtitlesProviders::RegisterProviders()
+{
+ Register<OpenSubtitles>(this);
+ Register<podnapisi>(this);
+ Register<titlovi>(this);
+ Register<SubDB>(this);
+ Register<ysubs>(this);
+ Register<Napisy24>(this);
+}
+
+/******************************************************************************
+** OpenSubtitles
+******************************************************************************/
+
+void OpenSubtitles::Initialize()
+{
+ xmlrpc = std::make_unique<XmlRpcClient>("http://api.opensubtitles.org/xml-rpc");
+ xmlrpc->setIgnoreCertificateAuthority();
+}
+
+SRESULT OpenSubtitles::Login(const std::string& sUserName, const std::string& sPassword)
+{
+ if (xmlrpc) {
+ XmlRpcValue args, result;
+ args[0] = sUserName;
+ args[1] = sPassword;
+ args[2] = "en";
+ const auto& strUA = UserAgent();
+ args[3] = strUA.c_str(); // Test with "OSTestUserAgent"
+ if (!xmlrpc->execute("LogIn", args, result)) {
+ return SR_FAILED;
+ }
+
+ if (result["status"].getType() == XmlRpcValue::Type::TypeString) {
+ if (result["status"] == std::string("200 OK")) {
+ token = result["token"];
+ } else if (result["status"] == std::string("401 Unauthorized")) {
+ // Notify user that User/Pass provided are invalid.
+ CString msg;
+ msg.Format(IDS_SUB_CREDENTIALS_ERROR, Name().c_str(), UserName().c_str());
+ AfxMessageBox(msg, MB_ICONERROR | MB_OK);
+ }
+ }
+ }
+
+ LOG(LOG_BOTH, sUserName.c_str(), token.valid() ? (LPCSTR)token : "failed");
+ return token.valid() ? SR_SUCCEEDED : SR_FAILED;
+}
+
+SRESULT OpenSubtitles::LogOut()
+{
+ if (xmlrpc && token.valid()) {
+ XmlRpcValue args, result;
+ args[0] = token;
+ VERIFY(xmlrpc->execute("LogOut", args, result));
+ token.clear();
+ }
+ m_nLoggedIn = SPL_UNDEFINED;
+
+ LOG(LOG_NONE);
+ return SR_SUCCEEDED;
+}
+
+SRESULT OpenSubtitles::Hash(SubtitlesInfo& pFileInfo)
+{
+ pFileInfo.fileHash = StringFormat("%016I64x", GenerateOSHash(pFileInfo));
+ LOG(LOG_OUTPUT, pFileInfo.fileHash.c_str());
+ return SR_SUCCEEDED;
+}
+
+SRESULT OpenSubtitles::Search(const SubtitlesInfo& pFileInfo)
+{
+ const auto languages = LanguagesISO6392();
+ XmlRpcValue args, result;
+ args[0] = token;
+ auto& movieInfo = args[1][0];
+ movieInfo["sublanguageid"] = !languages.empty() ? JoinContainer(languages, ",") : "all";
+ movieInfo["moviehash"] = pFileInfo.fileHash;
+ movieInfo["moviebytesize"] = std::to_string(pFileInfo.fileSize);
+ //args[1][1]["sublanguageid"] = !languages.empty() ? languages : "all";
+ //args[1][1]["tag"] = pFileInfo.fileName + "." + pFileInfo.fileExtension;
+ args[2]["limit"] = 500;
+
+ LOG(LOG_INPUT,
+ StringFormat("{ sublanguageid=\"%s\", moviehash=\"%s\", moviebytesize=\"%s\", limit=%d }",
+ (LPCSTR)movieInfo["sublanguageid"],
+ (LPCSTR)movieInfo["moviehash"],
+ (LPCSTR)movieInfo["moviebytesize"],
+ (int)args[2]["limit"]).c_str());
+
+ if (!xmlrpc->execute("SearchSubtitles", args, result)) {
+ return SR_FAILED;
+ }
+
+ if (result["data"].getType() != XmlRpcValue::Type::TypeArray) {
+ return SR_FAILED;
+ }
+
+ int nCount = result["data"].size();
+ for (int i = 0; i < nCount; ++i) {
+ CheckAbortAndReturn();
+ XmlRpcValue& data(result["data"][i]);
+ SubtitlesInfo pSubtitlesInfo;
+ pSubtitlesInfo.id = (const char*)data["IDSubtitleFile"];
+ pSubtitlesInfo.discNumber = data["SubActualCD"];
+ pSubtitlesInfo.discCount = data["SubSumCD"];
+ pSubtitlesInfo.fileExtension = (const char*)data["SubFormat"];
+ pSubtitlesInfo.languageCode = (const char*)data["ISO639"]; //"SubLanguageID"
+ pSubtitlesInfo.languageName = (const char*)data["LanguageName"];
+ pSubtitlesInfo.downloadCount = data["SubDownloadsCnt"];
+
+ pSubtitlesInfo.fileName = (const char*)data["SubFileName"];
+ regexResult results;
+ stringMatch("\"([^\"]+)\" (.+)", (const char*)data["MovieName"], results);
+ if (!results.empty()) {
+ pSubtitlesInfo.title = results[0];
+ pSubtitlesInfo.title2 = results[1];
+ } else {
+ pSubtitlesInfo.title = (const char*)data["MovieName"];
+ }
+ pSubtitlesInfo.year = (int)data["MovieYear"] == 0 ? -1 : (int)data["MovieYear"];
+ pSubtitlesInfo.seasonNumber = (int)data["SeriesSeason"] == 0 ? -1 : (int)data["SeriesSeason"];
+ pSubtitlesInfo.episodeNumber = (int)data["SeriesEpisode"] == 0 ? -1 : (int)data["SeriesEpisode"];
+ pSubtitlesInfo.hearingImpaired = data["SubHearingImpaired"];
+ pSubtitlesInfo.url = (const char*)data["SubtitlesLink"];
+ pSubtitlesInfo.releaseNames.emplace_back((const char*)data["MovieReleaseName"]);
+ pSubtitlesInfo.imdbid = (const char*)data["IDMovieImdb"];
+ pSubtitlesInfo.corrected = (int)data["SubBad"] ? -1 : 0;
+ Set(pSubtitlesInfo);
+ }
+ return SR_SUCCEEDED;
+}
+
+SRESULT OpenSubtitles::Download(SubtitlesInfo& pSubtitlesInfo)
+{
+ XmlRpcValue args, result;
+ args[0] = token;
+ args[1][0] = pSubtitlesInfo.id;
+ if (!xmlrpc->execute("DownloadSubtitles", args, result)) {
+ return SR_FAILED;
+ }
+
+ LOG(LOG_INPUT, pSubtitlesInfo.id.c_str());
+
+ if (result["data"].getType() != XmlRpcValue::Type::TypeArray) {
+ return SR_FAILED;
+ }
+
+ pSubtitlesInfo.fileContents = Base64::decode(std::string(result["data"][0]["data"]));
+ return SR_SUCCEEDED;
+}
+
+SRESULT OpenSubtitles::Upload(const SubtitlesInfo& pSubtitlesInfo)
+{
+ XmlRpcValue args, result;
+ args[0] = token;
+
+ //TODO: Ask how to obtain commented values !!!
+ args[1]["cd1"]["subhash"] = StringToHash(pSubtitlesInfo.fileContents, CALG_MD5);
+ args[1]["cd1"]["subfilename"] = pSubtitlesInfo.fileName + ".srt";
+ args[1]["cd1"]["moviehash"] = pSubtitlesInfo.fileHash;
+ args[1]["cd1"]["moviebytesize"] = std::to_string(pSubtitlesInfo.fileSize);
+ //args[1]["cd1"]["movietimems"];
+ //args[1]["cd1"]["movieframes"];
+ //args[1]["cd1"]["moviefps"];
+ args[1]["cd1"]["moviefilename"] = pSubtitlesInfo.fileName + "." + pSubtitlesInfo.fileExtension;
+
+ CheckAbortAndReturn();
+ if (!xmlrpc->execute("TryUploadSubtitles", args, result)) {
+ return SR_FAILED;
+ }
+ CheckAbortAndReturn();
+
+ if ((int)result["alreadyindb"] == 1) {
+ return SR_EXISTS;
+ } else if ((int)result["alreadyindb"] == 0) {
+ // We need imdbid to proceed
+ if (result["data"].getType() == XmlRpcValue::Type::TypeArray) {
+ args[1]["baseinfo"]["idmovieimdb"] = result["data"][0]["IDMovieImdb"];
+ } else if (!pSubtitlesInfo.imdbid.empty()) {
+ args[1]["baseinfo"]["idmovieimdb"] = pSubtitlesInfo.imdbid;
+ } else {
+ std::string title(StringReplace(pSubtitlesInfo.title, "and", "&"));
+ if (!args[1]["baseinfo"]["idmovieimdb"].valid()) {
+ XmlRpcValue _args, _result;
+ _args[0] = token;
+ _args[1][0] = pSubtitlesInfo.fileHash;
+ if (!xmlrpc->execute("CheckMovieHash", _args, _result)) {
+ return SR_FAILED;
+ }
+
+ if (_result["data"].getType() == XmlRpcValue::Type::TypeStruct) {
+ //regexResults results;
+ //stringMatch("\"(.+)\" (.+)", (const char*)data["MovieName"], results);
+ //if (!results.empty()) {
+ // pSubtitlesInfo.title = results[0][0];
+ // pSubtitlesInfo.title2 = results[0][1];
+ //} else {
+ // pSubtitlesInfo.title = (const char*)data["MovieName"];
+ //}
+ regexResults results;
+ stringMatch("\"(.+)\" .+|(.+)", StringReplace((const char*)_result["data"][pSubtitlesInfo.fileHash]["MovieName"], "and", "&"), results);
+ std::string _title(results[0][0] + results[0][1]);
+
+ if (_stricmp(title.c_str(), _title.c_str()) == 0 /*&& (pSubtitlesInfo.year == -1 || (pSubtitlesInfo.year != -1 && pSubtitlesInfo.year == atoi(_result["data"][pSubtitlesInfo.fileHash]["MovieYear"])))*/) {
+ args[1]["baseinfo"]["idmovieimdb"] = _result["data"][pSubtitlesInfo.fileHash]["MovieImdbID"]; //imdbid
+ }
+ }
+ }
+
+ if (!args[1]["baseinfo"]["idmovieimdb"].valid()) {
+ XmlRpcValue _args, _result;
+ _args[0] = token;
+ _args[1][0] = pSubtitlesInfo.fileHash;
+ if (!xmlrpc->execute("CheckMovieHash2", _args, _result)) {
+ return SR_FAILED;
+ }
+
+ if (_result["data"].getType() == XmlRpcValue::Type::TypeArray) {
+ int nCount = _result["data"][pSubtitlesInfo.fileHash].size();
+ for (int i = 0; i < nCount; ++i) {
+ regexResults results;
+ stringMatch("\"(.+)\" .+|(.+)", StringReplace((const char*)_result["data"][pSubtitlesInfo.fileHash][i]["MovieName"], "and", "&"), results);
+ std::string _title(results[0][0] + results[0][1]);
+
+ if (_stricmp(title.c_str(), _title.c_str()) == 0 /*&& (pSubtitlesInfo.year == -1 || (pSubtitlesInfo.year != -1 && pSubtitlesInfo.year == atoi(_result["data"][pSubtitlesInfo.fileHash][i]["MovieYear"])))*/) {
+ args[1]["baseinfo"]["idmovieimdb"] = _result["data"][pSubtitlesInfo.fileHash][i]["MovieImdbID"]; //imdbid
+ break;
+ }
+ }
+ }
+ }
+
+ if (!args[1]["baseinfo"]["idmovieimdb"].valid()) {
+ XmlRpcValue _args, _result;
+ _args[0] = token;
+ _args[1] = title;
+ if (!xmlrpc->execute("SearchMoviesOnIMDB", _args, _result)) {
+ return SR_FAILED;
+ }
+ if (_result["data"].getType() == XmlRpcValue::Type::TypeArray) {
+ int nCount = _result["data"].size();
+ for (int i = 0; i < nCount; ++i) {
+ regexResults results;
+ stringMatch("(.+) [(](\\d{4})[)]", StringReplace((const char*)_result["data"][i]["title"], "and", "&"), results);
+ if (results.size() == 1) {
+ std::string _title(results[0][0]);
+
+ if (_stricmp(title.c_str(), _title.c_str()) == 0 /*&& (pSubtitlesInfo.year == -1 || (pSubtitlesInfo.year != -1 && pSubtitlesInfo.year == atoi(results[0][1].c_str())))*/) {
+ args[1]["baseinfo"]["idmovieimdb"] = _result["data"][i]["id"]; //imdbid
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ if (args[1]["baseinfo"]["idmovieimdb"].valid()) {
+ XmlRpcValue _args, _result;
+ _args[0] = token;
+ _args[1][0]["moviehash"] = pSubtitlesInfo.fileHash;
+ _args[1][0]["moviebytesize"] = (int)pSubtitlesInfo.fileSize;
+ _args[1][0]["imdbid"] = args[1]["baseinfo"]["idmovieimdb"];
+ //_args[1][0]["movietimems"];
+ //_args[1][0]["moviefps"];
+ _args[1][0]["moviefilename"] = pSubtitlesInfo.fileName + "." + pSubtitlesInfo.fileExtension;
+ if (!xmlrpc->execute("InsertMovieHash", _args, _result)) {
+ return SR_FAILED;
+ }
+ // REsult value is irrelevant
+ _result["data"]["accepted_moviehashes"];
+
+
+ //args[1]["baseinfo"]["moviereleasename"];
+ //args[1]["baseinfo"]["movieaka"];
+ //args[1]["baseinfo"]["sublanguageid"];
+ //args[1]["baseinfo"]["subauthorcomment"];
+ if (pSubtitlesInfo.hearingImpaired != -1) {
+ args[1]["baseinfo"]["hearingimpaired"] = pSubtitlesInfo.hearingImpaired;
+ }
+ //args[1]["baseinfo"]["highdefinition"];
+ //args[1]["baseinfo"]["automatictranslation"];
+
+ args[1]["cd1"]["subcontent"] = Base64::encode(StringGzipCompress(pSubtitlesInfo.fileContents));
+
+ if (!xmlrpc->execute("UploadSubtitles", args, result)) {
+ return SR_FAILED;
+ }
+ LOG(LOG_OUTPUT, (LPCSTR)result["data"]);
+
+ return SR_SUCCEEDED;
+ }
+ }
+ return SR_FAILED;
+}
+
+const std::set<std::string>& OpenSubtitles::Languages() const
+{
+ static std::once_flag initialized;
+ static std::set<std::string> result;
+
+ try {
+ std::call_once(initialized, [this]() {
+ if (!CheckInternetConnection()) {
+ throw LanguageDownloadException("No internet connection.");
+ }
+ XmlRpcValue args, res;
+ args = "en";
+ if (!xmlrpc->execute("GetSubLanguages", args, res)) {
+ throw LanguageDownloadException("Failed to execute xmlrpc command.");
+ }
+ if (res["data"].getType() != XmlRpcValue::Type::TypeArray) {
+ throw LanguageDownloadException("Response is not an array.");
+ }
+
+ auto& data = res["data"];
+ int count = data.size();
+ for (int i = 0; i < count; ++i) {
+#ifdef _DEBUG
+ // Validate if language code conversion is in sync with OpenSubtitles database.
+ std::string subLanguageID = data[i]["SubLanguageID"];
+ std::string ISO6391 = data[i]["ISO639"];
+ ASSERT(!ISO6391.empty());
+ ASSERT(!subLanguageID.empty());
+ ASSERT(ISOLang::ISO6391To6392(ISO6391.c_str()) == subLanguageID.c_str());
+ ASSERT(ISOLang::ISO6392To6391(subLanguageID.c_str()) == ISO6391.c_str());
+ //std::string languageName = data[i]["LanguageName"];
+ //ASSERT(ISO639XToLanguage(ISO6391.c_str()) == languageName.c_str());
+ //ASSERT(ISO639XToLanguage(subLanguageID.c_str()) == languageName.c_str());
+#endif
+ result.emplace(data[i]["ISO639"]);
+ }
+ });
+ } catch (const LanguageDownloadException& e) {
+ UNREFERENCED_PARAMETER(e);
+ LOG(LOG_ERROR, e.what());
+ }
+ return result;
+}
+
+bool OpenSubtitles::NeedLogin()
+{
+ // return true to call Login() or false to skip Login()
+ if (!token.valid()) {
+ return true;
+ }
+
+ XmlRpcValue args, result;
+ args[0] = token;
+ if (!xmlrpc->execute("NoOperation", args, result)) {
+ return false;
+ }
+
+ if ((result["status"].getType() == XmlRpcValue::Type::TypeString) && (result["status"] == std::string("200 OK"))) {
+ return false;
+ }
+
+ return true;
+}
+
+
+/******************************************************************************
+** SubDB
+******************************************************************************/
+
+SRESULT SubDB::Hash(SubtitlesInfo& pFileInfo)
+{
+ std::vector<BYTE> buffer(2 * PROBE_SIZE);
+ if (pFileInfo.pAsyncReader) {
+ UINT64 position = 0;
+ pFileInfo.pAsyncReader->SyncRead(position, PROBE_SIZE, (BYTE*)&buffer[0]);
+ position = std::max((UINT64)0, (UINT64)(pFileInfo.fileSize - PROBE_SIZE));
+ pFileInfo.pAsyncReader->SyncRead(position, PROBE_SIZE, (BYTE*)&buffer[PROBE_SIZE]);
+ } else {
+ CFile file;
+ CFileException fileException;
+ if (file.Open(CString(pFileInfo.filePath.c_str()),
+ CFile::modeRead | CFile::osSequentialScan | CFile::shareDenyNone | CFile::typeBinary,
+ &fileException)) {
+ file.Read(&buffer[0], PROBE_SIZE);
+ file.Seek(std::max((UINT64)0, (UINT64)(pFileInfo.fileSize - PROBE_SIZE)), CFile::begin);
+ file.Read(&buffer[PROBE_SIZE], PROBE_SIZE);
+ }
+ }
+ pFileInfo.fileHash = StringToHash(std::string((char*)&buffer[0], buffer.size()), CALG_MD5);
+ LOG(LOG_OUTPUT, pFileInfo.fileHash.c_str());
+ return SR_SUCCEEDED;
+}
+
+SRESULT SubDB::Search(const SubtitlesInfo& pFileInfo)
+{
+ SRESULT searchResult = SR_UNDEFINED;
+ std::string url(StringFormat("http://api.thesubdb.com/?action=search&hash=%s", pFileInfo.fileHash.c_str()));
+ LOG(LOG_INPUT, url.c_str());
+
+ std::string data;
+ searchResult = DownloadInternal(url, "", data);
+
+ if (!data.empty()) {
+ for (const auto& iter : StringTokenize(data, ",")) {
+ CheckAbortAndReturn();
+ if (CheckLanguage(iter)) {
+ SubtitlesInfo pSubtitlesInfo;
+ pSubtitlesInfo.id = pFileInfo.fileHash;
+ pSubtitlesInfo.fileExtension = "srt";
+ pSubtitlesInfo.fileName = pFileInfo.fileName + GUESSED_NAME_POSTFIX;
+ pSubtitlesInfo.languageCode = iter;
+ pSubtitlesInfo.languageName = UTF16To8(ISOLang::ISO639XToLanguage(iter.c_str()));
+ pSubtitlesInfo.discNumber = 1;
+ pSubtitlesInfo.discCount = 1;
+ pSubtitlesInfo.title = pFileInfo.title;
+ Set(pSubtitlesInfo);
+ }
+ }
+ }
+
+ return searchResult;
+}
+
+SRESULT SubDB::Download(SubtitlesInfo& pSubtitlesInfo)
+{
+ std::string url(StringFormat("http://api.thesubdb.com/?action=download&hash=%s&language=%s", pSubtitlesInfo.id.c_str(), pSubtitlesInfo.languageCode.c_str()));
+ LOG(LOG_INPUT, url.c_str());
+ return DownloadInternal(url, "", pSubtitlesInfo.fileContents);
+}
+
+SRESULT SubDB::Upload(const SubtitlesInfo& pSubtitlesInfo)
+{
+#define MULTIPART_BOUNDARY "xYzZY"
+ std::string url(StringFormat("http://api.thesubdb.com/?action=upload&hash=%s", pSubtitlesInfo.fileHash.c_str()));
+ stringMap headers({
+ { "User-Agent", UserAgent() },
+ { "Content-Type", "multipart/form-data; boundary=" MULTIPART_BOUNDARY },
+ });
+
+ std::string content, data;
+ content += StringFormat("--%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", MULTIPART_BOUNDARY, "hash", pSubtitlesInfo.fileHash.c_str());
+ content += StringFormat("--%s\r\nContent-Disposition: form-data; name=\"%s\"; filename=\"%s.%s\"\r\nContent-Type: application/octet-stream\r\nContent-Transfer-Encoding: binary\r\n\r\n",
+ MULTIPART_BOUNDARY, "file", pSubtitlesInfo.fileHash.c_str(), "srt");
+ content += pSubtitlesInfo.fileContents;
+ content += StringFormat("\r\n--%s--\r\n", MULTIPART_BOUNDARY);
+
+ CheckAbortAndReturn();
+
+ DWORD dwStatusCode = NULL;
+ StringUpload(url, headers, content, data, FALSE, &dwStatusCode);
+
+ LOG(LOG_BOTH, url.c_str(), std::to_string(dwStatusCode).c_str());
+
+ switch (dwStatusCode) {
+ case 201:
+ return SR_SUCCEEDED; //'Uploaded': (HTTP/1.1 201 Created): If everything was OK, the HTTP status code 201 will be returned.
+ case 403:
+ return SR_EXISTS; //'Duplicated': (HTTP/1.1 403 Forbidden): If the subtitle file already exists in our database, the HTTP status code 403 will be returned.
+ case 400:
+ return SR_FAILED; //'Malformed': (HTTP/1.1 400 Bad Request): If the request was malformed, the HTTP status code 400 will be returned.
+ case 415:
+ return SR_FAILED; //'Invalid': (HTTP/1.1 415 Unsupported Media Type): If the subtitle file is not supported by our database, the HTTP status code 415 will be returned.
+ default:
+ return SR_UNDEFINED;
+ }
+}
+
+const std::set<std::string>& SubDB::Languages() const
+{
+ static std::once_flag initialized;
+ static std::set<std::string> result;
+ try {
+ std::call_once(initialized, [this]() {
+ if (!CheckInternetConnection()) {
+ throw LanguageDownloadException("No internet connection.");
+ }
+ std::string data;
+ if (DownloadInternal("http://api.thesubdb.com/?action=languages", "", data) != SR_SUCCEEDED) {
+ throw LanguageDownloadException("Failed to download language list.");
+ }
+ for (const auto& str : StringTokenize(data, ",")) {
+ result.emplace(str);
+ }
+ });
+ } catch (const LanguageDownloadException& e) {
+ UNREFERENCED_PARAMETER(e);
+ LOG(LOG_ERROR, e.what());
+ }
+ return result;
+}
+
+/******************************************************************************
+** podnapisi
+******************************************************************************/
+
+SRESULT podnapisi::Login(const std::string& sUserName, const std::string& sPassword)
+{
+ //TODO: implement
+ return SR_UNDEFINED;
+}
+
+/*
+UPDATED
+https://www.podnapisi.net/forum/viewtopic.php?f=62&t=26164#p212652
+RESULTS ------------------------------------------------
+"/sXML/1/" //Reply in XML format
+"/page//" //Return nth page of results
+SEARCH -------------------------------------------------
+"/sT/1/" //Type: -1=all, 0=movies, 1=series, don't specify for auto detection
+"/sAKA/1/" //Include movie title aliases
+"/sM//" //Movie id from www.omdb.si
+"/sK//" //Title url encoded text
+"/sY//" //Year number
+"/sTS//" //Season number
+"/sTE//" //Episode number
+"/sR//" //Release name url encoded text
+"/sJ/0/" //Languages (old integer IDs), comma delimited, 0=all
+"/sL/en/" //Languages in ISO ISO codes (exception are sr-latn and pt-br), comma delimited
+"/sEH//" //Exact hash match (OSH)
+"/sMH//" //Movie hash (OSH)
+SEARCH ADDITIONAL --------------------------------------
+"/sFT/0/" //Subtitles Format: 0=all, 1=MicroDVD, 2=SAMI, 3=SSA, 4=SubRip, 5=SubViewer 2.0, 6=SubViewer, 7=MPSub, 8=Advanced SSA, 9=DVDSubtitle, 10=TMPlayer, 11=MPlayer2
+"/sA/0/" //Search subtitles by user id, 0=all
+"/sI//" //Search subtitles by subtitle id
+SORTING ------------------------------------------------
+"/sS//" //Sorting field: movie, year, fps, language, downloads, cds, username, time, rating
+"/sO//" //Soring order: asc, desc
+FILTERS ------------------------------------------------
+"/sOE/1/" //Subtitles for extended edition only
+"/sOD/1/" //Subtitles suitable for DVD only
+"/sOH/1/" //Subtitles for high-definition video only
+"/sOI/1/" //Subtitles for hearing impaired only
+"/sOT/1/" //Technically correct only
+"/sOL/1/" //Grammatically correct only
+"/sOA/1/" //Author subtitles only
+"/sOCS/1/" //Only subtitles for a complete season
+UNKNOWN ------------------------------------------------
+"/sH//" //Search subtitles by video file hash ??? (not working for me)
+*/
+
+SRESULT podnapisi::Search(const SubtitlesInfo& pFileInfo)
+{
+ SRESULT searchResult = SR_UNDEFINED;
+ int page = 1, pages = 1, results = 0;
+ do {
+ CheckAbortAndReturn();
+
+ const auto languages = LanguagesISO6391();
+ std::string search(pFileInfo.title);
+ if (!pFileInfo.country.empty()) {
+ search += " " + pFileInfo.country;
+ }
+ search = std::regex_replace(search, std::regex(" and | *[!?&':] *", RegexFlags), " ");
+
+ std::string url("https://www.podnapisi.net/ppodnapisi/search");
+ url += "?sXML=1";
+ url += "&sAKA=1";
+ url += (!search.empty() ? "&sK=" + UrlEncode(search.c_str()) : "");
+ url += (pFileInfo.year != -1 ? "&sY=" + std::to_string(pFileInfo.year) : "");
+ url += (pFileInfo.seasonNumber != -1 ? "&sTS=" + std::to_string(pFileInfo.seasonNumber) : "");
+ url += (pFileInfo.episodeNumber != -1 ? "&sTE=" + std::to_string(pFileInfo.episodeNumber) : "");
+ url += "&sMH=" + pFileInfo.fileHash;
+ //url += "&sR=" + UrlEncode(pFileInfo.fileName.c_str());
+ url += (!languages.empty() ? "&sL=" + JoinContainer(languages, ",") : "");
+ url += "&page=" + std::to_string(page);
+ LOG(LOG_INPUT, url.c_str());
+
+ std::string data;
+ searchResult = DownloadInternal(url, "", data);
+
+ using namespace tinyxml2;
+
+ tinyxml2::XMLDocument dxml;
+ if (dxml.Parse(data.c_str()) == XML_SUCCESS) {
+
+ auto GetChildElementText = [&](XMLElement * pElement, const char* value) -> std::string {
+ std::string str;
+ XMLElement* pChildElement = pElement->FirstChildElement(value);
+ if (pChildElement != nullptr)
+ {
+ auto pText = pChildElement->GetText();
+ if (pText != nullptr) {
+ str = pText;
+ }
+ }
+ return str;
+ };
+
+ XMLElement* pRootElmt = dxml.FirstChildElement("results");
+ if (pRootElmt) {
+ XMLElement* pPaginationElmt = pRootElmt->FirstChildElement("pagination");
+ if (pPaginationElmt) {
+ page = atoi(GetChildElementText(pPaginationElmt, "current").c_str());
+ pages = atoi(GetChildElementText(pPaginationElmt, "count").c_str());
+ results = atoi(GetChildElementText(pPaginationElmt, "results").c_str());
+ }
+ // 30 results per page
+ if (page > 1) {
+ return SR_TOOMANY;
+ }
+
+ if (results > 0) {
+ XMLElement* pSubtitleElmt = pRootElmt->FirstChildElement("subtitle");
+
+ while (pSubtitleElmt) {
+ CheckAbortAndReturn();
+
+ SubtitlesInfo pSubtitlesInfo;
+
+ pSubtitlesInfo.id = GetChildElementText(pSubtitleElmt, "pid");
+ pSubtitlesInfo.title = HtmlSpecialCharsDecode(GetChildElementText(pSubtitleElmt, "title").c_str());
+
+ std::string year = GetChildElementText(pSubtitleElmt, "year");
+ pSubtitlesInfo.year = year.empty() ? -1 : atoi(year.c_str());
+
+ pSubtitlesInfo.url = GetChildElementText(pSubtitleElmt, "url");
+ std::string format = GetChildElementText(pSubtitleElmt, "format");
+ pSubtitlesInfo.fileExtension = (format == "SubRip" || format == "N/A") ? "srt" : format;
+
+ pSubtitlesInfo.languageCode = podnapisi_languages[atoi(GetChildElementText(pSubtitleElmt, "languageId").c_str())].code;
+ pSubtitlesInfo.languageName = GetChildElementText(pSubtitleElmt, "languageName");
+ pSubtitlesInfo.seasonNumber = atoi(GetChildElementText(pSubtitleElmt, "tvSeason").c_str());
+ pSubtitlesInfo.episodeNumber = atoi(GetChildElementText(pSubtitleElmt, "tvEpisode").c_str());
+ pSubtitlesInfo.discCount = atoi(GetChildElementText(pSubtitleElmt, "cds").c_str());
+ pSubtitlesInfo.discNumber = pSubtitlesInfo.discCount;
+
+ std::string flags = GetChildElementText(pSubtitleElmt, "flags");
+ pSubtitlesInfo.hearingImpaired = (flags.find("n") != std::string::npos) ? TRUE : FALSE;
+ pSubtitlesInfo.corrected = (flags.find("r") != std::string::npos) ? -1 : 0;
+ pSubtitlesInfo.downloadCount = atoi(GetChildElementText(pSubtitleElmt, "downloads").c_str());
+ pSubtitlesInfo.imdbid = GetChildElementText(pSubtitleElmt, "movieId");
+ pSubtitlesInfo.frameRate = atof(GetChildElementText(pSubtitleElmt, "fps").c_str());
+
+ XMLElement* pReleasesElem = pSubtitleElmt->FirstChildElement("releases");
+ if (pReleasesElem) {
+ XMLElement* pReleaseElem = pReleasesElem->FirstChildElement("release");
+
+ while (pReleaseElem) {
+ auto pText = pReleaseElem->GetText();
+
+ if (!pText) {
+ continue;
+ }
+
+ pSubtitlesInfo.releaseNames.emplace_back(pText);
+
+ if (pSubtitlesInfo.fileName.empty() || pFileInfo.fileName.find(pText) != std::string::npos) {
+ pSubtitlesInfo.fileName = pText;
+ pSubtitlesInfo.fileName += "." + pSubtitlesInfo.fileExtension;
+ }
+ pReleaseElem = pReleaseElem->NextSiblingElement();
+ }
+ }
+
+ if (pSubtitlesInfo.fileName.empty()) {
+ std::string str = pSubtitlesInfo.title;
+ if (!year.empty()) {
+ str += " " + year;
+ }
+ if (pSubtitlesInfo.seasonNumber > 0) {
+ str += StringFormat(" S%02d", pSubtitlesInfo.seasonNumber);
+ }
+ if (pSubtitlesInfo.episodeNumber > 0) {
+ str += StringFormat("%sE%02d", (pSubtitlesInfo.seasonNumber > 0) ? "" : " ", pSubtitlesInfo.episodeNumber);
+ }
+ str += GUESSED_NAME_POSTFIX;
+ pSubtitlesInfo.fileName = str;
+ }
+
+ Set(pSubtitlesInfo);
+ pSubtitleElmt = pSubtitleElmt->NextSiblingElement();
+ }
+ }
+ }
+ }
+ } while (page++ < pages);
+
+ return searchResult;
+}
+
+SRESULT podnapisi::Hash(SubtitlesInfo& pFileInfo)
+{
+ pFileInfo.fileHash = StringFormat("%016I64x", GenerateOSHash(pFileInfo));
+ LOG(LOG_OUTPUT, pFileInfo.fileHash.c_str());
+ return SR_SUCCEEDED;
+}
+
+SRESULT podnapisi::Download(SubtitlesInfo& pSubtitlesInfo)
+{
+ std::string url = StringFormat("https://www.podnapisi.net/subtitles/%s/download", pSubtitlesInfo.id.c_str());
+ LOG(LOG_INPUT, url.c_str());
+ return DownloadInternal(url, "", pSubtitlesInfo.fileContents);
+}
+
+const std::set<std::string>& podnapisi::Languages() const
+{
+ static std::once_flag initialized;
+ static std::set<std::string> result;
+
+ std::call_once(initialized, [this]() {
+ for (const auto& iter : podnapisi_languages) {
+ if (strlen(iter.code)) {
+ result.emplace(iter.code);
+ }
+ }
+ });
+ return result;
+}
+
+/******************************************************************************
+** titlovi
+******************************************************************************/
+
+/*
+ x-dev_api_id=
+ uiculture=hr,rs,si,ba,en,mk
+ language=hr,rs,sr,si,ba,en,mk
+ keyword=
+ year=
+ mt=numeric value representing type of subtitle (Movie / TV show / documentary 1, 2, 3)
+ season=numeric value representing season
+ episode=numeric value representing season episode
+ forcefilename=true (default is false) return direct download link
+*/
+
+SRESULT titlovi::Search(const SubtitlesInfo& pFileInfo)
+{
+ // Need to filter not supported languages, because their API returns .hr language otherwise.
+ auto selectedLanguages = LanguagesISO6391();
+ bool userSelectedLanguage = !selectedLanguages.empty();
+ const auto languagesIntersection = GetLanguagesIntersection(std::move(selectedLanguages));
+ std::string KEY = "WC1ERVYtREVTS1RPUF9maWUyYS1hMVJzYS1hSHc0UA==";
+ std::string url(StringFormat("http://api.titlovi.com/xml_get_api.ashx?x-dev_api_id=%s&uiculture=en&forcefilename=true", Base64::decode(KEY).c_str()));
+ url += "&mt=" + (pFileInfo.seasonNumber != -1 ? std::to_string(2) : std::to_string(1));
+ url += "&keyword=" + UrlEncode(pFileInfo.title.c_str());
+ url += (pFileInfo.seasonNumber != -1 ? "&season=" + std::to_string(pFileInfo.seasonNumber) : "");
+ url += (pFileInfo.episodeNumber != -1 ? "&episode=" + std::to_string(pFileInfo.episodeNumber) : "");
+ url += (pFileInfo.year != -1 ? "&year=" + std::to_string(pFileInfo.year) : "");
+ url += (userSelectedLanguage ? "&language=" + JoinContainer(languagesIntersection, ",") : "");
+ LOG(LOG_INPUT, url.c_str());
+
+ std::string data;
+ SRESULT searchResult = DownloadInternal(url, "", data);
+
+ tinyxml2::XMLDocument dxml;
+ if (dxml.Parse(data.c_str()) == tinyxml2::XMLError::XML_SUCCESS) {
+
+ auto GetChildElementText = [&](tinyxml2::XMLElement * pElement, const char* value) -> std::string {
+ std::string str;
+ auto pChildElement = pElement->FirstChildElement(value);
+
+ if (pChildElement != nullptr)
+ {
+ auto pText = pChildElement->GetText();
+ if (pText != nullptr) {
+ str = pText;
+ }
+ }
+ return str;
+ };
+
+ auto pRootElmt = dxml.FirstChildElement("subtitles");
+
+ if (pRootElmt) {
+ int num = pRootElmt->IntAttribute("resultsCount");
+
+ if (num > 0/* && num < 50*/) {
+ auto pSubtitleElmt = pRootElmt->FirstChildElement();
+
+ while (pSubtitleElmt) {
+ SubtitlesInfo pSubtitlesInfo;
+
+ pSubtitlesInfo.title = GetChildElementText(pSubtitleElmt, "title");
+ pSubtitlesInfo.languageCode = GetChildElementText(pSubtitleElmt, "language");
+
+ for (const auto& language : titlovi_languages) {
+ if (pSubtitlesInfo.languageCode == language.code) {
+ pSubtitlesInfo.languageCode = language.name;
+ }
+ }
+
+ pSubtitlesInfo.languageName = UTF16To8(ISOLang::ISO639XToLanguage(pSubtitlesInfo.languageCode.c_str()));
+ auto releaseNames = StringTokenize(GetChildElementText(pSubtitleElmt, "release"), "/");
+ pSubtitlesInfo.releaseNames = { releaseNames.begin(), releaseNames.end() };
+ pSubtitlesInfo.imdbid = GetChildElementText(pSubtitleElmt, "imdbId");
+ pSubtitlesInfo.frameRate = atof(GetChildElementText(pSubtitleElmt, "fps").c_str());
+ pSubtitlesInfo.year = atoi(GetChildElementText(pSubtitleElmt, "year").c_str());
+ pSubtitlesInfo.discNumber = atoi(GetChildElementText(pSubtitleElmt, "cd").c_str());
+ pSubtitlesInfo.discCount = pSubtitlesInfo.discNumber;
+ pSubtitlesInfo.downloadCount = atoi(GetChildElementText(pSubtitleElmt, "downloads").c_str());
+
+ auto pSubtitleChildElmt = pSubtitleElmt->FirstChildElement("urls");
+ if (pSubtitleChildElmt) {
+ auto pURLElement = pSubtitleChildElmt->FirstChildElement("url");
+ while (pURLElement) {
+ if (pURLElement->Attribute("what", "download")) {
+ pSubtitlesInfo.url = pURLElement->GetText();
+ }
+ if (pURLElement->Attribute("what", "direct")) {
+ pSubtitlesInfo.id = pURLElement->GetText();
+ }
+ pURLElement = pURLElement->NextSiblingElement();
+ }
+ }
+
+ if ((pSubtitleChildElmt = pSubtitleElmt->FirstChildElement("TVShow")) != nullptr) {
+ pSubtitlesInfo.seasonNumber = atoi(GetChildElementText(pSubtitleChildElmt, "season").c_str());
+ pSubtitlesInfo.episodeNumber = atoi(GetChildElementText(pSubtitleChildElmt, "episode").c_str());
+ }
+
+ pSubtitlesInfo.fileName = pSubtitlesInfo.title + " " + std::to_string(pSubtitlesInfo.year);
+ if (pSubtitlesInfo.seasonNumber > 0) {
+ pSubtitlesInfo.fileName += StringFormat(" S%02d", pSubtitlesInfo.seasonNumber);
+ }
+ if (pSubtitlesInfo.episodeNumber > 0) {
+ pSubtitlesInfo.fileName += StringFormat("%sE%02d", (pSubtitlesInfo.seasonNumber > 0) ? "" : " ", pSubtitlesInfo.episodeNumber);
+ }
+
+ bool found = false;
+ for (const auto& str : pSubtitlesInfo.releaseNames) {
+ if (pFileInfo.fileName.find(str) != std::string::npos) {
+ pSubtitlesInfo.fileName += " " + str;
+ found = true;
+ break;
+ }
+ }
+
+ if (!found && !pSubtitlesInfo.releaseNames.empty()) {
+ pSubtitlesInfo.fileName += " " + pSubtitlesInfo.releaseNames.front();
+ }
+ pSubtitlesInfo.fileName += GUESSED_NAME_POSTFIX;
+
+ Set(pSubtitlesInfo);
+ pSubtitleElmt = pSubtitleElmt->NextSiblingElement();
+ }
+ }
+ }
+ }
+ return searchResult;
+}
+
+SRESULT titlovi::Download(SubtitlesInfo& pSubtitlesInfo)
+{
+ LOG(LOG_INPUT, pSubtitlesInfo.id.c_str());
+ return DownloadInternal(pSubtitlesInfo.id, "", pSubtitlesInfo.fileContents);
+}
+
+const std::set<std::string>& titlovi::Languages() const
+{
+ static std::once_flag initialized;
+ static std::set<std::string> result;
+
+ std::call_once(initialized, [this]() {
+ for (const auto& iter : titlovi_languages) {
+ if (strlen(iter.name)) {
+ result.emplace(iter.name);
+ }
+ }
+ });
+ return result;
+}
+
+/******************************************************************************
+** ysubs
+******************************************************************************/
+
+SRESULT ysubs::Search(const SubtitlesInfo& pFileInfo)
+{
+ SRESULT searchResult = SR_UNDEFINED;
+ using namespace rapidjson;
+
+ if (pFileInfo.year && pFileInfo.seasonNumber == -1 && pFileInfo.episodeNumber == -1) {
+ std::string urlApi(StringFormat("https://yts.ag/api/v2/list_movies.json?query_term=%s", UrlEncode(pFileInfo.title.c_str())));
+ LOG(LOG_INPUT, urlApi.c_str());
+
+ std::string data;
+ searchResult = DownloadInternal(urlApi, "", data);
+
+ Document d;
+ if (d.ParseInsitu(&data[0]).HasParseError()) {
+ return SR_FAILED;
+ }
+
+ auto root = d.FindMember("data");
+ if (root != d.MemberEnd()) {
+ auto iter = root->value.FindMember("movies");
+ if ((iter != root->value.MemberEnd()) && (iter->value.IsArray())) {
+ std::set<std::string> imdb_ids;
+ for (auto elem = iter->value.Begin(); elem != iter->value.End(); ++elem) {
+ std::string imdb = elem->FindMember("imdb_code")->value.GetString();
+ if (imdb_ids.find(imdb) == imdb_ids.end()) {
+ imdb_ids.insert(imdb);
+
+ std::string urlSubs(StringFormat("http://api.ysubs.com/subs/%s", imdb.c_str()));
+ LOG(LOG_INPUT, urlSubs.c_str());
+
+ std::string data1;
+ searchResult = DownloadInternal(urlSubs, "", data1);
+ Document d1;
+ if (d1.ParseInsitu(&data1[0]).HasParseError()) {
+ return SR_FAILED;
+ }
+
+ auto iter1 = d1.FindMember("subs");
+ if (iter1 != d1.MemberEnd()) {
+ iter1 = iter1->value.FindMember(imdb.c_str());
+ if (iter1 != d1.MemberEnd()) {
+ for (auto elem1 = iter1->value.MemberBegin(); elem1 != iter1->value.MemberEnd(); ++elem1) {
+ std::string lang = elem1->name.GetString();
+ std::string lang_code;
+ for (const auto& language : ysubs_languages) {
+ if (lang == language.name) {
+ lang_code = language.code;
+ }
+ }
+ if (CheckLanguage(lang_code)) {
+ for (auto elem2 = elem1->value.Begin(); elem2 != elem1->value.End(); ++elem2) {
+ SubtitlesInfo pSubtitlesInfo;
+
+ pSubtitlesInfo.title = elem->FindMember("title")->value.GetString();
+ pSubtitlesInfo.languageCode = lang_code;
+ pSubtitlesInfo.languageName = UTF16To8(ISOLang::ISO639XToLanguage(pSubtitlesInfo.languageCode.c_str()));
+ pSubtitlesInfo.releaseNames.emplace_back("YIFY");
+ pSubtitlesInfo.imdbid = imdb;
+ pSubtitlesInfo.year = elem->FindMember("year")->value.GetInt();
+ pSubtitlesInfo.discNumber = 1;
+ pSubtitlesInfo.discCount = 1;
+
+ pSubtitlesInfo.url = "http://www.yifysubtitles.com/movie-imdb/" + imdb;
+ std::string str = elem2->FindMember("url")->value.GetString();
+ pSubtitlesInfo.id = "http://www.yifysubtitles.com" + str;
+ pSubtitlesInfo.hearingImpaired = elem2->FindMember("hi")->value.GetInt();
+ pSubtitlesInfo.corrected = elem2->FindMember("rating")->value.GetInt();
+
+ pSubtitlesInfo.fileName = pFileInfo.fileName;
+ pSubtitlesInfo.fileName += GUESSED_NAME_POSTFIX;
+
+ Set(pSubtitlesInfo);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return searchResult;
+}
+
+SRESULT ysubs::Download(SubtitlesInfo& pSubtitlesInfo)
+{
+ LOG(LOG_INPUT, pSubtitlesInfo.id.c_str());
+ return DownloadInternal(pSubtitlesInfo.id, "", pSubtitlesInfo.fileContents);
+}
+
+const std::set<std::string>& ysubs::Languages() const
+{
+ static std::once_flag initialized;
+ static std::set<std::string> result;
+
+ std::call_once(initialized, [this]() {
+ for (const auto& iter : ysubs_languages) {
+ if (strlen(iter.code)) {
+ result.emplace(iter.code);
+ }
+ }
+ });
+ return result;
+}
+
+/******************************************************************************
+** Napisy24
+******************************************************************************/
+
+SRESULT Napisy24::Search(const SubtitlesInfo& pFileInfo)
+{
+ stringMap headers({
+ { "User-Agent", UserAgent() },
+ { "Content-Type", "application/x-www-form-urlencoded" }
+ });
+ std::string data;
+ std::string url = "http://napisy24.pl/run/CheckSubAgent.php";
+ std::string content = "postAction=CheckSub";
+ content += "&ua=mpc-hc";
+ content += "&ap=mpc-hc";
+ content += "&fh=" + pFileInfo.fileHash;
+ content += "&fs=" + std::to_string(pFileInfo.fileSize);
+ content += "&fn=" + pFileInfo.fileName;
+
+ LOG(LOG_INPUT, std::string(url + "?" + content).c_str());
+ StringUpload(url, headers, content, data);
+
+ if (data.length() < 4) {
+ return SR_FAILED;
+ }
+
+ // Get status
+ std::string status = data.substr(0, 4);
+ if (status != "OK-2" && status != "OK-3") {
+ return SR_FAILED;
+ }
+ data.erase(0, 5);
+
+ size_t infoEnd = data.find("||");
+ if (infoEnd == std::string::npos) {
+ return SR_FAILED;
+ }
+
+ // Search already returns whole file
+ SubtitlesInfo subtitleInfo;
+ subtitleInfo.fileContents = data.substr(infoEnd + 2);
+ subtitleInfo.languageCode = "pl"; // API doesn't support other languages yet.
+
+ // Remove subtitle data
+ data.erase(infoEnd);
+
+ std::unordered_map<std::string, std::string> subtitleInfoMap;
+ std::istringstream stringStream(data);
+ std::string entry;
+ while (std::getline(stringStream, entry, '|')) {
+ auto delimPos = entry.find(':');
+ if (delimPos == std::string::npos) {
+ continue;
+ }
+ std::string key = entry.substr(0, delimPos);
+ if (entry.length() <= delimPos + 1) {
+ continue;
+ }
+ std::string value = entry.substr(delimPos + 1);
+ subtitleInfoMap[key] = value;
+ }
+
+ subtitleInfo.url = "http://napisy24.pl/komentarze?napisId=" + subtitleInfoMap["napisId"];
+ subtitleInfo.title = subtitleInfoMap["ftitle"];
+ subtitleInfo.imdbid = subtitleInfoMap["fimdb"];
+
+ auto it = subtitleInfoMap.find("fyear");
+ if (it != subtitleInfoMap.end()) {
+ subtitleInfo.year = std::stoi(it->second);
+ }
+
+ it = subtitleInfoMap.find("fps");
+ if (it != subtitleInfoMap.end()) {
+ subtitleInfo.frameRate = std::stod(it->second);
+ }
+
+ int hour, minute, second;
+ if (sscanf_s(subtitleInfoMap["time"].c_str(), "%02d:%02d:%02d", &hour, &minute, &second) == 3) {
+ subtitleInfo.lengthMs = ((hour * 60 + minute) * 60 + second) * 1000;
+ }
+
+ subtitleInfo.fileName = pFileInfo.fileName + "." + pFileInfo.fileExtension;
+ subtitleInfo.discNumber = 1;
+ subtitleInfo.discCount = 1;
+
+ Set(subtitleInfo);
+
+ return SR_SUCCEEDED;
+}
+
+SRESULT Napisy24::Hash(SubtitlesInfo& pFileInfo)
+{
+ pFileInfo.fileHash = StringFormat("%016I64x", GenerateOSHash(pFileInfo));
+ LOG(LOG_OUTPUT, pFileInfo.fileHash.c_str());
+ return SR_SUCCEEDED;
+}
+
+SRESULT Napisy24::Download(SubtitlesInfo& subtitlesInfo)
+{
+ LOG(LOG_INPUT, subtitlesInfo.url.c_str());
+ return subtitlesInfo.fileContents.empty() ? SR_FAILED : SR_SUCCEEDED;
+}
+
+const std::set<std::string>& Napisy24::Languages() const
+{
+ static std::set<std::string> result = {"pl"};
+ return result;
+}
diff --git a/src/mpc-hc/SubtitlesProvider.h b/src/mpc-hc/SubtitlesProvider.h
new file mode 100644
index 000000000..ebe9e628d
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProvider.h
@@ -0,0 +1,139 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "SubtitlesProviders.h"
+#include "VersionInfo.h"
+
+#include "XmlRpc4Win/TimXmlRpc.h"
+
+#define DEFINE_SUBTITLESPROVIDER_BEGIN(P, U, I, F) \
+class P final : public SubtitlesProvider { \
+public: \
+ P(SubtitlesProviders* pOwner) \
+ : SubtitlesProvider(pOwner) { \
+ Initialize(); \
+ } \
+ ~P() { Uninitialize(); } \
+ P(P const&) = delete; \
+ P& operator=(P const&) = delete; \
+ static std::shared_ptr<P> Create(SubtitlesProviders* pOwner) { \
+ return std::make_shared<P>(pOwner); \
+ } \
+private: \
+ virtual std::string Name() const override { return #P; } \
+ virtual std::string Url() const override { return U; } \
+ virtual const std::set<std::string>& Languages() const override; \
+ virtual bool Flags(DWORD dwFlags) const override { return (dwFlags & (F)) == dwFlags; } \
+ virtual int Icon() const override { return I; } \
+private: \
+ virtual SRESULT Search(const SubtitlesInfo& pFileInfo) override; \
+ virtual SRESULT Download(SubtitlesInfo& pSubtitlesInfo) override;
+#define DEFINE_SUBTITLESPROVIDER_END \
+};
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(OpenSubtitles, "http://www.opensubtitles.org", IDI_OPENSUBTITLES, SPF_LOGIN | SPF_HASH | SPF_UPLOAD)
+void Initialize() override;
+bool NeedLogin() override;
+SRESULT Login(const std::string& sUserName, const std::string& sPassword) override;
+SRESULT LogOut() override;
+SRESULT Hash(SubtitlesInfo& pFileInfo) override;
+SRESULT Upload(const SubtitlesInfo& pSubtitlesInfo) override;
+std::unique_ptr<XmlRpcClient> xmlrpc;
+XmlRpcValue token;
+DEFINE_SUBTITLESPROVIDER_END
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(SubDB, "http://api.thesubdb.com", IDI_SUBDB, SPF_HASH | SPF_UPLOAD)
+SRESULT Hash(SubtitlesInfo& pFileInfo) override;
+SRESULT Upload(const SubtitlesInfo& pSubtitlesInfo) override;
+std::string UserAgent() const override
+{
+ return SubtitlesProvidersUtils::StringFormat("SubDB/1.0 (MPC-HC/%s; http://mpc-hc.org)",
+ VersionInfo::GetVersionString());
+}
+DEFINE_SUBTITLESPROVIDER_END
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(podnapisi, "https://www.podnapisi.net", IDI_PODNAPISI, SPF_SEARCH)
+SRESULT Login(const std::string& sUserName, const std::string& sPassword) override;
+SRESULT Hash(SubtitlesInfo& pFileInfo) override;
+DEFINE_SUBTITLESPROVIDER_END
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(titlovi, "http://www.titlovi.com", IDI_TITLOVI, SPF_SEARCH)
+DEFINE_SUBTITLESPROVIDER_END
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(ysubs, "http://www.yifysubtitles.com", IDI_YSUBS, SPF_SEARCH)
+DEFINE_SUBTITLESPROVIDER_END
+
+DEFINE_SUBTITLESPROVIDER_BEGIN(Napisy24, "http://napisy24.pl/", IDI_N24, SPF_HASH | SPF_SEARCH)
+SRESULT Hash(SubtitlesInfo& pFileInfo) override;
+DEFINE_SUBTITLESPROVIDER_END
+
+static const struct {
+ const char* code;
+ const char* name;
+} podnapisi_languages[] = {
+ { /* 0*/ "", "" }, { /* 1*/ "sl", "Slovenian" }, { /* 2*/ "en", "English" },
+ { /* 3*/ "no", "Norwegian" }, { /* 4*/ "ko", "Korean" }, { /* 5*/ "de", "German" },
+ { /* 6*/ "is", "Icelandic" }, { /* 7*/ "cs", "Czech" }, { /* 8*/ "fr", "French" },
+ { /* 9*/ "it", "Italian" }, { /*10*/ "bs", "Bosnian" }, { /*11*/ "ja", "Japanese" },
+ { /*12*/ "ar", "Arabic" }, { /*13*/ "ro", "Romanian" }, { /*14*/ "es", "Argentino" },
+ { /*15*/ "hu", "Hungarian" }, { /*16*/ "el", "Greek" }, { /*17*/ "zh", "Chinese" },
+ { /*18*/ "", "" }, { /*19*/ "lt", "Lithuanian" }, { /*20*/ "et", "Estonian" },
+ { /*21*/ "lv", "Latvian" }, { /*22*/ "he", "Hebrew" }, { /*23*/ "nl", "Dutch" },
+ { /*24*/ "da", "Danish" }, { /*25*/ "sv", "Swedish" }, { /*26*/ "pl", "Polish" },
+ { /*27*/ "ru", "Russian" }, { /*28*/ "es", "Spanish" }, { /*29*/ "sq", "Albanian" },
+ { /*30*/ "tr", "Turkish" }, { /*31*/ "fi", "Finnish" }, { /*32*/ "pt", "Portuguese" },
+ { /*33*/ "bg", "Bulgarian" }, { /*34*/ "", "" }, { /*35*/ "mk", "Macedonian" },
+ { /*36*/ "sr", "Serbian" }, { /*37*/ "sk", "Slovak" }, { /*38*/ "hr", "Croatian" },
+ { /*39*/ "", "" }, { /*40*/ "zh", "Mandarin" }, { /*41*/ "", "" },
+ { /*42*/ "hi", "Hindi" }, { /*43*/ "", "" }, { /*44*/ "th", "Thai" },
+ { /*45*/ "", "" }, { /*46*/ "uk", "Ukrainian" }, { /*47*/ "sr", "Serbian (Cyrillic)" },
+ { /*48*/ "pb", "Brazilian" }, { /*49*/ "ga", "Irish" }, { /*50*/ "be", "Belarus" },
+ { /*51*/ "vi", "Vietnamese" }, { /*52*/ "fa", "Farsi" }, { /*53*/ "ca", "Catalan" },
+ { /*54*/ "id", "Indonesian" }, { /*55*/ "ms", "Malay" }, { /*56*/ "si", "Sinhala" },
+ { /*57*/ "kl", "Greenlandic" }, { /*58*/ "kk", "Kazakh" }, { /*59*/ "bn", "Bengali" },
+};
+
+static const struct {
+ const char* code;
+ const char* name;
+} titlovi_languages[] = {
+ { "hr", "hr" }, { "sr", "sr" }, { "rs", "sr" }, { "si", "sl" }, { "ba", "bs" }, { "en", "en" }, { "mk", "mk" },
+};
+
+static const struct {
+ const char* code;
+ const char* name;
+} ysubs_languages[] = {
+ { "sq", "albanian" }, { "ar", "arabic" }, { "bn", "bengali" },
+ { "pb", "brazilian-portuguese" }, { "bg", "bulgarian" }, { "zh", "chinese" },
+ { "hr", "croatian" }, { "cs", "czech" }, { "da", "danish" },
+ { "nl", "dutch" }, { "en", "english" }, { "fa", "farsi-persian" },
+ { "fi", "finnish" }, { "fr", "french" }, { "de", "german" },
+ { "el", "greek" }, { "he", "hebrew" }, { "hu", "hungarian" },
+ { "id", "indonesian" }, { "it", "italian" }, { "ja", "japanese" },
+ { "ko", "korean" }, { "lt", "lithuanian" }, { "mk", "macedonian" },
+ { "ms", "malay" }, { "no", "norwegian" }, { "pl", "polish" },
+ { "pt", "portuguese" }, { "ro", "romanian" }, { "ru", "russian" },
+ { "sr", "serbian" }, { "sl", "slovenian" }, { "es", "spanish" },
+ { "sv", "swedish" }, { "th", "thai" }, { "tr", "turkish" },
+ { "ur", "urdu" }, { "vi", "vietnamese" },
+};
diff --git a/src/mpc-hc/SubtitlesProviders.cpp b/src/mpc-hc/SubtitlesProviders.cpp
new file mode 100644
index 000000000..a37dd308e
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProviders.cpp
@@ -0,0 +1,932 @@
+/*
+ * (C) 2016-2017 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "SubtitlesProviders.h"
+#include "MainFrm.h"
+#include "mplayerc.h"
+#include "PathUtils.h"
+#include "Logger.h"
+#include <wininet.h>
+
+#if USE_STATIC_MEDIAINFO
+#include "MediaInfo/MediaInfo.h"
+using namespace MediaInfoLib;
+#define MediaInfo_int64u ZenLib::int64u
+#else
+#include "MediaInfoDLL/MediaInfoDLL.h"
+using namespace MediaInfoDLL;
+#endif
+
+using namespace SubtitlesProvidersUtils;
+
+/******************************************************************************
+** SubtitlesInfo
+******************************************************************************/
+
+void SubtitlesInfo::Download(bool bActivate)
+{
+ if (fileProvider) {
+ fileProvider->Providers().Download(*this, bActivate);
+ }
+}
+
+void SubtitlesInfo::OpenUrl() const
+{
+ if (!url.empty()) {
+ ShellExecute((HWND)AfxGetMyApp()->GetMainWnd(), _T("open"), UTF8To16(url.c_str()), nullptr, nullptr, SW_SHOWDEFAULT);
+ }
+}
+
+
+#define RE_ITE(cond, re_true, re_false) "(?(" cond ")" re_true "|" re_false ")"
+#define RE_IT(cond, re_true) "(?(" cond ")" re_true ")"
+#define RE_O(expr) expr "?"
+#define RE_CG(expr) "(" expr ")"
+#define RE_OCG(expr) RE_O(RE_CG(expr))
+#define RE_NCG(expr) "(?:" expr ")"
+#define RE_ONCG(expr) RE_O(RE_NCG(expr))
+#define RE_PLA(cond, expr) "(?=" cond ")" expr
+#define RE_NLA(cond, expr) "(?!" cond ")" expr
+
+
+#define REGEX_DEAD \
+ "[-\\[('*:;.,_ /!@#$%?)\\]]"
+
+#define REGEX_NOTDEAD \
+ "[^-\\[('*:;.,_ /!@#$%?)\\]\\\\]"
+
+#define REGEX_CAPTURE_TITLE \
+ "([^\\\\]*?)(?:" REGEX_DEAD "+(AU|CA|FR|JP|UK|US))??" REGEX_DEAD "+"
+
+#define REGEX_YEAR \
+ "\\d{4}"
+
+#define REGEX_SEASONEPISODE \
+ "S\\d{1,2}" RE_ONCG("E\\d{1,2}" RE_ONCG(RE_O(REGEX_DEAD) "E\\d{1,2}")) \
+ "|E\\d{1,2}" RE_ONCG(RE_O(REGEX_DEAD) "E\\d{1,2}") \
+ "|\\d{1,2}[x#]\\d{1,2}" \
+ "|\\d{3}" \
+ "|Part" REGEX_DEAD "*\\d{1,2}" \
+ "|" RE_ONCG("Season|Series" RE_O(REGEX_DEAD) "\\d{1,2}" REGEX_DEAD) "\\d{1,2}of\\d{1,2}"
+
+#define REGEX_CAPTURE_SEASONEPISODE \
+ "S(\\d{1,2})" RE_ONCG("E(\\d{1,2})" RE_ONCG(RE_O(REGEX_DEAD) "E\\d{1,2}")) \
+ "|E(\\d{1,2})" RE_ONCG(RE_O(REGEX_DEAD) "E\\d{1,2}") \
+ "|(\\d{1,2})[x#](\\d{1,2})" \
+ "|(\\d)(\\d{2})" \
+ "|Part" REGEX_DEAD "*()(\\d{1,2})" \
+ "|" RE_ONCG("Season|Series" RE_O(REGEX_DEAD) "(\\d{1,2})" REGEX_DEAD) "(\\d{1,2})of\\d{1,2}"
+
+#define REGEX_CAPTURE_TITLE2 \
+ "(?:([^\\\\]+?)??" REGEX_DEAD "+)??"
+//"(?:([^\\\\]+?)"REGEX_DEAD "+)?"
+
+#define REGEX_RESOLUTION \
+ "(?:360|480|576|720|1080|2160)[pi]?"
+
+#define REGEX_FORMAT \
+ "HD-?Rip|HD-?DVD(?:-?Rip)?" \
+ "|HD-?TV|PD-?TV|DVTV|DVB(?:-?Rip)?|TV-?Rip" \
+ "|B[DR]Rip|Blu-?Ray" \
+ "|DVD-?(?:Rip|ivX)?|VIDEO-TS" \
+ "|DVD-?SCR|SCREENER" \
+ "|WEB-?DL|WEB-?Rip" \
+ "|VHS" \
+ "|CAM|TS" \
+ "|R5(?:[-._ ]?LiNE)?"
+
+#define REGEX_AUDIOCODEC \
+ "AC3|DTS(?:[-._ ]?ES)?|He-AAC|AAC-He|AAC"
+
+#define REGEX_VIDEOCODEC \
+ "XviD|DivX|DVDivX|[hx][-._ ]?26[45]|HEVC|Rv10|Mpeg2"
+
+#define REGEX_CAPTURE_RELEASEGROUP \
+ "(" REGEX_NOTDEAD "+)[\\[(-._ )\\]\\\\]+"
+
+#define REGEX_CAPTURE_LANGUAGE \
+ "(?:(" REGEX_NOTDEAD "+)[\\[(-._ )\\]\\\\]+)?"
+
+#define REGEX_CAPTURE_DISC \
+ "(?:CD|DIS[CK])[-._ ]?(\\d)" REGEX_DEAD "+"
+
+#define REGEX_IGNORE \
+ "(?:DD)?5[-._ ]1|[AS]E|[WF]S|\\d{3}MB|5CH|AUDIO[-._ ]?FIXED|CHRONO|COLORIZED|DC|DUAL[-._ ]?AUDIO|DUBBED|DUPE|DVD[-._ ]?[59]|EXTENDED|FESTIVAL|FINAL|INTERNAL|LIMITED|NFO|PROPER|RATED|READ|REAL|REMASTERED|REMUX|REPACK|RERIP|R[1-6]|RETAIL|RETORRENT|S?TV|SUBBED|THEATRICAL|UNCUT|UNRATED|MPEG4"
+
+#define REGEX_CAPTURE_HEARINGIMPAIRED \
+ REGEX_DEAD "(HI)" REGEX_DEAD ".*(srt|idx|sub|ssa)$"
+
+#define REGEX_CAPTURE_MEDIAEXTENSIONS \
+ REGEX_DEAD "(3g2|3gp2?|asf|avi|divx|flv|m2ts|m4v|mk[2av]|mov|mp4a?|mpe?g|og[gvm]|qt|ram?|rm|rmvb|ts|wav|webm|wm[av])$"
+
+#define REGEX_CAPTURE_SUBTITLESEXTENSION \
+ REGEX_DEAD "(srt|idx|sub|ssa)$"
+
+#define REGEX_ADDICT7ED_LANGUAGE \
+ "Albanian|Arabic|Armenian|Azerbaijani|Bengali|Bosnian|Bulgarian|" + UTF16To8(_T("Català")) + "|Chinese \\(Simplified\\)|Chinese \\(Traditional\\)|Croatian|Czech|Danish|Dutch|English|Euskera|Finnish|French|Galego|German|Greek|Hebrew|Hungarian|Indonesian|Italian|Japanese|Korean|Macedonian|Malay|Norwegian|Persian|Polish|Portuguese|Portuguese \\(Brazilian\\)|Romanian|Russian|Serbian \\(Cyrillic\\)|Serbian \\(Latin\\)|Slovak|Slovenian|Spanish|Spanish \\(Latin America\\)|Spanish \\(Spain\\)|Swedish|Thai|Turkish|Urainian|Vietnamese"
+
+#define REGEX_ADDICT7ED_CORRECTED \
+ "C[.]"
+
+#define REGEX_ADDICT7ED_HEARINGIMPAIRED \
+ "HI[.]"
+
+#define REGEX_ADDICT7ED_VERSION \
+ "(?:updated|orig)[.]"
+
+#define REGEX_ADDICT7ED_SIGNATURE \
+ "Addic[t7]ed[.]com"
+
+
+#define REGEX_PLA(expr, group) "(?=(" expr "))\\" #group REGEX_DEAD "+"
+#define REGEX_OPLA(expr, group) "(?:(?=(" expr "))\\" #group REGEX_DEAD "+)?"
+#define REGEX_CG(expr) "(" expr ")" REGEX_DEAD "+"
+#define REGEX_OCG(expr) RE_ONCG(RE_CG(expr) REGEX_DEAD "+")
+#define REGEX_NCG(expr) "(?:" expr ")" REGEX_DEAD "+"
+
+#define REGEX_ONCG(expr) "(?:" REGEX_NCG(expr) ")?"
+#define REGEX_ORNCG(expr) "(?:(?:" REGEX_NCG(expr) ")+)?"
+
+static const std::regex regex_pattern[] = {
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_TITLE REGEX_ORNCG(REGEX_IGNORE)
+ RE_ONCG(
+ RE_NCG(REGEX_CG(REGEX_YEAR) REGEX_OCG(REGEX_SEASONEPISODE) "|" REGEX_CG(REGEX_SEASONEPISODE))
+ REGEX_ORNCG(REGEX_IGNORE) REGEX_CAPTURE_TITLE2
+ )
+ RE_NCG(REGEX_CG(REGEX_RESOLUTION) "|" REGEX_CG(REGEX_FORMAT) "|" REGEX_CG(REGEX_AUDIOCODEC) "|" REGEX_CG(REGEX_VIDEOCODEC) "|" REGEX_NCG(REGEX_IGNORE)) "+"
+ REGEX_CAPTURE_RELEASEGROUP
+ //REGEX_CAPTURE_LANGUAGE
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_TITLE
+ RE_NCG(REGEX_CG(REGEX_YEAR) REGEX_OCG(REGEX_SEASONEPISODE) "|" REGEX_CG(REGEX_SEASONEPISODE))
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_SEASONEPISODE
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_DISC
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_HEARINGIMPAIRED
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(
+ "([^\\\\]+?)(?: (AU|CA|FR|JP|UK|US))?(?: [(](\\d{4})[)])? - (\\d{1,2})x(\\d{1,2}) - ([^.]+?)[.](.+?)[.]" REGEX_CG(REGEX_ADDICT7ED_LANGUAGE) RE_OCG(REGEX_ADDICT7ED_HEARINGIMPAIRED) RE_OCG(REGEX_ADDICT7ED_CORRECTED) REGEX_ADDICT7ED_VERSION REGEX_ADDICT7ED_SIGNATURE
+ , RegexFlags),
+ //--------------------------------------
+ std::regex(REGEX_DEAD "+", RegexFlags),
+
+ //--------------------------------------
+ //--------------------------------------
+ std::regex(
+ REGEX_CAPTURE_TITLE
+ RE_ONCG(
+ RE_NCG(
+ REGEX_PLA(REGEX_YEAR, 2) REGEX_OPLA(REGEX_SEASONEPISODE, 3)
+ "|" REGEX_PLA(REGEX_SEASONEPISODE, 4)
+ )
+ REGEX_CAPTURE_TITLE2
+ )
+ RE_NCG(
+ REGEX_PLA(REGEX_RESOLUTION, 6)
+ "|" REGEX_PLA(REGEX_FORMAT, 7)
+ "|" REGEX_PLA(REGEX_AUDIOCODEC, 8)
+ "|" REGEX_PLA(REGEX_VIDEOCODEC, 9)
+ ) "+"
+ REGEX_CAPTURE_RELEASEGROUP
+ , RegexFlags),
+ //--------------------------------------
+};
+
+static constexpr LPCTSTR log_format =
+ _T("GetFileInfo(): Deducing video information from file path\n") \
+ // file properties
+ _T("filePath=\"%S\"\n") \
+ _T("fileName=\"%S\"\n") \
+ _T("fileExtension=\"%S\"\n") \
+ _T("fileSize=%llu\n") \
+ // file name properties
+ _T("matchPattern=%d\n") \
+ _T("title=\"%S\"\n") \
+ _T("country=\"%S\"\n") \
+ _T("year=%d\n") \
+ _T("episode=\"%S\"\n") \
+ _T("seasonNumber=%d\n") \
+ _T("episodeNumber=%d\n") \
+ _T("title2=\"%S\"\n") \
+ _T("resolution=\"%S\"\n") \
+ _T("format=\"%S\"\n") \
+ _T("audioCodec=\"%S\"\n") \
+ _T("videoCodec=\"%S\"\n") \
+ _T("releaseGroup=\"%S\"\n") \
+ _T("discNumber=%d");
+
+HRESULT SubtitlesInfo::GetFileInfo(const std::string& sFileName /*= std::string()*/)
+{
+ if (sFileName.empty()) {
+ CMainFrame& MainFrame = *(CMainFrame*)(AfxGetMyApp()->GetMainWnd());
+ if (CComQIPtr<IBaseFilter> pBF = MainFrame.m_pFSF) {
+ BeginEnumPins(pBF, pEP, pPin) {
+ if (pAsyncReader = pPin) {
+ break;
+ }
+ }
+ EndEnumPins;
+ }
+
+ if (pAsyncReader && MainFrame.m_pFSF) {
+ LPOLESTR name;
+ if (FAILED(MainFrame.m_pFSF->GetCurFile(&name, nullptr))) {
+ return E_FAIL;
+ }
+ filePath = UTF16To8(name);
+ //fileName = UTF16To8(name);
+ CoTaskMemFree(name);
+
+ LONGLONG size, available;
+ if (pAsyncReader->Length(&size, &available) != S_OK) { // Don't accept estimates
+ return E_FAIL;
+ }
+ fileSize = size;
+ } else {
+ CString _filePath(MainFrame.m_wndPlaylistBar.GetCurFileName());
+ {
+ CFile file;
+ CFileException fileException;
+ if (!file.Open(_filePath, CFile::modeRead | CFile::osSequentialScan | CFile::shareDenyNone | CFile::typeBinary, &fileException)) {
+ return E_FAIL;
+ }
+
+ filePath = UTF16To8(_filePath);
+ fileSize = file.GetLength();
+ }
+ {
+ CPath p(_filePath);
+ p.RenameExtension(_T(".nfo"));
+ CFile file;
+ CFileException fileException;
+ if (file.Open(p, CFile::modeRead | CFile::osSequentialScan | CFile::shareDenyNone | CFile::typeBinary, &fileException)) {
+ std::string buffer;
+ buffer.resize(static_cast<std::string::size_type>(file.GetLength()));
+ file.Read(&buffer[0], (UINT)buffer.size());
+
+ std::smatch match_pieces;
+ if (std::regex_search(buffer, match_pieces, std::regex("imdb[.][a-z]{2,3}/title/tt(\\d+)", RegexFlags))) {
+ imdbid = match_pieces[1].str();
+ }
+ }
+ }
+ }
+ } else {
+ filePath = sFileName;
+ }
+
+ auto fPath = UTF8To16(filePath.c_str());
+ fileExtension = UTF16To8(PathUtils::FileExt(fPath).TrimLeft('.'));
+ fileName = UTF16To8(PathUtils::FileName(fPath));
+
+ int matchPattern = -1;
+ regexResult result;
+
+ if (std::regex_search(fileName, std::regex("addic[7t]ed", RegexFlags)) && stringMatch(regex_pattern[5], filePath, result)) {
+ matchPattern = 5;
+ if (title.empty()) {
+ title = result[0];
+ }
+ if (country.empty()) {
+ country = result[1];
+ }
+ if (year == -1) {
+ year = result[2].empty() ? -1 : atoi(result[2].c_str());
+ }
+ if (seasonNumber == -1) {
+ seasonNumber = atoi(result[3].c_str());
+ }
+ if (episodeNumber == -1) {
+ episodeNumber = atoi(result[4].c_str());
+ }
+ if (title2.empty()) {
+ title2 = result[5];
+ }
+ if (releaseGroup.empty()) {
+ releaseGroup = result[6];
+ }
+ if (languageName.empty()) {
+ languageName = result[7];
+ }
+ if (hearingImpaired == -1) {
+ hearingImpaired = result[8].empty() ? FALSE : TRUE;
+ }
+ } else if (stringMatch(regex_pattern[0], filePath, result)) {
+ matchPattern = 0;
+ if (title.empty()) {
+ title = result[0];
+ }
+ if (country.empty()) {
+ country = result[1];
+ }
+ if (year == -1) {
+ year = result[2].empty() ? -1 : atoi(result[2].c_str());
+ }
+ if (episode.empty()) {
+ episode = result[3] + result[4];
+ }
+ //bool b = IsISO639Language(match_pieces[5].str().c_str());
+ //bool b1 = IsISO639Language("french");
+ //CString lang = LanguageToISO6392(CString(match_pieces[5].str().c_str()));
+ //std::string tt = match_pieces[5].str();
+ if (title2.empty()) {
+ title2 = result[5];
+ }
+ if (resolution.empty()) {
+ resolution = result[6];
+ }
+ if (format.empty()) {
+ format = result[7];
+ }
+ if (audioCodec.empty()) {
+ audioCodec = result[8];
+ }
+ if (videoCodec.empty()) {
+ videoCodec = result[9];
+ }
+ if (releaseGroup.empty()) {
+ releaseGroup = result[10];
+ }
+ //if (languageCode.empty()) languageCode = result[11];
+ } else if (stringMatch(regex_pattern[1], filePath, result)) {
+ matchPattern = 1;
+ if (title.empty()) {
+ title = result[0];
+ }
+ if (country.empty()) {
+ country = result[1];
+ }
+ if (year == -1) {
+ year = result[2].empty() ? -1 : atoi(result[2].c_str());
+ }
+ if (episode.empty()) {
+ episode = result[3] + result[4];
+ }
+ }
+
+ // Use the filename as title if we couldn't do better
+ if (title.empty()) {
+ matchPattern = -1;
+ title = fileName;
+ }
+ title = std::regex_replace(title, regex_pattern[6], " ");
+
+ if (!title2.empty()) {
+ title2 = std::regex_replace(title2, regex_pattern[6], " ");
+ }
+
+ if (seasonNumber == -1 && episodeNumber == -1 && !episode.empty()) {
+ if (stringMatch(regex_pattern[2], episode, result)) {
+ std::string _seasonNumber(result[0] + result[3] + result[5] + result[7]);
+ seasonNumber = atoi(_seasonNumber.c_str());
+ if (!seasonNumber) {
+ seasonNumber = 1;
+ }
+ std::string _episodeNumber(result[1] + result[2] + result[4] + result[6] + result[8]);
+ episodeNumber = atoi(_episodeNumber.c_str());
+ }
+ }
+
+ if ((discNumber == -1) && stringMatch(regex_pattern[3], filePath, result)) {
+ discNumber = result[0].empty() ? -1 : atoi(result[0].c_str());
+ }
+
+ if ((hearingImpaired == -1) && stringMatch(regex_pattern[4], filePath, result)) {
+ hearingImpaired = TRUE;
+ }
+
+ // Enable logging for the video filename detection
+ if (sFileName.empty()) {
+ SUBTITLES_LOG(log_format, filePath.c_str(), fileName.c_str(), fileExtension.c_str(), fileSize,
+ matchPattern, title.c_str(), country.c_str(), year, episode.c_str(),
+ seasonNumber, episodeNumber, title2.c_str(), resolution.c_str(),
+ format.c_str(), audioCodec.c_str(), videoCodec.c_str(), releaseGroup.c_str(),
+ discNumber);
+ }
+ return S_OK;
+}
+
+/******************************************************************************
+** SubtitlesProvider
+******************************************************************************/
+
+SubtitlesProvider::SubtitlesProvider(SubtitlesProviders* pOwner)
+ : m_bSearch(FALSE), m_bUpload(FALSE), m_pOwner(pOwner), m_nIconIndex(0), m_nLoggedIn(SPL_UNDEFINED)
+{
+}
+
+void SubtitlesProvider::OpenUrl() const
+{
+ ShellExecute((HWND)AfxGetMyApp()->GetMainWnd(), _T("open"), UTF8To16(Url().c_str()), nullptr, nullptr, SW_SHOWDEFAULT);
+}
+
+std::list<std::string> SubtitlesProvider::GetLanguagesIntersection(std::list<std::string>&& userSelectedLangauges) const
+{
+ userSelectedLangauges.sort();
+ const auto& providerSupportedLanguages = Languages();
+
+ std::list<std::string> intersection;
+ std::set_intersection(userSelectedLangauges.cbegin(), userSelectedLangauges.cend(),
+ providerSupportedLanguages.cbegin(), providerSupportedLanguages.cend(), std::back_inserter(intersection));
+
+ return intersection;
+}
+
+std::list<std::string> SubtitlesProvider::GetLanguagesIntersection() const
+{
+ return GetLanguagesIntersection(LanguagesISO6391());
+}
+
+bool SubtitlesProvider::LoginInternal()
+{
+ if (NeedLogin()) {
+ SRESULT result = Login(UserName(), Password());
+ m_nLoggedIn = (result == SR_SUCCEEDED) ? (!UserName().empty() ? SPL_REGISTERED : SPL_ANONYMOUS) :
+ (result == SR_UNDEFINED) ? SPL_ANONYMOUS : SPL_FAILED;
+ }
+ return !!(m_nLoggedIn & (SPL_REGISTERED | SPL_ANONYMOUS));
+}
+
+
+bool SubtitlesProvider::CheckLanguage(const std::string& sLanguageCode)
+{
+ auto&& selectedLanguages = LanguagesISO6391();
+ return !selectedLanguages.size()
+ || (std::find(selectedLanguages.cbegin(), selectedLanguages.cend(), sLanguageCode) != selectedLanguages.cend());
+}
+
+bool SubtitlesProvider::SupportsUserSelectedLanguages() const
+{
+ auto&& selectedLanguages = LanguagesISO6391();
+ return !selectedLanguages.size() || GetLanguagesIntersection(std::move(selectedLanguages)).size();
+}
+
+void SubtitlesProvider::Set(SubtitlesInfo& pSubtitlesInfo)
+{
+ SubtitlesThread& pThread = *((SubtitlesThread*)AfxGetThread()->m_pThreadParams);
+ pThread.Set(pSubtitlesInfo);
+}
+
+bool SubtitlesProvider::IsAborting()
+{
+ SubtitlesThread& pThread = *((SubtitlesThread*)AfxGetThread()->m_pThreadParams);
+ return pThread.IsThreadAborting();
+}
+
+SRESULT SubtitlesProvider::DownloadInternal(std::string url, std::string referer, std::string& data) const
+{
+ stringMap headers({
+ { "User-Agent", UserAgent() },
+ { "Referer", referer },
+ });
+
+ DWORD dwStatusCode;
+ StringDownload(url, headers, data, true, &dwStatusCode);
+
+ switch (dwStatusCode) {
+ case 200:
+ return SR_SUCCEEDED;
+ default:
+ return SR_FAILED;
+ }
+}
+
+size_t SubtitlesProvider::Index() const
+{
+ size_t index = 0;
+ for (const auto& iter : m_pOwner->Providers()) {
+ if (iter.get() == this) {
+ return index;
+ }
+ ++index;
+ }
+ return SIZE_T_ERROR;
+}
+
+bool SubtitlesProvider::CheckInternetConnection()
+{
+ DWORD dwFlags = NULL;
+ return InternetGetConnectedState(&dwFlags, NULL) == TRUE;
+}
+
+/******************************************************************************
+** SubtitlesProviders
+******************************************************************************/
+
+SubtitlesProviders::SubtitlesProviders(CMainFrame* pMainFrame)
+ : m_pMainFrame(pMainFrame)
+{
+ m_himl.Create(16, 16, ILC_COLOR32, 0, 0);
+ RegisterProviders();
+ ReadSettings();
+}
+
+SubtitlesProviders::~SubtitlesProviders()
+{
+ Abort(SubtitlesThreadType(STT_SEARCH | STT_UPLOAD | STT_DOWNLOAD));
+}
+
+BOOL SubtitlesProviders::CheckInternetConnection()
+{
+ DWORD dwFlags = NULL;
+ return InternetGetConnectedState(&dwFlags, NULL) == TRUE;
+}
+
+void SubtitlesProviders::Search(bool bAutoDownload)
+{
+ Abort(SubtitlesThreadType(STT_SEARCH | STT_DOWNLOAD));
+ m_pMainFrame->m_wndSubtitlesDownloadDialog.DoClear();
+
+ if (CheckInternetConnection()) {
+ InsertTask(DEBUG_NEW SubtitlesTask(m_pMainFrame, bAutoDownload, LanguagesISO6391()));
+ } else if (bAutoDownload == FALSE) {
+ m_pMainFrame->m_wndSubtitlesDownloadDialog.DoFailed();
+ }
+}
+
+void SubtitlesProviders::Download(SubtitlesInfo& pSubtitlesInfo, bool bActivate)
+{
+ if (CheckInternetConnection()) {
+ InsertTask(DEBUG_NEW SubtitlesTask(m_pMainFrame, pSubtitlesInfo, bActivate));
+ }
+}
+
+void SubtitlesProviders::Upload(bool bShowConfirm)
+{
+ if (CheckInternetConnection()) {
+ // We get all the information we need within the main thread, to delay closing the file
+ // until we have everything we need.
+ SubtitlesInfo pSubtitlesInfo;
+ m_pMainFrame->SendMessage(WM_GETSUBTITLES, 0, (LPARAM)&pSubtitlesInfo);
+ //pSubtitlesInfo.GetCurrentSubtitles();
+
+ if (!pSubtitlesInfo.fileContents.empty()) {
+ CString msg;
+ msg.Format(IDS_SUBUL_DLG_CONFIRM, UTF8To16(pSubtitlesInfo.fileName.c_str()));
+ if (!bShowConfirm
+ || IDYES == MessageBox(m_pMainFrame->m_wndSubtitlesUploadDialog, msg, ResStr(IDS_SUBUL_DLG_TITLE), MB_YESNO)) {
+ InsertTask(DEBUG_NEW SubtitlesTask(m_pMainFrame, pSubtitlesInfo));
+ }
+ }
+ }
+}
+
+void SubtitlesProviders::Abort(SubtitlesThreadType nType)
+{
+ CAutoLock cAutoLock(&m_csTasks);
+ for (auto& pTask : m_pTasks) {
+ if (pTask->Type() & nType) {
+ pTask->Abort();
+ }
+ }
+}
+
+void SubtitlesProviders::ReadSettings()
+{
+ const auto& s = AfxGetAppSettings();
+ regexResults results;
+ stringMatch("<[|]([^|]*?)[|]([^|]*?)[|]([^|]*?)[|]([^|]*?)[|]([^|]*?)[|]>", (const char*)UTF16To8(s.strSubtitlesProviders), results);
+ size_t notFound = 0;
+ for (const auto& iter : results) {
+ size_t index = &iter - &results[0] - notFound;
+ bool bFound = false;
+ for (auto& iter1 : m_pProviders) {
+ if (iter[0] == iter1->Name()) {
+ bFound = true;
+ iter1->UserName(iter[1]);
+ iter1->Password(iter[2].c_str(), false);
+ iter1->Enabled(SPF_SEARCH, atoi(iter[3].c_str()));
+ iter1->Enabled(SPF_UPLOAD, atoi(iter[4].c_str()));
+ std::iter_swap(&iter1, m_pProviders.begin() + std::min(index, m_pProviders.size() - 1));
+ }
+ }
+ if (bFound == false) {
+ ++notFound;
+ }
+ }
+}
+
+std::string SubtitlesProviders::WriteSettings()
+{
+ std::string result;
+ for (const auto& iter : m_pProviders) {
+ result += "<|" + iter->Name() + "|" + iter->UserName() + "|" + iter->Password(false) + "|" + std::to_string(iter->Enabled(SPF_SEARCH)) + "|" + std::to_string(iter->Enabled(SPF_UPLOAD)) + "|>";
+ }
+ return result;
+}
+
+/******************************************************************************
+** SubtitlesTask
+******************************************************************************/
+
+SubtitlesTask::SubtitlesTask(CMainFrame* pMainFrame, bool bAutoDownload, const std::list<std::string>& sLanguages)
+ : m_pMainFrame(pMainFrame)
+ , m_nType(SubtitlesThreadType(STT_SEARCH | (bAutoDownload ? STT_DOWNLOAD : NULL)))
+ , m_bAutoDownload(bAutoDownload)
+ , m_bActivate(false)
+{
+ BYTE i = BYTE(sLanguages.size());
+ for (const auto& iter : sLanguages) {
+ if (bAutoDownload) {
+ m_AutoDownload[iter] = false;
+ }
+ m_LangPriority[iter] = i--;
+ }
+
+ VERIFY(CreateThread());
+}
+
+SubtitlesTask::SubtitlesTask(CMainFrame* pMainFrame, SubtitlesInfo& pSubtitlesInfo, bool bActivate)
+ : m_pMainFrame(pMainFrame)
+ , m_pFileInfo(pSubtitlesInfo)
+ , m_bActivate(bActivate)
+ , m_nType(STT_DOWNLOAD)
+ , m_bAutoDownload(false)
+{
+ VERIFY(CreateThread());
+}
+
+SubtitlesTask::SubtitlesTask(CMainFrame* pMainFrame, const SubtitlesInfo& pSubtitlesInfo)
+ : m_pMainFrame(pMainFrame)
+ , m_pFileInfo(pSubtitlesInfo)
+ , m_bActivate(false)
+ , m_nType(STT_UPLOAD)
+ , m_bAutoDownload(false)
+{
+ VERIFY(CreateThread());
+}
+
+void SubtitlesTask::ThreadProc()
+{
+ if (m_nType & STT_SEARCH) {
+ // We get all the information we need within a separate thread,
+ // to avoid delaying the video playback.
+ SubtitlesInfo pFileInfo;
+ pFileInfo.GetFileInfo();
+
+ const auto& s = AfxGetAppSettings();
+ std::string exclude = UTF16To8(s.strAutoDownloadSubtitlesExclude).GetString();
+ stringArray exclude_array = StringTokenize(exclude, "|");
+
+ if (!pFileInfo.title.empty()
+ && std::none_of(exclude_array.cbegin(), exclude_array.cend(), [&](const std::string & str) {
+ return pFileInfo.filePath.find(str) != std::string::npos;
+ })
+ && !IsThreadAborting()) {
+ for (const auto& iter : m_pMainFrame->m_pSubtitlesProviders->Providers()) {
+ if (iter->Enabled(SPF_SEARCH)) {
+ InsertThread(DEBUG_NEW SubtitlesThread(this, pFileInfo, iter));
+ }
+ }
+ }
+
+ } else if (m_nType & STT_DOWNLOAD) {
+ InsertThread(DEBUG_NEW SubtitlesThread(this, m_pFileInfo, m_pFileInfo.Provider()));
+ } else if (m_nType & STT_UPLOAD) {
+ for (const auto& iter : m_pMainFrame->m_pSubtitlesProviders->Providers()) {
+ if (iter->Enabled(SPF_UPLOAD) && iter->Flags(SPF_UPLOAD)) {
+ InsertThread(DEBUG_NEW SubtitlesThread(this, m_pFileInfo, iter));
+ }
+ }
+ }
+
+ if (!m_pThreads.empty() && !IsThreadAborting()) {
+ if (m_nType & STT_SEARCH) {
+ m_pMainFrame->m_wndSubtitlesDownloadDialog.DoSearch((INT)m_pThreads.size());
+ } else if (m_nType & STT_DOWNLOAD) {
+ } else if (m_nType & STT_UPLOAD) {
+ m_pMainFrame->m_wndSubtitlesUploadDialog.DoUpload((INT)m_pThreads.size());
+ }
+
+ CAutoLock cAutoLock(&m_csThreads);
+ for (auto& iter : m_pThreads) {
+ VERIFY(iter->CreateThread());
+
+ // Provide a timing advantage for providers with higher priority
+ if (m_nType & STT_SEARCH) {
+ Sleep(250);
+ }
+ }
+ }
+
+ // Wait here until all threads have finished
+ while (!m_pThreads.empty()) {
+ Sleep(0);
+ }
+
+ if (m_nType & STT_SEARCH) {
+ BOOL bShowDialog = !m_AutoDownload.empty() || m_bAutoDownload;
+ for (const auto& iter : m_AutoDownload) {
+ if (iter.second) {
+ bShowDialog = FALSE;
+ break;
+ }
+ }
+ m_pMainFrame->m_wndSubtitlesDownloadDialog.DoFinished(IsThreadAborting(), bShowDialog);
+ } else if (m_nType & STT_DOWNLOAD) {
+ } else if (m_nType & STT_UPLOAD) {
+ m_pMainFrame->m_wndSubtitlesUploadDialog.DoFinished(IsThreadAborting());
+ }
+
+ m_pMainFrame->m_pSubtitlesProviders->RemoveTask(this);
+}
+
+/******************************************************************************
+** SubtitlesThread
+******************************************************************************/
+
+void SubtitlesThread::ThreadProc()
+{
+ try {
+ if (m_pFileInfo.Provider()->LoginInternal()) {
+ if (m_pTask->m_nType & STT_SEARCH) {
+ Search();
+ } else if (m_pTask->m_nType & STT_DOWNLOAD) {
+ Download(m_pFileInfo, m_pTask->m_bActivate);
+ } else if (m_pTask->m_nType & STT_UPLOAD) {
+ Upload();
+ }
+ } else {
+ if (m_pTask->m_nType & STT_SEARCH) {
+ m_pTask->m_pMainFrame->m_wndSubtitlesDownloadDialog.DoCompleted(SR_FAILED, m_pSubtitlesList);
+ } else if (m_pTask->m_nType & STT_UPLOAD) {
+ m_pTask->m_pMainFrame->m_wndSubtitlesUploadDialog.DoCompleted(SR_FAILED, m_pFileInfo.Provider());
+ }
+ }
+ } catch (/*HRESULT e*/...) {
+ if (m_pTask->m_nType & STT_SEARCH) {
+ m_pTask->m_pMainFrame->m_wndSubtitlesDownloadDialog.DoCompleted(SR_ABORTED, m_pSubtitlesList);
+ } else if (m_pTask->m_nType & STT_UPLOAD) {
+ m_pTask->m_pMainFrame->m_wndSubtitlesUploadDialog.DoCompleted(SR_ABORTED, m_pFileInfo.Provider());
+ }
+ }
+
+ // Don't exit thread until all threads have been created
+ m_pTask->RemoveThread(this);
+}
+
+void SubtitlesThread::Search()
+{
+ CheckAbortAndThrow();
+ if (!m_pFileInfo.Provider()->SupportsUserSelectedLanguages()) {
+ return;
+ }
+ CheckAbortAndThrow();
+ m_pFileInfo.Provider()->Hash(m_pFileInfo);
+ CheckAbortAndThrow();
+ m_pTask->m_pMainFrame->m_wndSubtitlesDownloadDialog.DoSearching(m_pFileInfo);
+ SRESULT searchResult = m_pFileInfo.Provider()->Search(m_pFileInfo);
+ CheckAbortAndThrow();
+ m_pSubtitlesList.sort();
+ CheckAbortAndThrow();
+ m_pTask->m_pMainFrame->m_wndSubtitlesDownloadDialog.DoCompleted(searchResult, m_pSubtitlesList);
+ CheckAbortAndThrow();
+ if (!m_pSubtitlesList.empty() && (m_pTask->m_nType & STT_DOWNLOAD) && !m_pTask->m_AutoDownload.empty()) {
+ Download();
+ }
+}
+
+void SubtitlesThread::Download()
+{
+ CAutoLock cAutoLock(&m_pTask->m_csDownload);
+ CheckAbortAndThrow();
+ for (auto& iter : m_pSubtitlesList) {
+ CheckAbortAndThrow();
+ bool bDownload = false;
+ for (const auto& language : m_pTask->m_AutoDownload) {
+ if (language.first == iter.languageCode) {
+ if (!language.second) {
+ bDownload = true;
+ break;
+ }
+ } else if (language.second) {
+ break;
+ }
+ }
+ if (bDownload) {
+ const auto& s = AfxGetAppSettings();
+ if ((iter.episodeNumber != -1 && (SHORT)LOWORD(iter.Score()) >= s.nAutoDownloadScoreSeries) || (iter.episodeNumber == -1 && (SHORT)LOWORD(iter.Score()) >= s.nAutoDownloadScoreMovies)) {
+ CheckAbortAndThrow();
+ Download(iter, TRUE);
+ }
+ }
+ }
+}
+
+void SubtitlesThread::Download(SubtitlesInfo& pSubtitlesInfo, BOOL bActivate)
+{
+ CheckAbortAndThrow();
+ m_pTask->m_pMainFrame->m_wndSubtitlesDownloadDialog.DoDownloading(pSubtitlesInfo);
+ if (pSubtitlesInfo.Provider()->Download(pSubtitlesInfo) == SR_SUCCEEDED) {
+ CheckAbortAndThrow();
+ stringMap fileData = StringUncompress(pSubtitlesInfo.fileContents, pSubtitlesInfo.fileName);
+ CheckAbortAndThrow();
+ for (const auto& iter : fileData) {
+ CheckAbortAndThrow();
+ struct {
+ SubtitlesInfo* pSubtitlesInfo;
+ BOOL bActivate;
+ std::string fileName;
+ std::string fileContents;
+ } data({ &pSubtitlesInfo, bActivate, iter.first, iter.second });
+
+ if (m_pTask->m_pMainFrame->SendMessage(WM_LOADSUBTITLES, (BOOL)bActivate, (LPARAM)&data) == TRUE) {
+ if (!m_pTask->m_AutoDownload.empty()) {
+ m_pTask->m_AutoDownload[pSubtitlesInfo.languageCode] = true;
+ }
+ }
+ }
+ }
+}
+
+void SubtitlesThread::Upload()
+{
+ CheckAbortAndThrow();
+ m_pTask->m_pMainFrame->m_wndSubtitlesUploadDialog.DoUploading(m_pFileInfo.Provider());
+ m_pFileInfo.Provider()->Hash(m_pFileInfo);
+ CheckAbortAndThrow();
+ SRESULT uploadResult = m_pFileInfo.Provider()->Upload(m_pFileInfo);
+ m_pTask->m_pMainFrame->m_wndSubtitlesUploadDialog.DoCompleted(uploadResult, m_pFileInfo.Provider());
+}
+
+void SubtitlesThread::Set(SubtitlesInfo& pSubtitlesInfo)
+{
+ if (IsThreadAborting()) {
+ return;
+ }
+
+ std::string _title = pSubtitlesInfo.title;
+ if (!_title.empty()) {
+ pSubtitlesInfo.title.clear();
+ }
+ pSubtitlesInfo.GetFileInfo(pSubtitlesInfo.fileName);
+
+ //iter.score = 0; //LevenshteinDistance(m_pFileInfo.fileName, string_(subtitlesName)) * 100;
+
+ SHORT score = ((SHORT)pSubtitlesInfo.corrected);
+ score += (((!m_pFileInfo.title.empty() && _stricmp(m_pFileInfo.NormalizeTitle().c_str(), pSubtitlesInfo.NormalizeTitle().c_str()) == 0)) ||
+ ((!_title.empty() && _stricmp(m_pFileInfo.NormalizeTitle().c_str(), pSubtitlesInfo.NormalizeString(_title).c_str()) == 0)))
+ ? 3 : !m_pFileInfo.title.empty() || !_title.empty() ? -3 : 0;
+
+ if (!_title.empty()) {
+ pSubtitlesInfo.title = _title;
+ }
+
+ score += (!m_pFileInfo.country.empty() && _stricmp(m_pFileInfo.country.c_str(), pSubtitlesInfo.country.c_str()) == 0) ? 2 : !m_pFileInfo.country.empty() ? -2 : 0;
+ score += (m_pFileInfo.year != -1 && m_pFileInfo.year == pSubtitlesInfo.year) ? 1 : 0;
+ score += (m_pFileInfo.seasonNumber != -1 && m_pFileInfo.seasonNumber == pSubtitlesInfo.seasonNumber) ? 2 : m_pFileInfo.seasonNumber > 0 ? -2 : 0;
+ score += (m_pFileInfo.episodeNumber != -1 && m_pFileInfo.episodeNumber == pSubtitlesInfo.episodeNumber) ? 2 : m_pFileInfo.episodeNumber > 0 ? -2 : 0;
+ score += (!m_pFileInfo.title2.empty() && _stricmp(m_pFileInfo.title2.c_str(), pSubtitlesInfo.title2.c_str()) == 0) ? 2 : 0;
+ score += (!m_pFileInfo.resolution.empty() && _stricmp(m_pFileInfo.resolution.c_str(), pSubtitlesInfo.resolution.c_str()) == 0) ? 1 : 0;
+ score += (!m_pFileInfo.format.empty() && _stricmp(m_pFileInfo.format.c_str(), pSubtitlesInfo.format.c_str()) == 0) ? 1 : 0;
+ score += (!m_pFileInfo.audioCodec.empty() && _stricmp(m_pFileInfo.audioCodec.c_str(), pSubtitlesInfo.audioCodec.c_str()) == 0) ? 1 : 0;
+ score += (!m_pFileInfo.videoCodec.empty() && _stricmp(m_pFileInfo.videoCodec.c_str(), pSubtitlesInfo.videoCodec.c_str()) == 0) ? 1 : 0;
+ score += (!m_pFileInfo.releaseGroup.empty() && _stricmp(m_pFileInfo.releaseGroup.c_str(), pSubtitlesInfo.releaseGroup.c_str()) == 0) ? 1 : 0;
+ const auto& s = AfxGetAppSettings();
+
+ if (IsThreadAborting()) {
+ return;
+ }
+
+ pSubtitlesInfo.Set(m_pFileInfo.Provider(),
+ m_pTask->GetLangPriority(pSubtitlesInfo.languageCode),
+ (BYTE)(pSubtitlesInfo.hearingImpaired == (int)s.bPreferHearingImpairedSubtitles),
+ score);
+
+ if (IsThreadAborting()) {
+ return;
+ }
+
+ m_pSubtitlesList.push_back(pSubtitlesInfo);
+}
diff --git a/src/mpc-hc/SubtitlesProviders.h b/src/mpc-hc/SubtitlesProviders.h
new file mode 100644
index 000000000..c1bb08bf7
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProviders.h
@@ -0,0 +1,444 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "SubtitlesProvidersUtils.h"
+#include "../Subtitles/SubtitleHelpers.h"
+#include "MediaInfo/library/Source/ThirdParty/base64/base64.h"
+#include "VersionInfo.h"
+
+class CMainFrame;
+struct SubtitlesInfo;
+class SubtitlesThread;
+class SubtitlesTask;
+class SubtitlesProvider;
+class SubtitlesProviders;
+
+using SubtitlesList = std::list<SubtitlesInfo>;
+
+enum SubtitlesProviderFlags {
+ SPF_SEARCH = 0x00000000,
+ SPF_LOGIN = 0x00000001,
+ SPF_HASH = 0x00000002,
+ SPF_UPLOAD = 0x00000004,
+};
+
+enum SubtitlesProviderLogin {
+ SPL_UNDEFINED = 0x00000000,
+ SPL_FAILED = 0x00000001,
+ SPL_ANONYMOUS = 0x00000002,
+ SPL_REGISTERED = 0x00000004,
+};
+
+enum SRESULT {
+ SR_UNDEFINED,
+ SR_SUCCEEDED,
+ SR_FAILED,
+ SR_ABORTED,
+ // Specific to search only
+ SR_TOOMANY,
+ // Specific to upload only
+ SR_EXISTS,
+};
+
+enum SubtitlesThreadType {
+ STT_UNDEFINED = 0x00000000,
+ STT_SEARCH = 0x00000001,
+ STT_DOWNLOAD = 0x00000002,
+ STT_UPLOAD = 0x00000004
+};
+
+
+struct SubtitlesInfo {
+ SubtitlesInfo()
+ : fileProvider(nullptr)
+ , uid(UINT_ERROR)
+ , score(0ul)
+ , fileSize(ULONGLONG_ERROR)
+ , year(INT_ERROR)
+ , seasonNumber(INT_ERROR)
+ , episodeNumber(INT_ERROR)
+ , discNumber(INT_ERROR)
+ , hearingImpaired(Subtitle::HI_UNKNOWN)
+ , discCount(INT_ERROR)
+ , downloadCount(INT_ERROR)
+ , corrected(0)
+ , frameRate(-1.0)
+ , framesNumber(INT_ERROR)
+ , lengthMs(ULONGLONG_ERROR) {}
+ bool operator<(const SubtitlesInfo& rhs) const { return score > rhs.score; }
+ HRESULT GetFileInfo(const std::string& sFileName = std::string());
+ void Download(bool bActivate);
+ void OpenUrl() const;
+ std::shared_ptr<SubtitlesProvider> Provider() const { return fileProvider; }
+ void Provider(std::shared_ptr<SubtitlesProvider> pProvider) { fileProvider = pProvider; }
+ DWORD Score() const { return score; }
+ void Set(std::shared_ptr<SubtitlesProvider> pProvider, BYTE nLanguage, BYTE nHearingImpaired, SHORT nScore) {
+ static UINT i(0);
+ // run twice to check whether i has reached MAXUINT32 which is invalid
+ if (uid == UINT_ERROR) {
+ uid = ++i;
+ if (uid == UINT_ERROR) {
+ uid = ++i;
+ }
+ }
+ fileProvider = pProvider;
+ score = MAKELONG(nScore + 0x10, MAKEWORD(nHearingImpaired, nLanguage));
+ }
+
+ std::string DisplayTitle() const {
+ std::string _title(title);
+ if (!title2.empty()) {
+ _title.append(": " + title2);
+ }
+ if (year != -1) {
+ _title.append(" (" + std::to_string(year) + ")");
+ }
+ return _title;
+ }
+
+ std::string NormalizeString(std::string sTitle) const {
+ // remove ' and ' from string and replace '!?&:\' with ' ' to get more accurate results
+ sTitle = std::regex_replace(sTitle, std::regex(" and ", SubtitlesProvidersUtils::RegexFlags), " ");
+ sTitle = std::regex_replace(sTitle, std::regex(" *[!?&:] *", SubtitlesProvidersUtils::RegexFlags), " ");
+ sTitle = std::regex_replace(sTitle, std::regex("'", SubtitlesProvidersUtils::RegexFlags), "");
+
+ return sTitle;
+ }
+
+ std::string NormalizeTitle() const { return NormalizeString(title); }
+ UINT UID() const { return uid; }
+
+private:
+ std::shared_ptr<SubtitlesProvider> fileProvider;
+ UINT uid;
+ DWORD score;
+public:
+ // file properties
+ std::string filePath;
+ std::string fileName;
+ std::string fileExtension;
+ ULONGLONG fileSize;
+ std::string fileContents;
+ std::string fileHash;
+ CComQIPtr<IAsyncReader> pAsyncReader;
+
+ // file name properties
+ std::string title;
+ std::string country;
+ int year;
+ std::string episode;
+ int seasonNumber;
+ int episodeNumber;
+ std::string title2;
+ std::string resolution;
+ std::string format;
+ std::string audioCodec;
+ std::string videoCodec;
+ std::string releaseGroup;
+ int discNumber;
+
+ // subtitles properties
+ std::string id;
+ std::string imdbid;
+ std::string languageCode;
+ std::string languageName;
+ std::string url;
+ std::list<std::string> releaseNames;
+ int hearingImpaired;
+ int discCount;
+ int downloadCount;
+ int corrected;
+
+ // video properties
+ double frameRate;
+ int framesNumber;
+ ULONGLONG lengthMs;
+};
+
+
+class CWinThreadProc
+{
+public:
+ CWinThreadProc() : m_pThread(nullptr), m_bAbort(false) {}
+ virtual ~CWinThreadProc() = default;
+
+ operator CWinThread* () const { return m_pThread; }
+
+ bool IsThreadRunning() const { return m_pThread != nullptr; }
+ volatile bool& IsThreadAborting() { return m_bAbort; }
+
+ CWinThread* CreateThread() {
+ if (!IsThreadRunning()) {
+ m_pThread = AfxBeginThread(_ThreadProc, this);
+ }
+ return m_pThread;
+ }
+ void AbortThread() {
+ if (IsThreadRunning()) {
+ m_bAbort = true;
+ }
+ }
+ void WaitThread() const {
+ if (IsThreadRunning()) {
+ ::WaitForSingleObjectEx(*m_pThread, INFINITE, TRUE);
+ }
+ }
+
+private:
+ static UINT _ThreadProc(LPVOID pThreadParams) {
+ CWinThreadProc* pThread = static_cast<CWinThreadProc*>(pThreadParams);
+ pThread->ThreadProc();
+ return 0;
+ }
+ virtual void ThreadProc() PURE;
+
+ CWinThread* m_pThread;
+ volatile bool m_bAbort;
+};
+
+
+class SubtitlesThread final : public CWinThreadProc
+{
+ friend class SubtitlesProvider;
+ friend class SubtitlesTask;
+public:
+ SubtitlesThread(SubtitlesTask* pTask, const SubtitlesInfo& pFileInfo, std::shared_ptr<SubtitlesProvider> pProvider)
+ : m_pTask(pTask)
+ , m_pFileInfo(pFileInfo)
+ { m_pFileInfo.Provider(pProvider); }
+
+private:
+ void Set(SubtitlesInfo& pSubtitlesInfo);
+
+ void ThreadProc() override;
+ void Search();
+ void Download(SubtitlesInfo& pFileInfo, BOOL bActivate);
+ void Download();
+ void Upload();
+
+ void CheckAbortAndThrow() {
+ if (IsThreadAborting()) {
+ throw E_ABORT;
+ }
+ }
+
+ SubtitlesTask* m_pTask;
+ SubtitlesInfo m_pFileInfo;
+ SubtitlesList m_pSubtitlesList;
+};
+
+
+class SubtitlesTask final : public CWinThreadProc
+{
+ friend class SubtitlesThread;
+public:
+ // Search
+ SubtitlesTask(CMainFrame* pMainFrame, bool bAutoDownload, const std::list<std::string>& sLanguages);
+ // Download
+ SubtitlesTask(CMainFrame* pMainFrame, SubtitlesInfo& pSubtitlesInfo, bool bActivate);
+ // Upload
+ SubtitlesTask(CMainFrame* pMainFrame, const SubtitlesInfo& pSubtitlesInfo);
+
+ SubtitlesThreadType Type() const { return m_nType; };
+ BYTE GetLangPriority(const std::string& sLanguage) {
+ return m_LangPriority.count(sLanguage) ? m_LangPriority[sLanguage] : 0;
+ }
+
+ void InsertThread(SubtitlesThread* pThread) {
+ CAutoLock cAutoLock(&m_csThreads);
+ m_pThreads.push_back(pThread);
+ }
+
+ void RemoveThread(SubtitlesThread* pThread) {
+ CAutoLock cAutoLock(&m_csThreads);
+ m_pThreads.remove(pThread);
+ delete pThread;
+ }
+
+ void Abort() {
+ CAutoLock cAutoLock(&m_csThreads);
+ for (auto& iter : m_pThreads) {
+ iter->AbortThread();
+ }
+ AbortThread();
+ }
+
+private:
+ void ThreadProc() override;
+
+ CMainFrame* m_pMainFrame;
+ std::list<SubtitlesThread*> m_pThreads;
+ CCritSec m_csThreads;
+ CCritSec m_csDownload;
+
+ SubtitlesInfo m_pFileInfo;
+ bool m_bActivate;
+ SubtitlesThreadType m_nType;
+ bool m_bAutoDownload;
+ std::unordered_map<std::string, bool> m_AutoDownload;
+ std::unordered_map<std::string, BYTE> m_LangPriority;
+};
+
+class SubtitlesProvider
+{
+public:
+ SubtitlesProvider(SubtitlesProviders* pOwner);
+ virtual ~SubtitlesProvider() = default;
+
+public: // implemented
+ virtual std::string Name() const PURE;
+ virtual std::string Url() const PURE;
+ virtual const std::set<std::string>& Languages() const PURE;
+ virtual bool Flags(DWORD dwFlags) const PURE;
+ virtual int Icon() const PURE;
+ virtual SRESULT Search(const SubtitlesInfo& pFileInfo) PURE;
+ virtual SRESULT Download(SubtitlesInfo& pSubtitlesInfo) PURE;
+
+protected: // overridden
+ virtual void Initialize() {}
+ virtual void Uninitialize() { LogOut(); }
+public: // overridden
+ virtual bool NeedLogin() { return !(m_nLoggedIn & (SPL_REGISTERED | SPL_ANONYMOUS)); }
+ virtual SRESULT Login(const std::string&, const std::string&) { return SR_UNDEFINED; }
+ virtual SRESULT LogOut() {
+ m_nLoggedIn = SPL_UNDEFINED;
+ return SR_SUCCEEDED;
+ }
+ virtual SRESULT Hash(SubtitlesInfo&) { return SR_UNDEFINED; }
+ virtual SRESULT Upload(const SubtitlesInfo&) { return SR_UNDEFINED; };
+ virtual std::string UserAgent() const {
+ return SubtitlesProvidersUtils::StringFormat("MPC-HC v%u.%u.%u",
+ VersionInfo::GetMajorNumber(),
+ VersionInfo::GetMinorNumber(),
+ VersionInfo::GetPatchNumber());
+ }
+
+ bool LoginInternal();
+ void OpenUrl() const;
+ size_t Index() const;
+ static bool CheckInternetConnection();
+ static bool CheckLanguage(const std::string& sLanguageCode);
+ std::list<std::string> GetLanguagesIntersection() const;
+ std::list<std::string> GetLanguagesIntersection(std::list<std::string>&& userSelectedLangauges) const;
+ bool SupportsUserSelectedLanguages() const;
+ SRESULT DownloadInternal(std::string url, std::string referer, std::string& data) const;
+ static void Set(SubtitlesInfo& pSubtitlesInfo);
+ static bool IsAborting();
+
+ BOOL Enabled(SubtitlesProviderFlags nFlag) { return nFlag == SPF_UPLOAD ? m_bUpload : m_bSearch; }
+ void Enabled(SubtitlesProviderFlags nFlag, BOOL bEnabled) {
+ if (nFlag == SPF_UPLOAD) {
+ m_bUpload = bEnabled;
+ } else {
+ m_bSearch = bEnabled;
+ }
+ }
+ std::string UserName() const { return m_sUserName; };
+ void UserName(std::string sUserName) { m_sUserName = sUserName; };
+ std::string Password(bool bDecrypt = true) {
+ return bDecrypt
+ ? SubtitlesProvidersUtils::StringDecrypt(Base64::decode(m_sPassword), SubtitlesProvidersUtils::StringGenerateUniqueKey())
+ : m_sPassword;
+ };
+ void Password(LPCSTR sPassword, bool bEncrypt = true) {
+ m_sPassword = bEncrypt
+ ? Base64::encode(SubtitlesProvidersUtils::StringEncrypt(sPassword, SubtitlesProvidersUtils::StringGenerateUniqueKey()))
+ : sPassword;
+ };
+ SubtitlesProviders& Providers() const { return *m_pOwner; }
+ int GetIconIndex() const { return m_nIconIndex; }
+ void SetIconIndex(int nIconIndex) { m_nIconIndex = nIconIndex; }
+
+private:
+ BOOL m_bSearch;
+ BOOL m_bUpload;
+ std::string m_sUserName;
+ std::string m_sPassword;
+ SubtitlesProviders* m_pOwner;
+ int m_nIconIndex;
+protected:
+ SubtitlesProviderLogin m_nLoggedIn;
+};
+
+class SubtitlesProviders final
+{
+public:
+ explicit SubtitlesProviders(CMainFrame* pMainFrame);
+ ~SubtitlesProviders();
+ SubtitlesProviders(SubtitlesProviders const&) = delete;
+ SubtitlesProviders& operator=(SubtitlesProviders const&) = delete;
+
+private:
+ void RegisterProviders();
+ template <class T>
+ void Register(SubtitlesProviders* pOwner) {
+ m_pProviders.push_back(T::Create(pOwner));
+ auto& provider = m_pProviders.back();
+ HICON hIcon = ::LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(provider->Icon()));
+ provider->SetIconIndex(m_himl.Add(hIcon));
+ DestroyIcon(hIcon);
+ }
+
+public:
+ const std::vector<std::shared_ptr<SubtitlesProvider>>& Providers() const {
+ return m_pProviders;
+ };
+ static BOOL SubtitlesProviders::CheckInternetConnection();
+
+ void ReadSettings();
+ std::string WriteSettings();
+
+ void Search(bool bAutoDownload);
+ void Upload(bool bShowConfirm);
+ void Download(SubtitlesInfo& pSubtitlesInfo, bool bActivate);
+ void Abort(SubtitlesThreadType nType);
+
+ void InsertTask(SubtitlesTask* pTask) {
+ CAutoLock cAutoLock(&m_csTasks);
+ m_pTasks.push_back(pTask);
+ }
+
+ void RemoveTask(SubtitlesTask* pTask) {
+ CAutoLock cAutoLock(&m_csTasks);
+ m_pTasks.remove(pTask);
+ delete pTask;
+ }
+
+ void MoveUp(size_t nIndex) {
+ std::iter_swap(m_pProviders.begin() + nIndex, m_pProviders.begin() + nIndex - 1);
+ }
+
+ void MoveDown(size_t nIndex) {
+ std::iter_swap(m_pProviders.begin() + nIndex, m_pProviders.begin() + nIndex + 1);
+ }
+
+ CImageList& GetImageList() { return m_himl; }
+
+private:
+ CMainFrame* m_pMainFrame;
+
+ std::vector<std::shared_ptr<SubtitlesProvider>> m_pProviders;
+
+ CCritSec m_csTasks;
+ std::list<SubtitlesTask*> m_pTasks;
+ CImageList m_himl;
+};
diff --git a/src/mpc-hc/SubtitlesProvidersUtils.cpp b/src/mpc-hc/SubtitlesProvidersUtils.cpp
new file mode 100644
index 000000000..77ad972b3
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProvidersUtils.cpp
@@ -0,0 +1,814 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "SubtitlesProvidersUtils.h"
+#include "SubtitlesProviders.h"
+#include "mplayerc.h"
+#include "ISOLang.h"
+
+#if !USE_STATIC_UNRAR
+#include "unrar.h"
+#else
+#include "unrar/dll.hpp"
+#endif
+
+#include "zlib/zlib.h"
+#include "zlib/zutil.h"
+#include "zlib/minizip/unzip.h"
+
+#include <afxinet.h>
+#include <WinCrypt.h>
+#include <sstream>
+
+int SubtitlesProvidersUtils::LevenshteinDistance(std::string s, std::string t)
+{
+ s = CStringA(s.c_str()).MakeLower();
+ t = CStringA(t.c_str()).MakeLower();
+ // degenerate cases
+ if (s == t) {
+ return 0;
+ }
+ if (s.length() == size_t(0)) {
+ return (int)t.length();
+ }
+ if (t.length() == size_t(0)) {
+ return (int)s.length();
+ }
+
+ // create two work vectors of integer distances
+ std::vector<int> v0(t.length() + 1);
+ std::vector<int> v1(t.length() + 1);
+
+ // initialize v0 (the previous row of distances)
+ // this row is A[0][i]: edit distance for an empty s
+ // the distance is just the number of characters to delete from t
+ for (size_t i = 0; i < v0.size(); i++) {
+ v0[i] = (int)i;
+ }
+
+ for (size_t i = 0; i < s.length(); i++) {
+ // calculate v1 (current row distances) from the previous row v0
+
+ // first element of v1 is A[i+1][0]
+ // edit distance is delete (i+1) chars from s to match empty t
+ v1[0] = (int)i + 1;
+
+ // use formula to fill in the rest of the row
+ for (size_t j = 0; j < t.length(); j++) {
+ bool cost = (s[i] == t[j]) ? 0 : 1;
+ v1[j + 1] = std::min(std::min(v1[j] + 1, v0[j + 1] + 1), v0[j] + cost);
+ }
+
+ // copy v1 (current row) to v0 (previous row) for next iteration
+ for (size_t j = 0; j < v0.size(); j++) {
+ v0[j] = v1[j];
+ }
+ }
+
+ return v1[t.length()];
+}
+
+std::string SubtitlesProvidersUtils::StringToHex(const std::string& data)
+{
+ std::ostringstream oss;
+ for (auto& iter : data) {
+ oss.fill('0');
+ oss.width(2);
+ oss << std::hex << iter;
+ }
+ return oss.str();
+}
+
+std::string SubtitlesProvidersUtils::StringToHex(const int& data)
+{
+ std::ostringstream oss;
+ oss.fill('0');
+ oss.width(8);
+ oss << std::hex << data;
+ return oss.str();
+}
+
+std::string hex_to_bytes(const std::string& hex)
+{
+ std::vector<unsigned char> bytes;
+ bytes.reserve(hex.size() / 2);
+ for (std::string::size_type i = 0, i_end = hex.size(); i < i_end; i += 2) {
+ unsigned byte;
+ std::istringstream hex_byte(hex.substr(i, 2));
+ hex_byte >> std::hex >> byte;
+ bytes.push_back(static_cast<unsigned char>(byte));
+ }
+ return std::string(bytes.begin(), bytes.end());
+}
+
+std::string string_bytes(const std::string& data)
+{
+
+ std::ostringstream oss;
+ for (auto& iter : data) {
+ oss.fill('0');
+ oss.width(2);
+ oss << std::hex << static_cast<const int>(iter);
+ }
+ return oss.str();
+}
+
+std::string SubtitlesProvidersUtils::StringToHash(const std::string& data, ALG_ID Algid)
+{
+ std::string result;
+ HCRYPTPROV hCryptProv = NULL;
+ if (CryptAcquireContext(&hCryptProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
+ HCRYPTPROV hHash = NULL;
+ if (CryptCreateHash(hCryptProv, Algid, 0, 0, &hHash)) {
+ if (CryptHashData(hHash, (const BYTE*)(data.c_str()), (DWORD)data.length(), 0)) {
+ DWORD cbHashSize = 0, dwCount = sizeof(DWORD);
+ if (CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE*)&cbHashSize, &dwCount, 0)) {
+ std::vector<BYTE> buffer(cbHashSize);
+ if (CryptGetHashParam(hHash, HP_HASHVAL, (BYTE*)(&buffer[0]), &cbHashSize, 0)) {
+ std::ostringstream oss;
+ for (const auto& iter : buffer) {
+ oss.fill('0');
+ oss.width(2);
+ oss << std::hex << static_cast<const int>(iter);
+ }
+ result = oss.str();
+ }
+ }
+ }
+ CryptDestroyHash(hHash);
+ }
+ CryptReleaseContext(hCryptProv, 0);
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringEncrypt(const std::string& data, const std::string& key, ALG_ID Algid)
+{
+ std::string result;
+ HCRYPTPROV hCryptProv = NULL;
+ if (CryptAcquireContext(&hCryptProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
+ HCRYPTHASH hHash = NULL;
+ if (CryptCreateHash(hCryptProv, CALG_SHA_256, NULL, 0, &hHash)) {
+ HCRYPTKEY hKey = NULL;
+ if (CryptHashData(hHash, (const BYTE*)key.c_str(), (DWORD)key.length(), 0)) {
+ if (CryptDeriveKey(hCryptProv, Algid, hHash, CRYPT_KEYLENGTH | CRYPT_EXPORTABLE, &hKey)) {
+ DWORD dwCount = (DWORD)data.length();
+ std::vector<BYTE> buffer(data.begin(), data.end());
+ if (CryptEncrypt(hKey, NULL, TRUE, 0, nullptr, &dwCount, NULL)) {
+ buffer.resize(dwCount);
+ dwCount = (DWORD)data.length();
+ if (CryptEncrypt(hKey, NULL, TRUE, 0, (BYTE*)(&buffer[0]), &dwCount, (DWORD)buffer.size())) {
+ result.assign((const char*)(&buffer[0]), dwCount);
+ }
+ }
+ CryptDestroyKey(hKey);
+ }
+ CryptDestroyHash(hHash);
+ }
+ }
+ CryptReleaseContext(hCryptProv, 0);
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringDecrypt(const std::string& data, const std::string& key, ALG_ID Algid)
+{
+ std::string result;
+ if (!data.empty()) {
+ HCRYPTPROV hCryptProv = NULL;
+ if (CryptAcquireContext(&hCryptProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
+ HCRYPTHASH hHash = NULL;
+ if (CryptCreateHash(hCryptProv, CALG_SHA_256, NULL, 0, &hHash)) {
+ HCRYPTKEY hKey = NULL;
+ if (CryptHashData(hHash, (const BYTE*)key.c_str(), (DWORD)key.length(), 0)) {
+ if (CryptDeriveKey(hCryptProv, Algid, hHash, CRYPT_KEYLENGTH | CRYPT_EXPORTABLE, &hKey)) {
+ DWORD dwCount = (DWORD)data.length();
+ std::vector<BYTE> buffer(data.begin(), data.end());
+ if (CryptDecrypt(hKey, NULL, TRUE, 0, (BYTE*)(&buffer[0]), &dwCount)) {
+ result.assign((const char*)(&buffer[0]), dwCount);
+ }
+ CryptDestroyKey(hKey);
+ }
+ CryptDestroyHash(hHash);
+ }
+ }
+ CryptReleaseContext(hCryptProv, 0);
+ }
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringFormat(_In_z_ _Printf_format_string_ char const* const fmt, ...)
+{
+ std::string str;
+ va_list args;
+ va_start(args, fmt);
+ auto len = _vscprintf(fmt, args);
+ ASSERT(len > 0);
+ if (len > 0) {
+ str.resize(len);
+#if _HAS_CXX17
+ auto data = str.data();
+#else
+ auto data = str._Myptr();
+#endif
+ VERIFY(len == vsnprintf_s(data, len + 1, len, fmt, args));
+ }
+ va_end(args);
+ return str;
+}
+
+size_t SubtitlesProvidersUtils::stringMatch(const std::string& pattern, const std::string& text, regexResults& results)
+{
+ std::regex regex_pattern(pattern, RegexFlags);
+ return stringMatch(regex_pattern, text, results);
+}
+
+size_t SubtitlesProvidersUtils::stringMatch(const std::regex& pattern, const std::string& text, regexResults& results)
+{
+ results.clear();
+
+ std::string data(text);
+ std::smatch match_pieces;
+ while (std::regex_search(data, match_pieces, pattern)) {
+ regexResult result;
+ for (const auto& match : match_pieces) {
+ if (match != *match_pieces.begin()) {
+ result.push_back(match.str());
+ }
+ }
+ results.push_back(result);
+ data = match_pieces.suffix().str();
+ }
+ return results.size();
+}
+
+size_t SubtitlesProvidersUtils::stringMatch(const std::string& pattern, const std::string& text, regexResult& result)
+{
+ std::regex regex_pattern(pattern, RegexFlags);
+ return stringMatch(regex_pattern, text, result);
+}
+
+size_t SubtitlesProvidersUtils::stringMatch(const std::regex& pattern, const std::string& text, regexResult& result)
+{
+ result.clear();
+
+ std::smatch match_pieces;
+ std::regex_search(text, match_pieces, pattern);
+ for (const auto& match : match_pieces) {
+ if (match != *match_pieces.begin()) {
+ result.push_back(match.str());
+ }
+ }
+ return result.size();
+}
+
+std::string SubtitlesProvidersUtils::StringGzipDeflate(const std::string& data)
+{
+ std::string result;
+
+ UINT buffer_len = 32 * 1024;
+ std::vector<BYTE> buffer(buffer_len);
+
+ z_stream deflate_stream = { 0 };
+ deflate_stream.next_in = (BYTE*)data.c_str();
+ deflate_stream.avail_in = (UINT)data.length();
+
+ int ret = Z_OK;
+ if ((ret = deflateInit2(&deflate_stream, Z_BEST_COMPRESSION, Z_DEFLATED, DEF_WBITS + Z_ENCODING_GZIP, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY)) == Z_OK) {
+ do {
+ deflate_stream.next_out = &buffer[0];
+ deflate_stream.avail_out = buffer_len;
+ if ((ret = deflate(&deflate_stream, Z_FINISH)) >= Z_OK) {
+ result.append((char*)&buffer[0], buffer_len - deflate_stream.avail_out);
+ } else {
+ break;
+ }
+ } while (deflate_stream.avail_out == 0);
+ ret = deflateEnd(&deflate_stream);
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringGzipCompress(const std::string& data)
+{
+ std::string result;
+
+ UINT buffer_len = 32 * 1024;
+ std::vector<BYTE> buffer(buffer_len);
+
+ z_stream deflate_stream = { 0 };
+ deflate_stream.next_in = (BYTE*)data.c_str();
+ deflate_stream.avail_in = (UINT)data.length();
+
+ int ret = Z_OK;
+ //if ((ret = deflateInit2(&deflate_stream, Z_BEST_COMPRESSION, Z_DEFLATED, DEF_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY)) == Z_OK) {
+ if ((ret = deflateInit(&deflate_stream, Z_BEST_COMPRESSION)) == Z_OK) {
+ do {
+ deflate_stream.next_out = &buffer[0];
+ deflate_stream.avail_out = buffer_len;
+ if ((ret = deflate(&deflate_stream, Z_FINISH)) >= Z_OK) {
+ result.append((char*)&buffer[0], buffer_len - deflate_stream.avail_out);
+ } else {
+ break;
+ }
+ } while (deflate_stream.avail_out == 0);
+ ret = deflateEnd(&deflate_stream);
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringGzipInflate(const std::string& data)
+{
+ std::string result;
+
+ UINT buffer_len = 32 * 1024;
+ std::vector<BYTE> buffer(buffer_len);
+
+ z_stream inflate_stream = { 0 };
+ inflate_stream.next_in = (BYTE*)data.c_str();
+ inflate_stream.avail_in = (UINT)data.length();
+
+ if (inflateInit2(&inflate_stream, DEF_WBITS + Z_DECODING_ZLIB_GZIP) == Z_OK) {
+ do {
+ inflate_stream.next_out = &buffer[0];
+ inflate_stream.avail_out = buffer_len;
+ if (inflate(&inflate_stream, Z_NO_FLUSH) >= Z_OK) {
+ result.append((char*)&buffer[0], buffer_len - inflate_stream.avail_out);
+ } else {
+ break;
+ }
+ } while (inflate_stream.avail_out == 0);
+ inflateEnd(&inflate_stream);
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringGzipUncompress(const std::string& data)
+{
+ std::string result;
+
+ UINT buffer_len = 32 * 1024;
+ std::vector<BYTE> buffer(buffer_len);
+
+ z_stream inflate_stream = { 0 };
+ inflate_stream.next_in = (BYTE*)data.c_str();
+ inflate_stream.avail_in = (UINT)data.length();
+
+ int ret = Z_OK;
+ //if ((ret = inflateInit2(&inflate_stream, DEF_WBITS)) == Z_OK) {
+ if ((ret = inflateInit(&inflate_stream)) == Z_OK) {
+ do {
+ inflate_stream.next_out = &buffer[0];
+ inflate_stream.avail_out = buffer_len;
+ if ((ret = inflate(&inflate_stream, Z_NO_FLUSH)) >= Z_OK) {
+ result.append((char*)&buffer[0], buffer_len - inflate_stream.avail_out);
+ } else {
+ break;
+ }
+ } while (inflate_stream.avail_out == 0);
+ ret = inflateEnd(&inflate_stream);
+ }
+ return result;
+}
+
+int SubtitlesProvidersUtils::FileUnzip(CStringA fn, stringMap& dataOut)
+{
+#define MAX_FILENAME 512
+#define READ_SIZE 8192
+
+ // Open the zip file
+ unzFile zipfile = unzOpen(fn);
+ if (zipfile == nullptr) {
+ return -1;
+ }
+
+ // Get info about the zip file
+ unz_global_info global_info;
+ if (unzGetGlobalInfo(zipfile, &global_info) != UNZ_OK) {
+ unzClose(zipfile);
+ return -1;
+ }
+
+ // Buffer to hold data read from the zip file.
+ char read_buffer[READ_SIZE];
+
+ // Loop to extract all files
+ for (uLong i = 0; i < global_info.number_entry; ++i) {
+ // Get info about current file.
+ unz_file_info file_info;
+ char filename[MAX_FILENAME];
+ if (unzGetCurrentFileInfo(zipfile, &file_info, filename, MAX_FILENAME, nullptr, 0, nullptr, 0) != UNZ_OK) {
+ unzClose(zipfile);
+ return -1;
+ }
+
+ if (strlen(filename) >= 4 && Subtitle::IsTextSubtitleFileName(filename)) {
+ if (unzOpenCurrentFile(zipfile) != UNZ_OK) {
+ unzClose(zipfile);
+ return -1;
+ }
+
+ std::string data;
+ data.reserve(file_info.uncompressed_size);
+ int error;
+ do {
+ error = unzReadCurrentFile(zipfile, read_buffer, READ_SIZE);
+ if (error < 0) {
+ unzCloseCurrentFile(zipfile);
+ unzClose(zipfile);
+ return -1;
+ }
+
+ // Write data to file.
+ if (error > 0) {
+ data.append(read_buffer, error);
+ }
+ } while (error > 0);
+ dataOut.emplace(filename, data);
+ }
+
+ unzCloseCurrentFile(zipfile);
+
+ // Go the the next entry listed in the zip file.
+ if (i + 1 < global_info.number_entry) {
+ if (unzGoToNextFile(zipfile) != UNZ_OK) {
+ unzClose(zipfile);
+ return -1;
+ }
+ }
+ }
+
+ unzClose(zipfile);
+ return 0;
+}
+
+int CALLBACK SubtitlesProvidersUtils::UnRarProc(UINT msg, LPARAM UserData, LPARAM P1, LPARAM P2)
+{
+ if (msg == UCM_PROCESSDATA) {
+ std::string* data((std::string*)UserData);
+ data->append((char*)P1, (size_t)P2);
+ }
+ return 1;
+}
+
+bool SubtitlesProvidersUtils::FileUnRar(CString fn, stringMap& dataOut)
+{
+#if !USE_STATIC_UNRAR
+#ifdef _WIN64
+ HMODULE h = LoadLibrary(_T("unrar64.dll"));
+#else
+ HMODULE h = LoadLibrary(_T("unrar.dll"));
+#endif
+ if (!h) {
+ return false;
+ }
+
+ RAROpenArchiveEx OpenArchiveEx = (RAROpenArchiveEx)GetProcAddress(h, "RAROpenArchiveEx");
+ RARCloseArchive CloseArchive = (RARCloseArchive)GetProcAddress(h, "RARCloseArchive");
+ RARReadHeaderEx ReadHeaderEx = (RARReadHeaderEx)GetProcAddress(h, "RARReadHeaderEx");
+ RARProcessFile ProcessFile = (RARProcessFile)GetProcAddress(h, "RARProcessFile");
+ RARSetCallback SetCallback = (RARSetCallback)GetProcAddress(h, "RARSetCallback");
+
+ if (!(OpenArchiveEx && CloseArchive && ReadHeaderEx && ProcessFile && SetCallback)) {
+ FreeLibrary(h);
+ return false;
+ }
+
+#else
+
+#define OpenArchiveEx RAROpenArchiveEx
+#define CloseArchive RARCloseArchive
+#define ReadHeaderEx RARReadHeaderEx
+#define ProcessFile RARProcessFile
+#define SetCallback RARSetCallback
+#endif /* USE_STATIC_UNRAR */
+
+ RAROpenArchiveDataEx OpenArchiveData;
+ ZeroMemory(&OpenArchiveData, sizeof(OpenArchiveData));
+
+ OpenArchiveData.ArcNameW = (LPTSTR)(LPCTSTR)fn;
+ char fnA[MAX_PATH];
+ size_t size;
+ if (wcstombs_s(&size, fnA, fn, fn.GetLength())) {
+ fnA[0] = 0;
+ }
+ OpenArchiveData.ArcName = fnA;
+ OpenArchiveData.OpenMode = RAR_OM_EXTRACT;
+ OpenArchiveData.CmtBuf = 0;
+ OpenArchiveData.Callback = UnRarProc;
+ std::string data;
+ OpenArchiveData.UserData = (LPARAM)&data;
+
+ HANDLE hArcData = OpenArchiveEx(&OpenArchiveData);
+ if (!hArcData) {
+#if !USE_STATIC_UNRAR
+ FreeLibrary(h);
+#endif
+ return false;
+ }
+
+ RARHeaderDataEx HeaderDataEx;
+ HeaderDataEx.CmtBuf = nullptr;
+
+ while (ReadHeaderEx(hArcData, &HeaderDataEx) == 0) {
+ if (wcslen(HeaderDataEx.FileNameW) >= 4 && Subtitle::IsTextSubtitleFileName(HeaderDataEx.FileNameW)) {
+ data.clear();
+ data.reserve(std::max(data.capacity(), (size_t)HeaderDataEx.UnpSize));
+ if (ProcessFile(hArcData, RAR_TEST, nullptr, nullptr)) {
+ CloseArchive(hArcData);
+#if !USE_STATIC_UNRAR
+ FreeLibrary(h);
+#endif
+ return false;
+ }
+ dataOut.insert(std::pair<std::string, std::string>(HeaderDataEx.FileName, data));
+ } else {
+ ProcessFile(hArcData, RAR_SKIP, nullptr, nullptr);
+ }
+ }
+
+ CloseArchive(hArcData);
+#if !USE_STATIC_UNRAR
+ FreeLibrary(h);
+#endif
+
+ return true;
+}
+
+SubtitlesProvidersUtils::stringMap SubtitlesProvidersUtils::StringUncompress(const std::string& data,
+ const std::string& fileName)
+{
+ stringMap result;
+ static const char gzip[] = { 0x1F, '\x8B' };
+ static const char zlib[4][2] = { { 0x78, '\xDA' }, { 0x78, '\x9C' }, { 0x78, 0x5E }, { 0x78, 0x01 } };
+ static const char zip[] = { 0x50, 0x4B, 0x03, 0x04 };
+ static const char rar4[] = { 0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x00 };
+ static const char rar5[] = { 0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x01, 0x00 };
+
+ if (data.compare(0, sizeof(gzip), gzip, sizeof(gzip)) == 0) {
+ result.insert(std::pair<std::string, std::string>(fileName, StringGzipInflate(data)));
+ } else if ((data.compare(0, sizeof(zlib[0]), zlib[0], sizeof(zlib[0])) == 0) || (data.compare(0, sizeof(zlib[1]), zlib[1], sizeof(zlib[1])) == 0) ||
+ (data.compare(0, sizeof(zlib[2]), zlib[2], sizeof(zlib[2])) == 0) || (data.compare(0, sizeof(zlib[3]), zlib[3], sizeof(zlib[3])) == 0)) {
+ result.insert(std::pair<std::string, std::string>(fileName, StringGzipUncompress(data)));
+ } else if (data.compare(0, sizeof(zip), zip, sizeof(zip)) == 0) {
+ TCHAR path[MAX_PATH], file[MAX_PATH];
+ GetTempPath(MAX_PATH, path);
+ GetTempFileName(path, _T("mpc"), 0, file);
+
+ CFile f;
+ if (f.Open(file, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary | CFile::shareDenyNone)) {
+ f.Write((BYTE*)data.c_str(), (UINT)data.length());
+ f.Close();
+ }
+
+ FileUnzip(file, result);
+ DeleteFile(file);
+ } else if ((data.compare(0, sizeof(rar4), rar4, sizeof(rar4)) == 0) || (data.compare(0, sizeof(rar5), rar5, sizeof(rar5)) == 0)) {
+ TCHAR path[MAX_PATH], file[MAX_PATH];
+ GetTempPath(MAX_PATH, path);
+ GetTempFileName(path, _T("mpc"), 0, file);
+
+ CFile f;
+ if (f.Open(file, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary | CFile::shareDenyNone)) {
+ f.Write((BYTE*)data.c_str(), (UINT)data.length());
+ f.Close();
+ }
+ FileUnRar(file, result);
+ DeleteFile(file);
+ } else {
+ result.insert(std::pair<std::string, std::string>(fileName, data));
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringGenerateUniqueKey()
+{
+ TCHAR strFileName[MAX_PATH];
+ GetModuleFileName(nullptr, strFileName, MAX_PATH);
+ CPath p(strFileName);
+ p.StripToRoot();
+
+ std::vector<BYTE> buffer(16);
+ GetVolumeInformation(p, nullptr, NULL, (LPDWORD)&buffer[0], nullptr, (LPDWORD)&buffer[4], nullptr, NULL);
+ GetDiskFreeSpaceEx(p, nullptr, (PULARGE_INTEGER)&buffer[8], nullptr);
+ return std::string((PCHAR)&buffer[0], buffer.size());
+}
+
+HRESULT SubtitlesProvidersUtils::StringDownload(const std::string& url, const stringMap& headers,
+ std::string& data, bool bAutoRedirect, DWORD* dwStatusCode)
+{
+ data.clear();
+ try {
+ CInternetSession is;
+
+ std::string strHeaders;
+ for (const auto& iter : headers) {
+ if (!iter.second.empty()) {
+ strHeaders += StringFormat("%s: %s\r\n", iter.first.c_str(), iter.second.c_str());
+ }
+ }
+
+ is.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 5000 /*default=60000*/);
+ CAutoPtr<CHttpFile> pHttpFile((CHttpFile*)is.OpenURL(UTF8To16(url.c_str()),
+ 1,
+ INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_EXISTING_CONNECT | (bAutoRedirect ? INTERNET_FLAG_NO_AUTO_REDIRECT : NULL),
+ UTF8To16(strHeaders.c_str())));
+
+ DWORD total_length = 0, length = 0, index = 0;
+ while (pHttpFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, length, &index)) {
+ total_length += length;
+ }
+
+ data.reserve(std::max((size_t)total_length, (size_t)pHttpFile->GetLength()));
+
+ std::vector<char> buff(1024);
+ for (int len = 0; (len = pHttpFile->Read(&buff[0], (UINT)buff.size())) > 0; data.append(&buff[0], len));
+
+ if (dwStatusCode) {
+ pHttpFile->QueryInfoStatusCode(*dwStatusCode);
+ }
+
+ pHttpFile->Close(); // must close it because the destructor doesn't seem to do it and we will get an exception when "is" is destroying
+ } catch (CInternetException* ie) {
+ HRESULT hr = HRESULT_FROM_WIN32(ie->m_dwError);
+ TCHAR szErr[1024];
+ szErr[0] = '\0';
+ if (!ie->GetErrorMessage(szErr, 1024)) {
+ wcscpy_s(szErr, L"Some crazy unknown error");
+ }
+ TRACE("File transfer failed!! - %s", szErr);
+ ie->Delete();
+ return hr;
+ }
+ return S_OK;
+}
+
+HRESULT SubtitlesProvidersUtils::StringUpload(const std::string& url, const stringMap& headers,
+ const std::string& content, std::string& data,
+ bool bAutoRedirect, DWORD* dwStatusCode)
+{
+ try {
+ DWORD dwServiceType = NULL;
+ CString strServer, strObject, strUserName, strPassword;
+ INTERNET_PORT nPort = NULL;
+ if (!AfxParseURLEx(UTF8To16(url.c_str()), dwServiceType, strServer, strObject, nPort, strUserName, strPassword)) {
+ return E_FAIL;
+ }
+
+ CInternetSession is;
+ CAutoPtr<CHttpConnection> pHttpConnection(is.GetHttpConnection(strServer));
+ CAutoPtr<CHttpFile> pHttpFile(pHttpConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, strObject, 0, 1, 0, 0, INTERNET_FLAG_KEEP_CONNECTION | (bAutoRedirect == FALSE ? INTERNET_FLAG_NO_AUTO_REDIRECT : NULL)));
+
+ for (const auto& iter : headers) {
+ if (!iter.second.empty()) {
+ pHttpFile->AddRequestHeaders(UTF8To16(StringFormat("%s: %s", iter.first.c_str(), iter.second.c_str()).c_str()), HTTP_ADDREQ_FLAG_ADD_IF_NEW);
+ }
+ }
+
+ pHttpFile->SendRequestEx(DWORD(content.length()), HSR_SYNC | HSR_INITIATE);
+ pHttpFile->Write(content.c_str(), (UINT)content.length());
+ pHttpFile->Flush();
+ pHttpFile->EndRequest(HSR_SYNC);
+
+ DWORD total_length = 0, length = 0, index = 0;
+ while (pHttpFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, length, &index)) {
+ total_length += length;
+ }
+ data.reserve(std::max((size_t)length, (size_t)pHttpFile->GetLength()));
+
+ std::vector<char> buff(1024);
+ for (int len = 0; (len = pHttpFile->Read(&buff[0], (UINT)buff.size())) > 0; data.append(&buff[0], len));
+
+ if (dwStatusCode) {
+ pHttpFile->QueryInfoStatusCode(*dwStatusCode);
+ }
+
+ pHttpFile->Close();
+ pHttpConnection->Close();
+ } catch (CInternetException* ie) {
+ HRESULT hr = HRESULT_FROM_WIN32(ie->m_dwError);
+ TCHAR szErr[1024];
+ szErr[0] = '\0';
+ if (!ie->GetErrorMessage(szErr, 1024)) {
+ wcscpy_s(szErr, L"Some crazy unknown error");
+ }
+ TRACE("File transfer failed!! - %s", szErr);
+ ie->Delete();
+ return hr;
+ }
+ return S_OK;
+}
+
+SubtitlesProvidersUtils::stringArray SubtitlesProvidersUtils::StringTokenize(const std::string& text,
+ const std::string& delimiters,
+ bool blank)
+{
+ stringArray result;
+ std::string next;
+ for (const auto& iter : text) {
+ if (delimiters.find(iter) != std::string::npos) {
+ if (!next.empty() || blank) {
+ // Add them to the result vector
+ result.push_back(StringTrim(next));
+ next.clear();
+ }
+ } else {
+ next += iter;
+ }
+ }
+ if (!next.empty()) {
+ result.push_back(StringTrim(next));
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringTrim(const std::string& text, const std::string& characters, int side)
+{
+ std::string result(text);
+ if (!characters.empty()) {
+ if (side <= 0)
+ while (result.length() && characters.find(result.front()) != std::string::npos) {
+ result.erase(result.begin());
+ }
+
+ if (side >= 0)
+ while (result.length() && characters.find(result.back()) != std::string::npos) {
+ result.pop_back();
+ }
+ }
+ return result;
+}
+
+std::string SubtitlesProvidersUtils::StringReplace(const std::string& text, const std::string& find, const std::string& replace)
+{
+ std::string result(text);
+ std::string::size_type pos = 0;
+ while ((pos = result.find(find, pos)) != std::string::npos) {
+ result.erase(pos, find.length());
+ result.insert(pos, replace);
+ pos += replace.length();
+ }
+ return result;
+}
+
+std::list<std::string> SubtitlesProvidersUtils::LanguagesISO6391()
+{
+ std::list<std::string> result;
+ for (const auto& iter : StringTokenize(UTF16To8(AfxGetAppSettings().strSubtitlesLanguageOrder).GetString(), ",; ")) {
+ result.push_back(iter.length() > 2 ? CStringA(ISOLang::ISO6392To6391(iter.c_str())).GetString() : iter);
+ }
+ return result;
+}
+
+std::list<std::string> SubtitlesProvidersUtils::LanguagesISO6392()
+{
+ std::list<std::string> result;
+ for (const auto& iter : StringTokenize(UTF16To8(AfxGetAppSettings().strSubtitlesLanguageOrder).GetString(), ",; ")) {
+ result.push_back(iter.length() < 3 ? ISOLang::ISO6391To6392(iter.c_str()).GetString() : iter);
+ }
+ return result;
+}
+
+UINT64 SubtitlesProvidersUtils::GenerateOSHash(SubtitlesInfo& pFileInfo)
+{
+ UINT64 fileHash = pFileInfo.fileSize;
+ if (pFileInfo.pAsyncReader) {
+ UINT64 position = 0;
+ for (UINT64 tmp = 0, i = 0;
+ i < PROBE_SIZE / sizeof(tmp) && SUCCEEDED(pFileInfo.pAsyncReader->SyncRead(position, sizeof(tmp), (BYTE*)&tmp));
+ fileHash += tmp, position += sizeof(tmp), ++i);
+ position = std::max(0ui64, pFileInfo.fileSize - PROBE_SIZE);
+ for (UINT64 tmp = 0, i = 0;
+ i < PROBE_SIZE / sizeof(tmp) && SUCCEEDED(pFileInfo.pAsyncReader->SyncRead(position, sizeof(tmp), (BYTE*)&tmp));
+ fileHash += tmp, position += sizeof(tmp), ++i);
+ } else {
+ CFile file;
+ CFileException fileException;
+ if (file.Open(CString(pFileInfo.filePath.c_str()),
+ CFile::modeRead | CFile::osSequentialScan | CFile::shareDenyNone | CFile::typeBinary, &fileException)) {
+ for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && file.Read(&tmp, sizeof(tmp)); fileHash += tmp, ++i);
+ file.Seek(std::max(0ui64, pFileInfo.fileSize - PROBE_SIZE), CFile::begin);
+ for (UINT64 tmp = 0, i = 0; i < PROBE_SIZE / sizeof(tmp) && file.Read(&tmp, sizeof(tmp)); fileHash += tmp, ++i);
+ }
+ }
+ return fileHash;
+}
diff --git a/src/mpc-hc/SubtitlesProvidersUtils.h b/src/mpc-hc/SubtitlesProvidersUtils.h
new file mode 100644
index 000000000..849a114e4
--- /dev/null
+++ b/src/mpc-hc/SubtitlesProvidersUtils.h
@@ -0,0 +1,97 @@
+/*
+ * (C) 2016 see Authors.txt
+ *
+ * This file is part of MPC-HC.
+ *
+ * MPC-HC is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include <regex>
+#include <sstream>
+#include <string>
+#include <unordered_map>
+#include <vector>
+
+#define CRYPT_KEYLENGTH 0x01000000
+#define Z_ENCODING_GZIP 16
+#define Z_DECODING_ZLIB_GZIP 32
+#define PROBE_SIZE 64 * 1024
+
+struct SubtitlesInfo;
+
+namespace SubtitlesProvidersUtils
+{
+ using regexResult = std::vector<std::string>;
+ using regexResults = std::vector<regexResult>;
+ using stringMap = std::unordered_map<std::string, std::string>;
+ using stringArray = std::vector<std::string>;
+
+ static constexpr std::regex::flag_type RegexFlags(std::regex_constants::ECMAScript | std::regex_constants::icase | std::regex_constants::optimize);
+
+ int LevenshteinDistance(std::string s, std::string t);
+
+ std::string StringToHex(const std::string& data);
+ std::string StringToHex(const int& data);
+ std::string StringToHash(const std::string& data, ALG_ID Algid = CALG_MD5);
+
+
+ std::string StringEncrypt(const std::string& data, const std::string& key, ALG_ID Algid = CALG_AES_256);
+ std::string StringDecrypt(const std::string& data, const std::string& key, ALG_ID Algid = CALG_AES_256);
+
+ std::string StringFormat(_In_z_ _Printf_format_string_ char const* const fmt, ...);
+
+ size_t stringMatch(const std::string& pattern, const std::string& text, regexResults& results);
+ size_t stringMatch(const std::string& pattern, const std::string& text, regexResult& result);
+ size_t stringMatch(const std::regex& pattern, const std::string& text, regexResults& results);
+ size_t stringMatch(const std::regex& pattern, const std::string& text, regexResult& result);
+
+ std::string StringGzipDeflate(const std::string& data);
+ std::string StringGzipCompress(const std::string& data);
+ std::string StringGzipInflate(const std::string& data);
+ std::string StringGzipUncompress(const std::string& data);
+
+ int FileUnzip(CStringA fn, stringMap& dataOut);
+ bool FileUnRar(CString fn, stringMap& dataOut);
+ int CALLBACK UnRarProc(UINT msg, LPARAM UserData, LPARAM P1, LPARAM P2);
+
+ stringMap StringUncompress(const std::string& data, const std::string& fileName);
+ std::string StringGenerateUniqueKey();
+
+ HRESULT StringDownload(const std::string& url, const stringMap& headers, std::string& data,
+ bool bAutoRedirect = true, DWORD* dwStatusCode = nullptr);
+ HRESULT StringUpload(const std::string& url, const stringMap& headers, const std::string& content, std::string& data,
+ bool bAutoRedirect = true, DWORD* dwStatusCode = nullptr);
+
+ stringArray StringTokenize(const std::string& text, const std::string& delimiters, bool blank = false);
+ std::string StringTrim(const std::string& text, const std::string& characters = " ", int side = 0);
+ std::string StringReplace(const std::string& text, const std::string& find, const std::string& replace);
+
+ std::list<std::string> LanguagesISO6391();
+ std::list<std::string> LanguagesISO6392();
+ UINT64 GenerateOSHash(SubtitlesInfo& pFileInfo);
+
+ template <typename T>
+ std::string JoinContainer(const T& c, LPCSTR delim)
+ {
+ std::ostringstream stringStream;
+ if (c.cbegin() != c.cend()) {
+ std::copy(c.cbegin(), std::prev(c.cend()), std::ostream_iterator<typename T::value_type>(stringStream, delim));
+ stringStream << *c.crbegin();
+ }
+ return stringStream.str();
+ }
+}
diff --git a/src/mpc-hc/TextPassThruFilter.cpp b/src/mpc-hc/TextPassThruFilter.cpp
index 5a353c19b..184f6c45e 100644
--- a/src/mpc-hc/TextPassThruFilter.cpp
+++ b/src/mpc-hc/TextPassThruFilter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2013, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,7 +20,6 @@
*/
#include "stdafx.h"
-#include <Windows.h>
#include <commdlg.h>
#include "mplayerc.h"
#include "MainFrm.h"
diff --git a/src/mpc-hc/Translations.cpp b/src/mpc-hc/Translations.cpp
index 98ff139b0..34ba763c1 100644
--- a/src/mpc-hc/Translations.cpp
+++ b/src/mpc-hc/Translations.cpp
@@ -1,5 +1,5 @@
/*
-* (C) 2014-2015 see Authors.txt
+* (C) 2014-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,76 +21,89 @@
#include "stdafx.h"
#include "Translations.h"
#include "FileVersionInfo.h"
-#include "VersionInfo.h"
#include "PathUtils.h"
+#include "VersionInfo.h"
-static const std::vector<Translations::LanguageResource> languageResources = {
- { 1025, _T("Arabic"), _T("Lang\\mpcresources.ar.dll") },
- { 1067, _T("Armenian"), _T("Lang\\mpcresources.hy.dll") },
- { 1069, _T("Basque"), _T("Lang\\mpcresources.eu.dll") },
- { 1059, _T("Belarusian"), _T("Lang\\mpcresources.be.dll") },
- { 1093, _T("Bengali"), _T("Lang\\mpcresources.bn.dll") },
- { 1027, _T("Catalan"), _T("Lang\\mpcresources.ca.dll") },
- { 2052, _T("Chinese (Simplified)"), _T("Lang\\mpcresources.zh_CN.dll") },
- { 1028, _T("Chinese (Traditional)"), _T("Lang\\mpcresources.zh_TW.dll") },
- { 1050, _T("Croatian"), _T("Lang\\mpcresources.hr.dll") },
- { 1029, _T("Czech"), _T("Lang\\mpcresources.cs.dll") },
- { 1030, _T("Danish"), _T("Lang\\mpcresources.da.dll") },
- { 1043, _T("Dutch"), _T("Lang\\mpcresources.nl.dll") },
- { 0, _T("English"), nullptr },
- { 2057, _T("English (British)"), _T("Lang\\mpcresources.en_GB.dll") },
- { 1035, _T("Finnish"), _T("Lang\\mpcresources.fi.dll") },
- { 1036, _T("French"), _T("Lang\\mpcresources.fr.dll") },
- { 1110, _T("Galician"), _T("Lang\\mpcresources.gl.dll") },
- { 1031, _T("German"), _T("Lang\\mpcresources.de.dll") },
- { 1032, _T("Greek"), _T("Lang\\mpcresources.el.dll") },
- { 1037, _T("Hebrew"), _T("Lang\\mpcresources.he.dll") },
- { 1038, _T("Hungarian"), _T("Lang\\mpcresources.hu.dll") },
- { 1057, _T("Indonesian"), _T("Lang\\mpcresources.id.dll") },
- { 1040, _T("Italian"), _T("Lang\\mpcresources.it.dll") },
- { 1041, _T("Japanese"), _T("Lang\\mpcresources.ja.dll") },
- { 1042, _T("Korean"), _T("Lang\\mpcresources.ko.dll") },
- { 1063, _T("Lithuanian"), _T("Lang\\mpcresources.lt.dll") },
- { 1086, _T("Malay"), _T("Lang\\mpcresources.ms_MY.dll") },
- { 1045, _T("Polish"), _T("Lang\\mpcresources.pl.dll") },
- { 1046, _T("Portuguese (Brazil)"), _T("Lang\\mpcresources.pt_BR.dll") },
- { 1094, _T("Punjabi"), _T("Lang\\mpcresources.pa.dll") },
- { 1048, _T("Romanian"), _T("Lang\\mpcresources.ro.dll") },
- { 1049, _T("Russian"), _T("Lang\\mpcresources.ru.dll") },
- { 3098, _T("Serbian"), _T("Lang\\mpcresources.sr.dll") },
- { 1051, _T("Slovak"), _T("Lang\\mpcresources.sk.dll") },
- { 1060, _T("Slovenian"), _T("Lang\\mpcresources.sl.dll") },
- { 1053, _T("Swedish"), _T("Lang\\mpcresources.sv.dll") },
- { 3082, _T("Spanish"), _T("Lang\\mpcresources.es.dll") },
- { 1092, _T("Tatar"), _T("Lang\\mpcresources.tt.dll") },
- { 1054, _T("Thai"), _T("Lang\\mpcresources.th_TH.dll") },
- { 1055, _T("Turkish"), _T("Lang\\mpcresources.tr.dll") },
- { 1058, _T("Ukrainian"), _T("Lang\\mpcresources.uk.dll") },
- { 1066, _T("Vietnamese"), _T("Lang\\mpcresources.vi.dll") }
-};
+namespace
+{
+ static_assert(std::is_pod<Translations::LanguageResource>::value, "POD type is expected.");
+
+ constexpr Translations::LanguageResource languageResources[] = {
+ { 1025, _T("Arabic"), _T("Lang\\mpcresources.ar.dll") },
+ { 1067, _T("Armenian"), _T("Lang\\mpcresources.hy.dll") },
+ { 1069, _T("Basque"), _T("Lang\\mpcresources.eu.dll") },
+ { 1059, _T("Belarusian"), _T("Lang\\mpcresources.be.dll") },
+ { 1093, _T("Bengali"), _T("Lang\\mpcresources.bn.dll") },
+ { 5146, _T("Bosnian"), _T("Lang\\mpcresources.bs_BA.dll") },
+ { 1027, _T("Catalan"), _T("Lang\\mpcresources.ca.dll") },
+ { 2052, _T("Chinese (Simplified)"), _T("Lang\\mpcresources.zh_CN.dll") },
+ { 1028, _T("Chinese (Traditional)"), _T("Lang\\mpcresources.zh_TW.dll") },
+ { 1050, _T("Croatian"), _T("Lang\\mpcresources.hr.dll") },
+ { 1029, _T("Czech"), _T("Lang\\mpcresources.cs.dll") },
+ { 1030, _T("Danish"), _T("Lang\\mpcresources.da.dll") },
+ { 1043, _T("Dutch"), _T("Lang\\mpcresources.nl.dll") },
+ { 0, _T("English"), nullptr },
+ { 2057, _T("English (British)"), _T("Lang\\mpcresources.en_GB.dll") },
+ { 1035, _T("Finnish"), _T("Lang\\mpcresources.fi.dll") },
+ { 1036, _T("French"), _T("Lang\\mpcresources.fr.dll") },
+ { 1110, _T("Galician"), _T("Lang\\mpcresources.gl.dll") },
+ { 1031, _T("German"), _T("Lang\\mpcresources.de.dll") },
+ { 1032, _T("Greek"), _T("Lang\\mpcresources.el.dll") },
+ { 1037, _T("Hebrew"), _T("Lang\\mpcresources.he.dll") },
+ { 1038, _T("Hungarian"), _T("Lang\\mpcresources.hu.dll") },
+ { 1057, _T("Indonesian"), _T("Lang\\mpcresources.id.dll") },
+ { 1040, _T("Italian"), _T("Lang\\mpcresources.it.dll") },
+ { 1041, _T("Japanese"), _T("Lang\\mpcresources.ja.dll") },
+ { 1042, _T("Korean"), _T("Lang\\mpcresources.ko.dll") },
+ { 1063, _T("Lithuanian"), _T("Lang\\mpcresources.lt.dll") },
+ { 1086, _T("Malay"), _T("Lang\\mpcresources.ms_MY.dll") },
+ { 1045, _T("Polish"), _T("Lang\\mpcresources.pl.dll") },
+ { 1046, _T("Portuguese (Brazil)"), _T("Lang\\mpcresources.pt_BR.dll") },
+ { 1094, _T("Punjabi"), _T("Lang\\mpcresources.pa.dll") },
+ { 1048, _T("Romanian"), _T("Lang\\mpcresources.ro.dll") },
+ { 1049, _T("Russian"), _T("Lang\\mpcresources.ru.dll") },
+ { 3098, _T("Serbian"), _T("Lang\\mpcresources.sr.dll") },
+ { 1051, _T("Slovak"), _T("Lang\\mpcresources.sk.dll") },
+ { 1060, _T("Slovenian"), _T("Lang\\mpcresources.sl.dll") },
+ { 1053, _T("Swedish"), _T("Lang\\mpcresources.sv.dll") },
+ { 3082, _T("Spanish"), _T("Lang\\mpcresources.es.dll") },
+ { 1092, _T("Tatar"), _T("Lang\\mpcresources.tt.dll") },
+ { 1054, _T("Thai"), _T("Lang\\mpcresources.th_TH.dll") },
+ { 1055, _T("Turkish"), _T("Lang\\mpcresources.tr.dll") },
+ { 1058, _T("Ukrainian"), _T("Lang\\mpcresources.uk.dll") },
+ { 1066, _T("Vietnamese"), _T("Lang\\mpcresources.vi.dll") },
+ };
+
+ LRESULT CALLBACK RTLWindowsLayoutCbtFilterHook(int code, WPARAM wParam, LPARAM lParam)
+ {
+ if (code == HCBT_CREATEWND) {
+ HWND hWnd = (HWND)wParam;
+ if ((GetWindowLongPtr(hWnd, GWL_STYLE) & WS_CHILD) == 0) {
+ SetWindowLongPtr(hWnd, GWL_EXSTYLE, GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_LAYOUTRTL);
+ }
+ }
+ return CallNextHookEx(nullptr, code, wParam, lParam);
+ }
+}
Translations::LanguageResource Translations::GetLanguageResourceByLocaleID(LANGID localeID)
{
- Translations::LanguageResource defaultResource;
-
- for (auto& lr : languageResources) {
+ for (const auto& lr : languageResources) {
if (localeID == lr.localeID) {
return lr;
- } else if (0 == lr.localeID) {
- defaultResource = lr;
}
}
- return defaultResource;
+ return { 0, _T("English"), nullptr };
}
std::list<Translations::LanguageResource> Translations::GetAvailableLanguageResources()
{
- std::list<Translations::LanguageResource> availableResources;
+ std::list<LanguageResource> availableResources;
- CString appPath = PathUtils::GetProgramPath();
+ const CString appPath = PathUtils::GetProgramPath();
- for (auto& lr : languageResources) {
+ for (const LanguageResource& lr : languageResources) {
if (0 == lr.localeID || PathUtils::Exists(PathUtils::CombinePaths(appPath, lr.dllPath))) {
availableResources.emplace_back(lr);
}
@@ -101,35 +114,30 @@ std::list<Translations::LanguageResource> Translations::GetAvailableLanguageReso
LANGID Translations::SetDefaultLanguage()
{
- auto languageResource = GetLanguageResourceByLocaleID(GetUserDefaultUILanguage());
-
+ LANGID localeID = GetUserDefaultUILanguage();
// Try to set the language resource but don't fail if it can't be loaded
// English will we used instead in case of error
- return SetLanguage(languageResource, false) ? languageResource.localeID : 0;
+ return SetLanguage(localeID, false) ? localeID : 0;
}
-static LRESULT CALLBACK RTLWindowsLayoutCbtFilterHook(int code, WPARAM wParam, LPARAM lParam)
+bool Translations::SetLanguage(LANGID localeID, bool showErrorMsg /*= true*/)
{
- if (code == HCBT_CREATEWND) {
- HWND hWnd = (HWND)wParam;
- if ((GetWindowLongPtr(hWnd, GWL_STYLE) & WS_CHILD) == 0) {
- SetWindowLongPtr(hWnd, GWL_EXSTYLE, GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_LAYOUTRTL);
- }
- }
- return CallNextHookEx(nullptr, code, wParam, lParam);
-}
+ // Note that all messages should stay in English in this method!
-bool Translations::SetLanguage(LanguageResource languageResource, bool showErrorMsg /*= true*/)
-{
- HMODULE hMod = nullptr;
- bool success = false;
+ LanguageResource languageResource = GetLanguageResourceByLocaleID(localeID);
- // Note that all messages should stay in English in that method!
+ // Check if we fell back to English locale
+ bool success = (languageResource.localeID == localeID);
+ ASSERT(success || languageResource.localeID == 0);
+
+ HMODULE hMod = nullptr;
// Try to load the resource dll if any
if (languageResource.dllPath) {
+ ASSERT(success);
hMod = LoadLibrary(languageResource.dllPath);
if (hMod == nullptr) { // The dll failed to load for some reason
+ success = false;
if (showErrorMsg) {
MessageBox(nullptr, _T("Error loading the chosen language.\n\nPlease reinstall MPC-HC."),
_T("MPC-HC"), MB_ICONWARNING | MB_OK);
@@ -139,9 +147,9 @@ bool Translations::SetLanguage(LanguageResource languageResource, bool showError
CString strNeededVersion;
strNeededVersion.Format(_T("%u.%u.%u.0"), VersionInfo::GetMajorNumber(), VersionInfo::GetMinorNumber(), VersionInfo::GetPatchNumber());
- if (strSatVersion == strNeededVersion) {
- success = true;
- } else { // The version wasn't correct
+ if (strSatVersion != strNeededVersion) {
+ // The version wasn't correct
+ success = false;
if (showErrorMsg) {
int sel = MessageBox(nullptr, _T("Your language pack will not work with this version.\n\nDo you want to visit the download page to get a full package including the translations?"),
_T("MPC-HC"), MB_ICONWARNING | MB_YESNO);
@@ -159,8 +167,6 @@ bool Translations::SetLanguage(LanguageResource languageResource, bool showError
// In case no dll was loaded, load the English translation from the executable
if (hMod == nullptr) {
hMod = AfxGetApp()->m_hInstance;
- // If a resource dll was supposed to be loaded we had an error
- success = (languageResource.dllPath == nullptr);
}
// In case a dll was loaded, check if some special action is needed
else if (PRIMARYLANGID(languageResource.localeID) == LANG_ARABIC || PRIMARYLANGID(languageResource.localeID) == LANG_HEBREW) {
diff --git a/src/mpc-hc/Translations.h b/src/mpc-hc/Translations.h
index 31da57eaf..19d21e438 100644
--- a/src/mpc-hc/Translations.h
+++ b/src/mpc-hc/Translations.h
@@ -1,5 +1,5 @@
/*
-* (C) 2014 see Authors.txt
+* (C) 2014-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,22 +20,11 @@
#pragma once
-#include <Windows.h>
#include <list>
namespace Translations
{
struct LanguageResource {
- LanguageResource()
- : LanguageResource(WORD_ERROR, nullptr, nullptr)
- {};
-
- LanguageResource(LANGID localeID, LPCTSTR name, LPCTSTR dllPath)
- : localeID(localeID)
- , name(name)
- , dllPath(dllPath)
- {};
-
LANGID localeID; // Check http://msdn.microsoft.com/en-us/goglobal/bb964664
LPCTSTR name;
LPCTSTR dllPath;
@@ -46,5 +35,5 @@ namespace Translations
std::list<LanguageResource> GetAvailableLanguageResources();
LANGID SetDefaultLanguage();
- bool SetLanguage(LanguageResource languageResource, bool showErrorMsg = true);
+ bool SetLanguage(LANGID localeID, bool showErrorMsg = true);
};
diff --git a/src/mpc-hc/TunerScanDlg.cpp b/src/mpc-hc/TunerScanDlg.cpp
index 64f531a09..9fdf90eb9 100644
--- a/src/mpc-hc/TunerScanDlg.cpp
+++ b/src/mpc-hc/TunerScanDlg.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2015 see Authors.txt
+ * (C) 2009-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -244,8 +244,7 @@ LRESULT CTunerScanDlg::OnNewChannel(WPARAM wParam, LPARAM lParam)
strTemp.Format(_T("%lu"), channel.GetFrequency());
m_ChannelList.SetItemText(nItem, TSCC_FREQUENCY, strTemp);
- strTemp = channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
- m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, strTemp);
+ m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, ResStr(channel.IsEncrypted() ? IDS_YES : IDS_NO));
if (channel.GetVideoType() == DVB_H264) {
strTemp = _T("H.264");
} else if (channel.GetVideoType() == DVB_HEVC) {
diff --git a/src/mpc-hc/UpdateChecker.cpp b/src/mpc-hc/UpdateChecker.cpp
index 5b19a24d7..bce4cbdf3 100644
--- a/src/mpc-hc/UpdateChecker.cpp
+++ b/src/mpc-hc/UpdateChecker.cpp
@@ -27,6 +27,7 @@
#include "SettingsDefines.h"
#include "mplayerc.h"
#include "SysVersion.h"
+#include "AppSettings.h"
#include <afxinet.h>
diff --git a/src/mpc-hc/VMROSD.cpp b/src/mpc-hc/VMROSD.cpp
index 918a45a49..1bd797cd0 100644
--- a/src/mpc-hc/VMROSD.cpp
+++ b/src/mpc-hc/VMROSD.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -371,7 +371,7 @@ void CVMROSD::UpdateSeekBarPos(CPoint point)
}
if (m_pWnd) {
- AfxGetApp()->GetMainWnd()->PostMessage(WM_HSCROLL, MAKEWPARAM((short)m_llSeekPos, SB_THUMBTRACK), (LPARAM)m_pWnd->m_hWnd);
+ AfxGetApp()->GetMainWnd()->PostMessage(WM_HSCROLL, NULL, reinterpret_cast<LPARAM>(m_pWnd->m_hWnd));
}
}
diff --git a/src/mpc-hc/VMROSD.h b/src/mpc-hc/VMROSD.h
index ab2b9ce52..0e7b0efb2 100644
--- a/src/mpc-hc/VMROSD.h
+++ b/src/mpc-hc/VMROSD.h
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2014, 2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,8 +20,6 @@
#pragma once
-#include <atlbase.h>
-#include <d3d9.h>
#include <evr9.h>
#include <vmr9.h>
diff --git a/src/mpc-hc/VolumeCtrl.cpp b/src/mpc-hc/VolumeCtrl.cpp
index f2365c4e4..e1a13b96b 100644
--- a/src/mpc-hc/VolumeCtrl.cpp
+++ b/src/mpc-hc/VolumeCtrl.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "VolumeCtrl.h"
+#include "AppSettings.h"
// CVolumeCtrl
@@ -55,7 +56,7 @@ bool CVolumeCtrl::Create(CWnd* pParentWnd)
void CVolumeCtrl::SetPosInternal(int pos)
{
SetPos(pos);
- GetParent()->PostMessage(WM_HSCROLL, MAKEWPARAM((short)pos, SB_THUMBPOSITION), (LPARAM)m_hWnd); // this will be reflected back on us
+ GetParent()->PostMessage(WM_HSCROLL, MAKEWPARAM(static_cast<WORD>(pos), SB_THUMBPOSITION), reinterpret_cast<LPARAM>(m_hWnd)); // this will be reflected back on us
}
void CVolumeCtrl::IncreaseVolume()
@@ -189,7 +190,7 @@ void CVolumeCtrl::HScroll(UINT nSBCode, UINT nPos)
CFrameWnd* pFrame = GetParentFrame();
if (pFrame && pFrame != GetParent()) {
- pFrame->PostMessage(WM_HSCROLL, MAKEWPARAM((short)nPos, nSBCode), (LPARAM)m_hWnd);
+ pFrame->PostMessage(WM_HSCROLL, MAKEWPARAM(static_cast<WORD>(nPos), static_cast<WORD>(nSBCode)), reinterpret_cast<LPARAM>(m_hWnd));
}
}
@@ -203,7 +204,7 @@ BOOL CVolumeCtrl::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult)
{
TOOLTIPTEXT* pTTT = reinterpret_cast<LPTOOLTIPTEXT>(pNMHDR);
CString str;
- str.Format(ResStr(IDS_VOLUME), GetPos());
+ str.Format(IDS_VOLUME, GetPos());
_tcscpy_s(pTTT->szText, str);
pTTT->hinst = nullptr;
diff --git a/src/mpc-hc/WebClientSocket.cpp b/src/mpc-hc/WebClientSocket.cpp
index fa0480fcf..38a1253b7 100644
--- a/src/mpc-hc/WebClientSocket.cpp
+++ b/src/mpc-hc/WebClientSocket.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -124,7 +124,7 @@ void CWebClientSocket::HandleRequest()
CStringA reshdr, resbody;
- if (m_cmd == _T("GET") || m_cmd == _T("HEAD") || m_cmd == _T("POST")) {
+ if (m_cmd == "GET" || m_cmd == "HEAD" || m_cmd == "POST") {
int i = m_path.Find('?');
if (i >= 0) {
m_query = m_path.Mid(i + 1);
@@ -213,7 +213,7 @@ void CWebClientSocket::HandleRequest()
Send(reshdr, reshdr.GetLength());
- if (m_cmd != _T("HEAD") && reshdr.Find("HTTP/1.0 200 OK") == 0 && !resbody.IsEmpty()) {
+ if (m_cmd != "HEAD" && reshdr.Find("HTTP/1.0 200 OK") == 0 && !resbody.IsEmpty()) {
Send(resbody, resbody.GetLength());
}
@@ -258,7 +258,7 @@ void CWebClientSocket::ParseHeader(const char* headerEnd)
m_hdrlines[key.MakeLower()] = val;
}
- if (m_cmd == _T("POST")) {
+ if (m_cmd == "POST") {
CStringA str;
if (m_hdrlines.Lookup("content-length", str)) {
m_dataLen = strtol(str, nullptr, 10);
@@ -379,7 +379,7 @@ bool CWebClientSocket::OnCommand(CStringA& hdr, CStringA& body, CStringA& mime)
m_pMainFrame->SendMessage(WM_COMMAND, id);
}
} else {
- if (arg == CMD_SETPOS && m_request.Lookup("position", arg)) {
+ if (arg == _T(CMD_SETPOS) && m_request.Lookup("position", arg)) {
int h, m, s, ms = 0;
TCHAR c;
if (_stscanf_s(arg, _T("%d%c%d%c%d%c%d"), &h, &c, 1, &m, &c, 1, &s, &c, 1, &ms) >= 5) {
@@ -391,12 +391,12 @@ bool CWebClientSocket::OnCommand(CStringA& hdr, CStringA& body, CStringA& mime)
}
}
}
- } else if (arg == CMD_SETPOS && m_request.Lookup("percent", arg)) {
+ } else if (arg == _T(CMD_SETPOS) && m_request.Lookup("percent", arg)) {
float percent = 0;
if (_stscanf_s(arg, _T("%f"), &percent) == 1) {
m_pMainFrame->SeekTo((REFERENCE_TIME)(percent / 100 * m_pMainFrame->GetDur()));
}
- } else if (arg == CMD_SETVOLUME && m_request.Lookup("volume", arg)) {
+ } else if (arg == _T(CMD_SETVOLUME) && m_request.Lookup("volume", arg)) {
int volume = _tcstol(arg, nullptr, 10);
m_pMainFrame->m_wndToolBar.Volume = std::min(std::max(volume, 0), 100);
m_pMainFrame->OnPlayVolume(0);
@@ -548,7 +548,7 @@ bool CWebClientSocket::OnBrowser(CStringA& hdr, CStringA& body, CStringA& mime)
files += "</tr>\r\n";
}
- path = "Root";
+ path = _T("Root");
} else {
CString parent;
@@ -804,7 +804,7 @@ bool CWebClientSocket::OnPlayer(CStringA& hdr, CStringA& body, CStringA& mime)
body.Replace("[preview]",
"<img src=\"snapshot.jpg\" id=\"snapshot\" alt=\"snapshot\" onload=\"onLoadSnapshot()\" onabort=\"onAbortErrorSnapshot()\" onerror=\"onAbortErrorSnapshot()\">");
} else {
- body.Replace("[preview]", UTF8(ResStr(IDS_WEBUI_DISABLED_PREVIEW_MSG)));
+ body.Replace("[preview]", UTF8(StrRes(IDS_WEBUI_DISABLED_PREVIEW_MSG)));
}
return true;
}
@@ -899,7 +899,7 @@ bool CWebClientSocket::OnViewRes(CStringA& hdr, CStringA& body, CStringA& mime)
}
body = CStringA((const char*)res->data.GetData(), (int)res->data.GetCount());
- mime = CStringA(res->mime);
+ mime = res->mime;
return true;
}
diff --git a/src/mpc-hc/WebServer.cpp b/src/mpc-hc/WebServer.cpp
index 1464f37cb..1e043984f 100644
--- a/src/mpc-hc/WebServer.cpp
+++ b/src/mpc-hc/WebServer.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -147,7 +147,7 @@ void CWebServer::Init()
ULONG len2 = _countof(ext);
if (ERROR_SUCCESS == mime.Open(HKEY_CLASSES_ROOT, str + _T("\\") + buff, KEY_READ)
&& ERROR_SUCCESS == mime.QueryStringValue(_T("Extension"), ext, &len2)) {
- m_mimes[CStringA(CString(ext).MakeLower())] = CStringA(CString(buff).MakeLower());
+ m_mimes[CStringA(ext).MakeLower()] = CStringA(buff).MakeLower();
}
}
}
@@ -257,7 +257,7 @@ bool CWebServer::ToLocalPath(CString& path, CString& redir)
p = p2;
redir = path;
if (redir.GetAt(redir.GetLength() - 1) != '/') {
- redir += '/';
+ redir += _T('/');
}
redir += str;
break;
@@ -656,7 +656,7 @@ bool CWebServer::CallCGI(CWebClientSocket* pClient, CStringA& hdr, CStringA& bod
}
TCHAR* cmdln = DEBUG_NEW TCHAR[32768];
- _sntprintf_s(cmdln, 32768, 32768, _T("\"%s\" \"%s\""), cgi, path);
+ _sntprintf_s(cmdln, 32768, 32768, _T("\"%s\" \"%s\""), cgi.GetString(), path.GetString());
if (hChildStdinRd && hChildStdoutWr)
if (CreateProcess(
@@ -699,7 +699,7 @@ bool CWebServer::CallCGI(CWebClientSocket* pClient, CStringA& hdr, CStringA& bod
CloseHandle(piProcInfo.hProcess);
CloseHandle(piProcInfo.hThread);
} else {
- body = _T("CGI Error");
+ body = "CGI Error";
}
delete [] cmdln;
diff --git a/src/mpc-hc/mpc-hc.rc b/src/mpc-hc/mpc-hc.rc
index 66cfe7ce8..ee5cae4b5 100644
--- a/src/mpc-hc/mpc-hc.rc
+++ b/src/mpc-hc/mpc-hc.rc
@@ -182,7 +182,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
ICON "",IDR_MAINFRAME,14,10,48,48
LTEXT "",IDC_STATIC1,60,8,200,8
- CONTROL "Copyright 2002-2015 see Authors.txt",IDC_AUTHORS_LINK,
+ CONTROL "Copyright 2002-2017 see Authors.txt",IDC_AUTHORS_LINK,
"SysLink",WS_TABSTOP,60,20,200,8
CONTROL "",IDC_HOMEPAGE_LINK,"SysLink",WS_TABSTOP,60,32,200,8
LTEXT "This program is freeware and released under the GNU General Public License.",IDC_STATIC,7,46,246,18
@@ -293,32 +293,34 @@ BEGIN
RTEXT "L",IDC_STATIC,145,31,30,8
CONTROL "",IDC_SLIDER2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | TBS_TOOLTIPS | WS_TABSTOP | 0x400,175,23,85,24
LTEXT "R",IDC_STATIC,261,31,27,8
- GROUPBOX "Playback",IDC_STATIC,5,104,126,36
- CONTROL "Play",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,117,55,8
- CONTROL "Repeat forever",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,10,129,116,8
+ GROUPBOX "Playback",IDC_STATIC,5,104,126,54
+ CONTROL "Play",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,10,117,55,8
+ CONTROL "Repeat forever",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,10,129,116,8
EDITTEXT IDC_EDIT1,65,115,20,13,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "time(s)",IDC_STATIC1,90,117,40,8
- GROUPBOX "After Playback",IDC_STATIC,5,143,126,27
- COMBOBOX IDC_COMBO2,10,153,116,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- GROUPBOX "Output",IDC_STATIC,137,55,154,46
+ LTEXT "Repeat mode:",IDC_STATIC,10,143,48,8
+ COMBOBOX IDC_COMBO3,65,141,60,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_EDIT2,190,115,94,13,ES_AUTOHSCROLL
+ GROUPBOX "After Playback",IDC_STATIC,5,160,126,27
+ COMBOBOX IDC_COMBO2,10,170,116,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ GROUPBOX "Default zoom",IDC_STATIC,137,55,154,46
CONTROL "Auto-zoom:",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,142,67,75,8
COMBOBOX IDC_COMBO1,219,65,65,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Auto fit factor:",IDC_STATIC2,142,84,94,8
EDITTEXT IDC_EDIT4,238,81,35,14,ES_CENTER | ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,273,81,11,14
LTEXT "%",IDC_STATIC3,277,84,8,8
- GROUPBOX "Default track preference",IDC_STATIC,137,104,154,66
+ GROUPBOX "Default track preference",IDC_STATIC,137,104,154,83
LTEXT "Subtitles:",IDC_STATIC,142,117,44,8
- EDITTEXT IDC_EDIT2,190,115,94,13,ES_AUTOHSCROLL
LTEXT "Audio:",IDC_STATIC,142,134,44,8
EDITTEXT IDC_EDIT3,190,132,94,13,ES_AUTOHSCROLL
CONTROL "Allow overriding external splitter choice",IDC_CHECK4,
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,142,150,142,18
- GROUPBOX "Open settings",IDC_STATIC,5,173,286,63
+ GROUPBOX "Open settings",IDC_STATIC,5,190,286,46
CONTROL "Use worker thread to construct the filter graph",IDC_CHECK7,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,185,276,8
- CONTROL "Report pins which fail to render",IDC_CHECK6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,197,276,8
- CONTROL "Auto-load audio files",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,209,276,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,200,276,8
+ CONTROL "Report pins which fail to render",IDC_CHECK6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,212,276,8
+ CONTROL "Auto-load audio files",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,224,276,8
GROUPBOX "Control",IDC_STATIC,5,55,126,46
LTEXT "Volume step:",IDC_STATIC,11,67,68,8
EDITTEXT IDC_VOLUMESTEP,81,64,35,14,ES_CENTER | ES_AUTOHSCROLL | ES_NUMBER
@@ -369,7 +371,7 @@ BEGIN
CONTROL "Apply aspect ratio compensation for anamorphic videos",IDC_CHECK_SUB_AR_COMPENSATION,
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,148,277,8
GROUPBOX "Warning",IDC_STATIC,5,165,286,43
- LTEXT "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU.",IDC_STATIC,10,176,267,27
+ LTEXT "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU.",IDC_STATIC,10,176,267,27
END
IDD_PPAGEFORMATS DIALOGEX 0, 0, 296, 241
@@ -754,7 +756,7 @@ BEGIN
PUSHBUTTON "Browse...",IDC_BUTTON2,241,222,50,14
END
-IDD_PPAGEOUTPUT DIALOGEX 0, 0, 296, 236
+IDD_PPAGEOUTPUT DIALOGEX 0, 0, 296, 250
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
@@ -766,7 +768,7 @@ BEGIN
COMBOBOX IDC_QTRND_COMBO,155,59,131,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Audio Renderer",IDC_STATIC,5,90,285,30
COMBOBOX IDC_AUDRND_COMBO,10,102,276,46,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- GROUPBOX "VMR-7/VMR-9 (renderless) and EVR (CP) settings",IDC_STATIC,5,153,285,83
+ GROUPBOX "VMR-9 (renderless) and EVR (CP) settings",IDC_STATIC,5,153,285,93
RTEXT "Surface:",IDC_STATIC,118,184,60,8
COMBOBOX IDC_DX_SURFACE,181,181,105,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
RTEXT "Resizer:",IDC_STATIC,118,200,60,8
@@ -801,6 +803,7 @@ BEGIN
ICON "",IDC_QTRND_SAVEIMAGE_SUPPORT,221,75,20,20
GROUPBOX "Subtitle Renderer",IDC_STATIC,5,121,285,30
COMBOBOX IDC_COMBO1,10,133,276,46,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ CONTROL "Cache compiled Shaders",IDC_CACHESHADERS,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,232,171,10
END
IDD_PPAGEWEBSERVER DIALOGEX 0, 0, 296, 241
@@ -828,12 +831,30 @@ END
IDD_SUBTITLEDL_DLG DIALOGEX 0, 0, 500, 200
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Subtitles available online"
+CAPTION "Download subtitles"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,5,490,157
+ CONTROL "Replace currently loaded subtitles",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,169,290,8
+ DEFPUSHBUTTON "Download",IDOK,341,166,50,14
+ PUSHBUTTON "Refresh",IDC_BUTTON1,393,166,50,14
+ PUSHBUTTON "Abort",IDC_BUTTON2,393,166,50,14
+ PUSHBUTTON "Options",IDC_BUTTON3,445,166,50,14
+ CONTROL "",IDC_STATUSBAR,"msctls_statusbar32",0x103,0,184,499,16
+ CONTROL "",IDC_PROGRESS1,"msctls_progress32",PBS_SMOOTH,213,166,82,14
+END
+
+IDD_SUBTITLEUP_DLG DIALOGEX 0, 0, 500, 200
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Upload subtitles"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
- DEFPUSHBUTTON "Download && Open",IDOK,397,166,98,14
- CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,5,490,157
- CONTROL "Replace currently loaded subtitles",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,169,200,8
+ CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,5,490,157
+ DEFPUSHBUTTON "Upload",IDOK,341,166,50,14
+ PUSHBUTTON "Abort",IDC_BUTTON1,393,166,50,14,WS_DISABLED
+ PUSHBUTTON "Options",IDC_BUTTON2,445,166,50,14
+ CONTROL "",IDC_STATUSBAR,"msctls_statusbar32",0x103,0,184,499,16
+ CONTROL "",IDC_PROGRESS1,"msctls_progress32",PBS_SMOOTH,213,166,82,14
END
IDD_FILEPROPRES DIALOGEX 0, 0, 234, 202
@@ -925,10 +946,10 @@ BEGIN
LTEXT "Receiver",IDC_STATIC6,10,140,74,8
COMBOBOX IDC_COMBO3,84,138,202,30,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
LTEXT "Channel switching approach:",IDC_PPAGECAPTURE_ST10,10,158,260,8
- LTEXT "Rebuild filter graph",IDC_PPAGECAPTURE_ST11,10,172,74,8
+ LTEXT "Rebuild filter graph",IDC_PPAGECAPTURE_ST11,10,172,74,16
EDITTEXT IDC_PPAGECAPTURE_DESC1,84,184,202,20,ES_MULTILINE | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
COMBOBOX IDC_COMBO6,84,170,201,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "Stop filter graph",IDC_PPAGECAPTURE_ST12,10,206,74,8
+ LTEXT "Stop filter graph",IDC_PPAGECAPTURE_ST12,10,206,74,16
COMBOBOX IDC_COMBO7,84,204,201,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
@@ -948,13 +969,13 @@ BEGIN
LTEXT "columns",IDC_STATIC4,231,60,30,8
CONTROL "Present at nearest VSync",IDC_SYNCNEAREST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,280,8
GROUPBOX "",IDC_STATIC,5,91,286,43
- LTEXT "Target sync offset:",IDC_STATIC5,10,105,100,8
- EDITTEXT IDC_TARGETSYNCOFFSET,114,103,40,13,ES_RIGHT | ES_AUTOHSCROLL,WS_EX_RIGHT
- LTEXT "ms",IDC_STATIC6,158,105,24,8
- LTEXT "Control limits:",IDC_STATIC7,10,119,86,8
- LTEXT "+/-",IDC_STATIC8,100,119,10,8
- EDITTEXT IDC_CONTROLLIMIT,114,117,40,13,ES_RIGHT | ES_AUTOHSCROLL,WS_EX_RIGHT
- LTEXT "ms",IDC_STATIC9,158,119,24,8
+ LTEXT "Target sync offset:",IDC_STATIC5,10,105,120,8
+ EDITTEXT IDC_TARGETSYNCOFFSET,134,103,40,13,ES_RIGHT | ES_AUTOHSCROLL,WS_EX_RIGHT
+ LTEXT "ms",IDC_STATIC6,178,105,24,8
+ LTEXT "Control limits:",IDC_STATIC7,10,119,110,8
+ LTEXT "+/-",IDC_STATIC8,120,119,10,8
+ EDITTEXT IDC_CONTROLLIMIT,134,117,40,13,ES_RIGHT | ES_AUTOHSCROLL,WS_EX_RIGHT
+ LTEXT "ms",IDC_STATIC9,178,119,24,8
LTEXT "Changes take effect after the playback has been closed and restarted.",IDC_STATIC10,10,138,276,18
END
@@ -965,8 +986,8 @@ BEGIN
CONTROL "Launch files in fullscreen",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,26,280,8
GROUPBOX "",IDC_STATIC,4,51,288,36
CONTROL "Hide controls in fullscreen",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,51,280,8
- LTEXT "ms",IDC_STATIC1,266,63,23,8
- COMBOBOX IDC_COMBO2,8,61,224,12,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+ LTEXT "ms",IDC_STATIC1,276,63,15,8
+ COMBOBOX IDC_COMBO2,8,61,233,12,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Hide docked panels",IDC_CHECK6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,76,280,8
CONTROL "Exit fullscreen at the end of playback",IDC_CHECK5,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,37,280,8
@@ -975,20 +996,20 @@ BEGIN
GROUPBOX "",IDC_STATIC,4,90,288,148
CONTROL "Use autochange fullscreen monitor mode",IDC_CHECK2,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,90,280,8
- CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,8,101,224,112
- PUSHBUTTON "Add",IDC_BUTTON1,235,101,53,16
- PUSHBUTTON "Del",IDC_BUTTON2,235,119,53,16
- PUSHBUTTON "Up",IDC_BUTTON3,235,143,53,16
- PUSHBUTTON "Down",IDC_BUTTON4,235,161,53,16
- EDITTEXT IDC_EDIT1,235,61,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,8,101,233,112
+ PUSHBUTTON "Add",IDC_BUTTON1,244,101,45,16
+ PUSHBUTTON "Del",IDC_BUTTON2,244,119,45,16
+ PUSHBUTTON "Up",IDC_BUTTON3,244,143,45,16
+ PUSHBUTTON "Down",IDC_BUTTON4,244,161,45,16
+ EDITTEXT IDC_EDIT1,244,61,28,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Apply default monitor mode on fullscreen exit",IDC_CHECK3,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,216,271,8
CONTROL "Restore resolution on program exit",IDC_RESTORERESCHECK,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,227,271,8
- GROUPBOX "Delay",IDC_STATIC,235,187,53,25
- EDITTEXT IDC_EDIT2,240,197,24,12,ES_AUTOHSCROLL | ES_NUMBER
+ GROUPBOX "Delay",IDC_STATIC,244,187,45,25
+ EDITTEXT IDC_EDIT2,249,197,24,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_HOTTRACK,267,180,10,8
- LTEXT "s",IDC_STATIC2,267,199,19,8
+ LTEXT "s",IDC_STATIC2,276,199,12,8
END
IDD_NAVIGATION_DLG DIALOGEX 0, 0, 93, 60
@@ -1010,14 +1031,21 @@ BEGIN
CONTROL "Prefer external subtitles over embedded subtitles",IDC_CHECK2,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,17,285,8
CONTROL "Ignore embedded subtitles",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,29,285,8
- GROUPBOX "Autoload paths",IDC_STATIC,5,41,287,31
- EDITTEXT IDC_EDIT1,10,53,224,14,ES_AUTOHSCROLL
- PUSHBUTTON "Reset",IDC_BUTTON1,237,53,50,14
- GROUPBOX "Online database",IDC_STATIC,6,78,286,45
- LTEXT "Base URL of the online subtitle database:",IDC_STATIC,10,89,222,8
- LTEXT "http://",IDC_STATIC,10,103,22,8
- COMBOBOX IDC_COMBO1,35,101,199,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "Test",IDC_BUTTON2,237,100,50,14
+ GROUPBOX "Autoload paths",IDC_STATIC,5,41,285,32
+ EDITTEXT IDC_EDIT1,12,53,220,14,ES_AUTOHSCROLL
+ PUSHBUTTON "Reset",IDC_BUTTON1,234,53,50,14
+ GROUPBOX "Online search, download and upload subtitles",IDC_STATIC,6,76,285,160
+ CONTROL "Automatically search and download subtitles if none are found locally",IDC_CHECK4,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,90,270,8
+ CONTROL "Prefer subtitles for hearing impaired (when indicated by subtitles provider)",IDC_CHECK5,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,102,255,8
+ LTEXT "Ignore files containing any of the following word(s):",IDC_STATIC1,22,117,170,8
+ EDITTEXT IDC_EDIT2,194,114,90,14,ES_AUTOHSCROLL
+ LTEXT "Languages in order of preference:",IDC_STATIC,12,133,180,8
+ EDITTEXT IDC_EDIT3,194,130,90,14,ES_AUTOHSCROLL
+ CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,12,146,272,73
+ CONTROL "Automatically upload active subtitles at the end of video playback",IDC_CHECK6,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,222,270,8
END
IDD_UPDATE_DIALOG DIALOGEX 0, 0, 300, 60
@@ -1080,11 +1108,12 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
LTEXT "Advanced Settings, do not edit unless you know what you are doing.",IDC_STATIC,10,4,276,16
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,10,22,276,192
- EDITTEXT IDC_EDIT1,10,218,217,13,ES_AUTOHSCROLL
- COMBOBOX IDC_COMBO1,10,218,217,13,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- CONTROL "True",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,55,218,31,13
- CONTROL "False",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,129,218,33,13
- PUSHBUTTON "Default",IDC_BUTTON1,232,218,54,13
+ EDITTEXT IDC_EDIT1,10,218,217,14,ES_AUTOHSCROLL
+ CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,217,218,11,14
+ COMBOBOX IDC_COMBO1,10,218,217,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ CONTROL "True",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,55,218,31,14
+ CONTROL "False",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,129,218,33,14
+ PUSHBUTTON "Default",IDC_BUTTON1,232,218,54,14
END
IDD_PPAGEAUDIORENDERER DIALOGEX 0, 0, 296, 241
@@ -1280,6 +1309,14 @@ BEGIN
BEGIN
END
+ IDD_SUBTITLEDL_DLG, DIALOG
+ BEGIN
+ END
+
+ IDD_SUBTITLEUP_DLG, DIALOG
+ BEGIN
+ END
+
IDD_PPAGEMISC, DIALOG
BEGIN
VERTGUIDE, 10
@@ -1299,7 +1336,7 @@ BEGIN
IDD_PPAGEFULLSCREEN, DIALOG
BEGIN
- VERTGUIDE, 235
+ VERTGUIDE, 244
VERTGUIDE, 288
HORZGUIDE, 204
END
@@ -1357,6 +1394,7 @@ END
IDB_PLAYERTOOLBAR BITMAP "res\\toolbar.bmp"
+
/////////////////////////////////////////////////////////////////////////////
//
// Toolbar
@@ -1405,13 +1443,13 @@ BEGIN
MENUITEM "Save &Image...", ID_FILE_SAVE_IMAGE
MENUITEM "Save &Thumbnails...", ID_FILE_SAVE_THUMBNAILS
MENUITEM SEPARATOR
- MENUITEM "&Load Subtitle...", ID_FILE_LOAD_SUBTITLE
- MENUITEM "Save S&ubtitle...", ID_FILE_SAVE_SUBTITLE
- POPUP "Subtitle Data&base"
+ POPUP "S&ubtitles"
BEGIN
- MENUITEM "&Search...", ID_FILE_ISDB_SEARCH
- MENUITEM "&Upload...", ID_FILE_ISDB_UPLOAD
- MENUITEM "&Download...", ID_FILE_ISDB_DOWNLOAD
+ MENUITEM "&Load Subtitles...", ID_FILE_SUBTITLES_LOAD
+ MENUITEM "Save S&ubtitles...", ID_FILE_SUBTITLES_SAVE
+ MENUITEM SEPARATOR
+ MENUITEM "&Download Subtitles...", ID_FILE_SUBTITLES_DOWNLOAD
+ MENUITEM "&Upload Subtitles...", ID_FILE_SUBTITLES_UPLOAD
END
MENUITEM SEPARATOR
MENUITEM "P&roperties", ID_FILE_PROPERTIES
@@ -1527,15 +1565,15 @@ BEGIN
MENUITEM "Zoom &2", ID_VIEW_VF_ZOOM2
MENUITEM "Touch Window From &Outside", ID_VIEW_VF_FROMOUTSIDE
MENUITEM SEPARATOR
- MENUITEM "&Keep Aspect Ratio", ID_VIEW_VF_KEEPASPECTRATIO
- POPUP "Override &Aspect Ratio"
+ POPUP "&Aspect Ratio"
BEGIN
- MENUITEM "&Default", ID_ASPECTRATIO_SOURCE
+ MENUITEM "&Default (DAR)", ID_ASPECTRATIO_DAR
MENUITEM "&4:3", ID_ASPECTRATIO_4_3
MENUITEM "&5:4", ID_ASPECTRATIO_5_4
MENUITEM "&16:9", ID_ASPECTRATIO_16_9
MENUITEM "&235:100", ID_ASPECTRATIO_235_100
MENUITEM "1&85:100", ID_ASPECTRATIO_185_100
+ MENUITEM "Assume &square pixels (SAR)", ID_ASPECTRATIO_SAR
END
MENUITEM "&Correct Monitor/Desktop AR Diff", ID_VIEW_VF_COMPMONDESKARDIFF
END
@@ -1570,7 +1608,14 @@ BEGIN
BEGIN
MENUITEM "&Play/Pause", ID_PLAY_PLAYPAUSE
MENUITEM "&Stop", ID_PLAY_STOP
- MENUITEM "F&rame Step", ID_PLAY_FRAMESTEP
+ MENUITEM "Fra&me Step", ID_PLAY_FRAMESTEP
+ POPUP "&Repeat"
+ BEGIN
+ MENUITEM "F&orever", ID_PLAY_REPEAT_FOREVER
+ MENUITEM SEPARATOR
+ MENUITEM "&File", ID_PLAY_REPEAT_ONEFILE
+ MENUITEM "&Playlist", ID_PLAY_REPEAT_WHOLEPLAYLIST
+ END
MENUITEM SEPARATOR
MENUITEM "&Decrease Rate", ID_PLAY_DECRATE
MENUITEM "&Increase Rate", ID_PLAY_INCRATE
@@ -1581,7 +1626,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Audio Track", ID_AUDIOS
MENUITEM "Su&btitle Track", ID_SUBTITLES
- MENUITEM "&Video Track", ID_VIDEO_STREAMS
+ MENUITEM "Vide&o Track", ID_VIDEO_STREAMS
MENUITEM SEPARATOR
POPUP "&Volume"
BEGIN
@@ -1648,13 +1693,13 @@ BEGIN
MENUITEM "Save &Image...", ID_FILE_SAVE_IMAGE
MENUITEM "Save &Thumbnails...", ID_FILE_SAVE_THUMBNAILS
MENUITEM SEPARATOR
- MENUITEM "&Load Subtitle...", ID_FILE_LOAD_SUBTITLE
- MENUITEM "Save S&ubtitle...", ID_FILE_SAVE_SUBTITLE
- POPUP "Subtitle Data&base"
+ POPUP "S&ubtitles"
BEGIN
- MENUITEM "&Search...", ID_FILE_ISDB_SEARCH
- MENUITEM "&Upload...", ID_FILE_ISDB_UPLOAD
- MENUITEM "&Download...", ID_FILE_ISDB_DOWNLOAD
+ MENUITEM "&Load Subtitles...", ID_FILE_SUBTITLES_LOAD
+ MENUITEM "Save S&ubtitles...", ID_FILE_SUBTITLES_SAVE
+ MENUITEM SEPARATOR
+ MENUITEM "&Download Subtitles...", ID_FILE_SUBTITLES_DOWNLOAD
+ MENUITEM "&Upload Subtitles...", ID_FILE_SUBTITLES_UPLOAD
END
MENUITEM SEPARATOR
MENUITEM "P&roperties", ID_FILE_PROPERTIES
@@ -1664,6 +1709,13 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Play/Pause", ID_PLAY_PLAYPAUSE
MENUITEM "&Stop", ID_PLAY_STOP
+ POPUP "&Repeat"
+ BEGIN
+ MENUITEM "F&orever", ID_PLAY_REPEAT_FOREVER
+ MENUITEM SEPARATOR
+ MENUITEM "&File", ID_PLAY_REPEAT_ONEFILE
+ MENUITEM "&Playlist", ID_PLAY_REPEAT_WHOLEPLAYLIST
+ END
MENUITEM SEPARATOR
MENUITEM "F&ull Screen", ID_VIEW_FULLSCREEN
POPUP "&Zoom"
@@ -1686,15 +1738,15 @@ BEGIN
MENUITEM "Zoom &2", ID_VIEW_VF_ZOOM2
MENUITEM "Touch Window From &Outside", ID_VIEW_VF_FROMOUTSIDE
MENUITEM SEPARATOR
- MENUITEM "&Keep Aspect Ratio", ID_VIEW_VF_KEEPASPECTRATIO
- POPUP "Override &Aspect Ratio"
+ POPUP "&Aspect Ratio"
BEGIN
- MENUITEM "&Default", ID_ASPECTRATIO_SOURCE
+ MENUITEM "&Default (DAR)", ID_ASPECTRATIO_DAR
MENUITEM "&4:3", ID_ASPECTRATIO_4_3
MENUITEM "&5:4", ID_ASPECTRATIO_5_4
MENUITEM "&16:9", ID_ASPECTRATIO_16_9
MENUITEM "&235:100", ID_ASPECTRATIO_235_100
MENUITEM "1&85:100", ID_ASPECTRATIO_185_100
+ MENUITEM "Assume &square pixels (SAR)", ID_ASPECTRATIO_SAR
END
MENUITEM "&Correct Monitor/Desktop AR Diff", ID_VIEW_VF_COMPMONDESKARDIFF
END
@@ -1736,7 +1788,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Audio Track", ID_AUDIOS
MENUITEM "Su&btitle Track", ID_SUBTITLES
- MENUITEM "&Video Track", ID_VIDEO_STREAMS
+ MENUITEM "Vide&o Track", ID_VIDEO_STREAMS
MENUITEM SEPARATOR
POPUP "&Volume"
BEGIN
@@ -1880,13 +1932,13 @@ BEGIN
MENUITEM "Save &Image...", ID_FILE_SAVE_IMAGE
MENUITEM "Save &Thumbnails...", ID_FILE_SAVE_THUMBNAILS
MENUITEM SEPARATOR
- MENUITEM "&Load Subtitle...", ID_FILE_LOAD_SUBTITLE
- MENUITEM "Save S&ubtitle...", ID_FILE_SAVE_SUBTITLE
- POPUP "Subtitle Data&base"
+ POPUP "S&ubtitles"
BEGIN
- MENUITEM "&Search...", ID_FILE_ISDB_SEARCH
- MENUITEM "&Upload...", ID_FILE_ISDB_UPLOAD
- MENUITEM "&Download...", ID_FILE_ISDB_DOWNLOAD
+ MENUITEM "&Load Subtitles...", ID_FILE_SUBTITLES_LOAD
+ MENUITEM "Save S&ubtitles...", ID_FILE_SUBTITLES_SAVE
+ MENUITEM SEPARATOR
+ MENUITEM "&Download Subtitles...", ID_FILE_SUBTITLES_DOWNLOAD
+ MENUITEM "&Upload Subtitles...", ID_FILE_SUBTITLES_UPLOAD
END
MENUITEM SEPARATOR
MENUITEM "P&roperties", ID_FILE_PROPERTIES
@@ -2000,15 +2052,15 @@ BEGIN
MENUITEM "Zoom &2", ID_VIEW_VF_ZOOM2
MENUITEM "Touch Window From &Outside", ID_VIEW_VF_FROMOUTSIDE
MENUITEM SEPARATOR
- MENUITEM "&Keep Aspect Ratio", ID_VIEW_VF_KEEPASPECTRATIO
- POPUP "Override &Aspect Ratio"
+ POPUP "&Aspect Ratio"
BEGIN
- MENUITEM "&Default", ID_ASPECTRATIO_SOURCE
+ MENUITEM "&Default (DAR)", ID_ASPECTRATIO_DAR
MENUITEM "&4:3", ID_ASPECTRATIO_4_3
MENUITEM "&5:4", ID_ASPECTRATIO_5_4
MENUITEM "&16:9", ID_ASPECTRATIO_16_9
MENUITEM "&235:100", ID_ASPECTRATIO_235_100
MENUITEM "1&85:100", ID_ASPECTRATIO_185_100
+ MENUITEM "Assume &square pixels (SAR)", ID_ASPECTRATIO_SAR
END
MENUITEM "&Correct Monitor/Desktop AR Diff", ID_VIEW_VF_COMPMONDESKARDIFF
END
@@ -2043,7 +2095,14 @@ BEGIN
BEGIN
MENUITEM "&Play/Pause", ID_PLAY_PLAYPAUSE
MENUITEM "&Stop", ID_PLAY_STOP
- MENUITEM "F&rame Step", ID_PLAY_FRAMESTEP
+ MENUITEM "Fra&me Step", ID_PLAY_FRAMESTEP
+ POPUP "&Repeat"
+ BEGIN
+ MENUITEM "F&orever", ID_PLAY_REPEAT_FOREVER
+ MENUITEM SEPARATOR
+ MENUITEM "&File", ID_PLAY_REPEAT_ONEFILE
+ MENUITEM "&Playlist", ID_PLAY_REPEAT_WHOLEPLAYLIST
+ END
MENUITEM SEPARATOR
MENUITEM "&Decrease Rate", ID_PLAY_DECRATE
MENUITEM "&Increase Rate", ID_PLAY_INCRATE
@@ -2079,7 +2138,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Audio Track", ID_AUDIOS
MENUITEM "Su&btitle Track", ID_SUBTITLES
- MENUITEM "&Video Track", ID_VIDEO_STREAMS
+ MENUITEM "Vide&o Track", ID_VIDEO_STREAMS
MENUITEM SEPARATOR
POPUP "&Volume"
BEGIN
@@ -2194,7 +2253,9 @@ BEGIN
IDS_AUTOPLAY_PLAYAUDIOCD "Play Audio CD"
IDS_AUTOPLAY_PLAYDVDMOVIE "Play DVD Movie"
IDS_PROPSHEET_PROPERTIES "Properties"
+ IDS_PLAY_LOOPMODE_FILE "File"
IDS_SUBTITLES_DEFAULT_STYLE "&Default Style"
+ IDS_PLAY_LOOPMODE_PLAYLIST "Playlist"
IDS_FAVFILES "Files"
IDS_FAVDVDS "DVDs"
END
@@ -2213,6 +2274,11 @@ BEGIN
IDS_SUBTITLES_STYLES_CAPTION "Styles"
IDS_TEXT_SUB_RENDERING_TARGET
"If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
+ IDS_PLAYLOOPMODE_PLAYLIST "Repeat Mode: Playlist"
+ IDS_PLAYLOOPMODE_FILE "Repeat Mode: File"
+ IDS_PLAYLOOP_FOREVER_ON "Repeat Forever: On"
+ IDS_PLAYLOOP_FOREVER_OFF "Repeat Forever: Off"
+ IDS_PLAYLOOP_FOREVER "Repeat Forever"
END
STRINGTABLE
@@ -2358,9 +2424,7 @@ BEGIN
"This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
IDS_PPAGE_OUTPUT_OLDRENDERER "Old Video Renderer"
IDS_PPAGE_OUTPUT_OVERLAYMIXER "Overlay Mixer Renderer"
- IDS_PPAGE_OUTPUT_VMR7WINDOWED "Video Mixing Renderer 7 (windowed)"
IDS_PPAGE_OUTPUT_VMR9WINDOWED "Video Mixing Renderer 9 (windowed)"
- IDS_PPAGE_OUTPUT_VMR7RENDERLESS "Video Mixing Renderer 7 (renderless)"
IDS_PPAGE_OUTPUT_VMR9RENDERLESS "Video Mixing Renderer 9 (renderless)"
IDS_PPAGE_OUTPUT_EVR "Enhanced Video Renderer"
IDS_PPAGE_OUTPUT_EVR_CUSTOM "Enhanced Video Renderer (custom presenter)"
@@ -2378,7 +2442,6 @@ BEGIN
IDD_PPAGELOGO "Player::Logo"
IDD_PPAGEOUTPUT "Playback::Output"
IDD_PPAGEWEBSERVER "Player::Web Interface"
- IDD_PPAGESUBDB "Subtitles::Database"
END
STRINGTABLE
@@ -2392,9 +2455,7 @@ BEGIN
IDC_DSSYSDEF "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
IDC_DSOLD "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
IDC_DSOVERLAYMIXER "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
- IDC_DSVMR7WIN "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
- IDC_DSVMR9WIN "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
- IDC_DSVMR7REN "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. ""True Color"" desktop color space recommended."
+ IDC_DSVMR9WIN "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
IDC_DSVMR9REN "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. ""True Color"" desktop color space recommended. Recommended for Windows XP."
IDC_DSDXR "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
IDC_DSNULL_COMP "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
@@ -2408,10 +2469,8 @@ BEGIN
IDC_DSMADVR "High-quality renderer, requires a GPU that supports D3D9 or later."
IDC_DSSYNC "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
IDC_RMSYSDEF "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
- IDC_RMDX7 "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
IDC_RMDX9 "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
IDC_QTSYSDEF "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
- IDC_QTDX7 "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
IDC_QTDX9 "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
IDC_REGULARSURF "Video surface will be allocated as a regular offscreen surface."
END
@@ -2441,7 +2500,8 @@ BEGIN
IDS_EMB_RESOURCES_VIEWER_TYPE "MIME Type"
IDS_EMB_RESOURCES_VIEWER_INFO
"In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the ""Save As"" button if you only want to save the information."
- IDS_DOWNLOAD_SUBS "Download subtitles"
+ IDS_SUBTITLES_DOWNLOAD "Download Subtitles..."
+ IDS_SUBTITLES_UPLOAD "Upload Subtitles..."
IDS_SUBFILE_DELAY "Delay (ms):"
IDS_SPEEDSTEP_AUTO "Auto"
IDS_EXPORT_SETTINGS_NO_KEYS "There are no customized keys to export."
@@ -2474,6 +2534,13 @@ END
STRINGTABLE
BEGIN
+ IDS_NAVIGATE_TUNERSCAN "Tuner scan"
+ IDS_SUBTITLES_ERROR "Subtitles are not loaded or unsupported renderer."
+ IDC_CACHESHADERS "Stores compiled shaders in local AppData to speed up load time."
+END
+
+STRINGTABLE
+BEGIN
IDS_SRC_VTS "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
IDS_SRC_RFS "Based on RARFileSource, doesn't support compressed files"
IDS_INTERNAL_LAVF "Uses LAV Filters"
@@ -2537,8 +2604,8 @@ STRINGTABLE
BEGIN
IDS_FAVORITES_ADD "&Add to Favorites..."
IDS_FAVORITES_ORGANIZE "&Organize Favorites..."
- IDS_PLAYLIST_SHUFFLE "Shuffle"
- IDS_PLAYLIST_SHOWFOLDER "Open file location"
+ IDS_PLAYLIST_SHUFFLE "Sh&uffle"
+ IDS_PLAYLIST_SHOWFOLDER "Ope&n file location"
IDS_CONTROLS_CLOSING "Closing..."
IDS_CONTROLS_PLAYING "Playing"
IDS_CONTROLS_PAUSED "Paused"
@@ -2572,7 +2639,7 @@ BEGIN
IDS_SCALE_16_9 "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
IDS_SCALE_WIDESCREEN "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
IDS_SCALE_ULTRAWIDE "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
- IDS_PLAYLIST_HIDEFS "Hide on Fullscreen"
+ IDS_PLAYLIST_HIDEFS "&Hide on Fullscreen"
END
STRINGTABLE
@@ -2645,7 +2712,7 @@ STRINGTABLE
BEGIN
IDS_VOLUME "%d%%"
IDS_BOOST "+%d%%"
- IDS_PLAYLIST_ADDFOLDER "Add containing folder"
+ IDS_PLAYLIST_ADDFOLDER "Add containing &folder"
IDS_HW_INDICATOR "[H/W]"
IDS_TOOLTIP_SOFTWARE_DECODING "Software Decoding"
IDS_STATSBAR_PLAYBACK_RATE "Playback rate"
@@ -2718,8 +2785,8 @@ BEGIN
IDS_AG_SAVE_IMAGE "Save Image"
IDS_MPLAYERC_6 "Save Image (auto)"
IDS_OSD_IMAGE_SAVED "Image saved successfully"
- IDS_AG_LOAD_SUBTITLE "Load Subtitle"
- IDS_AG_SAVE_SUBTITLE "Save Subtitle"
+ IDS_AG_LOAD_SUBTITLES "Load Subtitles..."
+ IDS_AG_SAVE_SUBTITLES "Save Subtitles..."
IDS_AG_PROPERTIES "Properties"
IDS_AG_EXIT "Exit"
IDS_AG_PLAYPAUSE "Play/Pause"
@@ -2759,7 +2826,7 @@ BEGIN
IDS_OSD_RS_VSYNC_OFFSET "VSync Offset: %d"
IDS_OSD_SPEED "Speed: %.2lfx"
IDS_OSD_THUMBS_SAVED "Thumbnails saved successfully"
- IDS_MENU_VIDEO_STREAM "&Video Track"
+ IDS_MENU_VIDEO_STREAM "Vide&o Track"
IDS_MENU_VIDEO_ANGLE "Video Ang&le"
IDS_RESET_SETTINGS "Reset settings"
IDS_RESET_SETTINGS_WARNING
@@ -2843,7 +2910,7 @@ END
STRINGTABLE
BEGIN
- IDS_SUBDL_DLG_DOWNLOADING "Downloading subtitle(s), please wait."
+ IDS_SUBDL_DLG_DOWNLOADING "Downloading [%s] ""%s"""
IDS_SUBDL_DLG_PARSING "Parsing list..."
IDS_SUBDL_DLG_NOT_FOUND "No subtitles found."
IDS_SUBDL_DLG_SUBS_AVAIL "%d subtitle(s) available."
@@ -2930,8 +2997,8 @@ BEGIN
IDS_DVB_CHANNEL_NAME "Name"
IDS_DVB_CHANNEL_FREQUENCY "Frequency"
IDS_DVB_CHANNEL_ENCRYPTION "Encrypted"
- IDS_DVB_CHANNEL_ENCRYPTED "Yes"
- IDS_DVB_CHANNEL_NOT_ENCRYPTED "No"
+ IDS_YES "Yes"
+ IDS_NO "No"
IDS_DVB_CHANNEL_START_SCAN "Start"
IDS_DVB_CHANNEL_STOP_SCAN "Stop"
IDS_DVB_TVNAV_SEERADIO "Radio stations"
@@ -2987,8 +3054,6 @@ BEGIN
IDS_THUMB_ROWNUMBER "Rows:"
IDS_THUMB_COLNUMBER "Columns:"
IDS_THUMB_IMAGE_WIDTH "Image width"
- IDS_PPSDB_URLCORRECT "The URL appears to be correct!"
- IDS_PPSDB_PROTOCOLERR "Protocol version mismatch, please upgrade your player or choose a different address!"
END
STRINGTABLE
@@ -3023,14 +3088,14 @@ BEGIN
IDS_THUMBNAILS_INFO_HEADER
"{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
IDS_THUMBNAIL_TOO_SMALL "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
- IDS_CANNOT_LOAD_SUB "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+ IDS_CANNOT_LOAD_SUB "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
IDS_SUBTITLE_FILES_FILTER "Subtitle files"
END
STRINGTABLE
BEGIN
IDS_MAINFRM_68 "Aspect Ratio: %ld:%ld"
- IDS_MAINFRM_69 "Aspect Ratio: Default"
+ IDS_MAINFRM_69 "Aspect Ratio: Default (DAR)"
IDS_MAINFRM_70 "Audio delay: %I64d ms"
IDS_AG_CHAPTER "Chapter %d"
IDS_AG_OUT_OF_MEMORY "Out of memory"
@@ -3044,7 +3109,6 @@ END
STRINGTABLE
BEGIN
- IDS_PPSDB_BADURL "Bad URL, could not locate subtitle database there!"
IDS_AG_CHAPTER2 "Chapter: "
IDS_VOLUME_OSD "Vol: %d%%"
IDS_BOOST_OSD "Boost: +%u%%"
@@ -3105,7 +3169,7 @@ BEGIN
IDS_VOLUME_BOOST_DEC "Volume boost decrease"
IDS_VOLUME_BOOST_MIN "Volume boost Min"
IDS_VOLUME_BOOST_MAX "Volume boost Max"
- IDS_USAGE "Usage: mpc-hc.exe ""pathname"" [switches]\n\n""pathname""\tThe main file or directory to be loaded (wildcards\n\t\tallowed, ""-"" denotes standard input)\n/dub ""dubname""\tLoad an additional audio file\n/dubdelay ""file""\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains ""...DELAY XXms..."")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub ""subname""\tLoad an additional subtitle file\n/filter ""filtername""\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, ""pathname"" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t""pathname"" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd ""pathname"" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at ""ms"" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see ""Output"" settings)\n/shaderpreset ""Pr""\tStart using ""Pr"" shader preset\n/pns ""name""\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave ""hWnd""\tUse MPC-HC as slave\n/hwgpu ""index""\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+ IDS_USAGE "Usage: mpc-hc.exe ""pathname"" [switches]"
IDS_UNKNOWN_SWITCH "Unrecognized switch(es) found in command line string: \n\n"
END
@@ -3139,12 +3203,6 @@ END
STRINGTABLE
BEGIN
- IDS_NAVIGATE_TUNERSCAN "Tuner scan"
- IDS_SUBTITLES_ERROR "Subtitles are not loaded or unsupported renderer."
-END
-
-STRINGTABLE
-BEGIN
IDS_LOGO_AUTHOR "Author unknown. Contact us if you made this logo!"
IDS_NO_MORE_MEDIA "No more media in the current folder."
IDS_FIRST_IN_FOLDER "The first file of the folder is already loaded."
@@ -3411,8 +3469,6 @@ BEGIN
"The ""Save Image"" and ""Save Thumbnails"" functions do not work for Shockwave files."
IDS_SCREENSHOT_ERROR_OVERLAY
"The ""Save Image"" and ""Save Thumbnails"" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
- IDS_SUBDL_DLG_CONNECT_ERROR
- "Cannot connect to the online subtitles database."
IDS_MB_SHOW_EDL_EDITOR "Do you want to activate the EDL editor?"
END
@@ -3494,6 +3550,123 @@ STRINGTABLE
BEGIN
IDS_SUBTITLE_RENDERER_VS_FILTER "VSFilter / DirectVobSub"
IDS_SUBTITLE_RENDERER_XY_SUB_FILTER "XySubFilter"
+ IDS_SUBDL_DLG_PROVIDER_COL "Provider"
+ IDS_SUBDL_DLG_HI_COL "Hearing Impaired"
+ IDS_SUBDL_DLG_DOWNLOADS_COL "Downloads"
+ IDS_SUBDL_DLG_SCORE_COL "Score"
+ IDS_SUBDL_DLG_FAILED "Online subtitles search failed."
+ IDS_SUBDL_DLG_ABORTED "Online subtitles search aborted."
+ IDS_SUBDL_DLG_FOUND "Online subtitles search completed, %d subtitles found."
+ IDS_SUBDL_DLG_NOTFOUND "Online subtitles search completed, no subtitles found."
+ IDS_SUBDL_DLG_TITLE "Download subtitles"
+ IDS_SUBDL_DLG_SEARCHING "Searching for subtitles online, please wait..."
+ IDS_SUBDL_DLG_ABORTING "Online subtitles search aborting..."
+ IDS_SUBUL_DLG_USERNAME_COL "Username"
+ IDS_SUBUL_DLG_STATUS_COL "Status"
+ IDS_SUBUL_DLG_STATUS_READY "Ready..."
+END
+
+STRINGTABLE
+BEGIN
+ IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED "Not implemented."
+ IDS_SUBUL_DLG_STATUS_UPLOADING "Uploading..."
+ IDS_SUBUL_DLG_STATUS_UPLOADED "Subtitles uploaded successfully."
+ IDS_SUBUL_DLG_STATUS_FAILED "Subtitles upload failed."
+ IDS_SUBUL_DLG_STATUS_ABORTED "Subtitles upload aborted."
+ IDS_SUBUL_DLG_STATUS_ALREADYEXISTS "Subtitles already exist."
+ IDS_SUBUL_DLG_UPLOADING "Uploading subtitles, please wait..."
+ IDS_SUBUL_DLG_UPLOADED "Upload finished."
+ IDS_SUBUL_DLG_ABORTED "Upload aborted."
+ IDS_SUBUL_DLG_FAILED "Upload failed."
+ IDS_SUBMENU_DOWNLOAD "Download && Open"
+ IDS_SUBMENU_SETUP "Setup"
+ IDS_SUBMENU_RESET "Reset"
+ IDS_SUBMENU_MOVEUP "Move Up"
+ IDS_SUBMENU_MOVEDOWN "Move Down"
+ IDS_SUBMENU_OPENURL "Open URL"
+END
+
+STRINGTABLE
+BEGIN
+ IDS_SUBPP_DLG_LANGUAGES_COL "Languages"
+ IDS_SUBPP_DLG_LANGUAGES_ERROR
+ "ERROR: Internet connection could not be established."
+ IDS_SUB_CREDENTIALS_TITLE "Enter website credentials"
+ IDS_SUB_CREDENTIALS_MSG "Enter your credentials to connect to: "
+ IDS_ASPECT_RATIO_SAR "Aspect Ratio: Assume square pixels (SAR)"
+ IDS_SUBDL_DLG_DOWNLOADED "Downloaded [%s] ""%s"""
+ IDS_SUBUL_DLG_TITLE "Upload subtitles"
+ IDS_SUBUL_DLG_CONFIRM "Are you sure you want to upload the subtitle file ""%s""?"
+ IDS_SUBPP_DLG_FETCHING_LANGUAGES "Fetching supported languages..."
+ IDS_SUB_CREDENTIALS_ERROR
+ "Failed to log in on ""%S"" with username ""%S"".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+ IDS_SUB_AUTODL_IGNORE_TOOLTIP
+ "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: ""private dir\\videos|work\\""."
+ IDS_CMD_PATHNAME """pathname""\tThe main file or directory to be loaded\n\t\t(wildcards allowed, ""-"" denotes standard input)"
+ IDS_CMD_DUB "/dub ""dubname""\tLoad an additional audio file"
+ IDS_CMD_DUBDELAY "/dubdelay ""file""\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains ""...DELAY XXms..."")"
+ IDS_CMD_D3DFS "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+ IDS_CMD_SUB "/sub ""subname""\tLoad an additional subtitle file"
+END
+
+STRINGTABLE
+BEGIN
+ IDS_CMD_FILTER "/filter ""filtername""\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+ IDS_CMD_DVD "/dvd\t\tRun in DVD mode, ""pathname"" means the DVD folder (optional)"
+ IDS_CMD_DVDPOS_TC "/dvdpos T#C\tStart playback at title T, chapter C"
+ IDS_CMD_DVDPOS_TIME "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+ IDS_CMD_CD "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t""pathname"" means the drive path (optional)"
+ IDS_CMD_DEVICE "/device\t\tOpen the default video device"
+ IDS_CMD_OPEN "/open\t\tOpen the file, don't automatically start playback"
+ IDS_CMD_PLAY "/play\t\tStart playing the file as soon the player is launched"
+ IDS_CMD_CLOSE "/close\t\tClose the player after playback (only works when used with /play)"
+ IDS_CMD_SHUTDOWN "/shutdown\tShutdown the operating system after playback"
+ IDS_CMD_STANDBY "/standby\t\tPut the operating system in standby mode after playback"
+ IDS_CMD_HIBERNATE "/hibernate\tHibernate operating system after playback"
+ IDS_CMD_LOGOFF "/logoff\t\tLog off after playback"
+ IDS_CMD_LOCK "/lock\t\tLock workstation after playback"
+ IDS_CMD_MONITOROFF "/monitoroff\tTurn off the monitor after playback"
+ IDS_CMD_PLAYNEXT "/playnext\t\tOpen next file in the folder after playback"
+END
+
+STRINGTABLE
+BEGIN
+ IDS_CMD_FULLSCREEN "/fullscreen\tStart in fullscreen mode"
+ IDS_CMD_MINIMIZED "/minimized\tStart in minimized mode"
+ IDS_CMD_NEW "/new\t\tUse a new instance of the player"
+ IDS_CMD_ADD "/add\t\tAdd ""pathname"" to playlist, can be combined with /open and /play"
+ IDS_CMD_RANDOMIZE "/randomize\tRandomize the playlist"
+ IDS_CMD_REGVID "/regvid\t\tCreate file associations for video files"
+ IDS_CMD_REGAUD "/regaud\t\tCreate file associations for audio files"
+ IDS_CMD_REGPL "/regpl\t\tCreate file associations for playlist files"
+ IDS_CMD_REGALL "/regall\t\tCreate file associations for all supported file types"
+ IDS_CMD_UNREGALL "/unregall\t\tRemove all file associations"
+ IDS_CMD_START "/start ms\t\tStart playing at ""ms"" (= milliseconds)"
+ IDS_CMD_STARTPOS "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+ IDS_CMD_FIXEDSIZE "/fixedsize w,h\tSet a fixed window size"
+ IDS_CMD_MONITOR "/monitor N\tStart player on monitor N, where N starts from 1"
+ IDS_CMD_AUDIORENDERER "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see ""Output"" settings)"
+ IDS_CMD_SHADERPRESET "/shaderpreset ""Pr""\tStart using ""Pr"" shader preset"
+END
+
+STRINGTABLE
+BEGIN
+ IDS_CMD_PNS "/pns ""name""\tSpecify Pan&Scan preset name to use"
+ IDS_CMD_ICONASSOC "/iconsassoc\tReassociate format icons"
+ IDS_CMD_NOFOCUS "/nofocus\t\tOpen MPC-HC in background"
+ IDS_CMD_WEBPORT "/webport N\tStart web interface on specified port"
+ IDS_CMD_DEBUG "/debug\t\tShow debug information in OSD"
+ IDS_CMD_NOCRASHREPORTER "/nocrashreporter\tDisable the crash reporter"
+ IDS_CMD_SLAVE "/slave ""hWnd""\tUse MPC-HC as slave"
+ IDS_CMD_HWGPU "/hwgpu ""index""\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+ IDS_CMD_RESET "/reset\t\tRestore default settings"
+ IDS_CMD_HELP "/help /h /?\tShow help about command line switches"
+ IDS_PPAGEADVANCED_SCORE "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+ IDS_PPAGE_FS_CLN_AUDIO_DELAY "Audio Delay (ms)"
+ IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE
+ "Size in pixels of the default toolbar."
+ IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR
+ "Use legacy toolbar instead of new vectorized one."
END
#endif // English (United States) resources
diff --git a/src/mpc-hc/mpc-hc.vcxproj b/src/mpc-hc/mpc-hc.vcxproj
index e03f68c3c..271feb955 100644
--- a/src/mpc-hc/mpc-hc.vcxproj
+++ b/src/mpc-hc/mpc-hc.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Lite|Win32">
<Configuration>Debug Lite</Configuration>
@@ -42,42 +42,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -85,35 +50,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\common.props" />
</ImportGroup>
@@ -127,172 +64,65 @@
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">$(SolutionDir)bin\mpc-hc_x86 Lite\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\mpc-hc_x64\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">$(SolutionDir)bin\mpc-hc_x64 Lite\</OutDir>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)64</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Lite|x64'">$(ProjectName)64</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectName)64</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">$(ProjectName)64</TargetName>
+ <TargetName Condition="'$(Platform)'=='x64'">$(ProjectName)64</TargetName>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;..\thirdparty\ZenLib\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
+ <ItemDefinitionGroup>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
- <AdditionalDependencies>RARFileSource.res;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;QTMLClient.lib;SetupAPI.lib;UxTheme.lib;Vfw32.lib;Winmm.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\$(Configuration)_$(Platform);$(SolutionDir)lib;$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <AdditionalDependencies>d3d9.lib;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;SetupAPI.lib;UxTheme.lib;Vfw32.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
<SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
</Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>MPCHC_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>AudioSwitcher.lib;BaseClasses.lib;BaseMuxer.lib;BufferFilter.lib;CmdUI.lib;DeCSS.lib;DSMMuxer.lib;DSUtil.lib;MathLibFix.lib;Filters.lib;kasumi.lib;LCDUI.lib;lcms2.lib;MatroskaMuxer.lib;ResizableLib.lib;sizecbar.lib;StreamDriveThru.lib;SubPic.lib;Subtitles.lib;SubtitleSource.lib;SyncClock.lib;system.lib;TreePropSheet.lib;unrar.lib;VideoRenderers.lib;WavDest.lib;zlib.lib;UxTheme.lib;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;QTMLClient.lib;SetupAPI.lib;Vfw32.lib;Winmm.lib;d3d9.lib;mhook.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Debug_$(Platform);$(SolutionDir)lib;$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
- <IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
- </Link>
- <ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
- </ProjectReference>
<Manifest>
<AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
<EnableDpiAwareness>false</EnableDpiAwareness>
</Manifest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;..\thirdparty\ZenLib\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
<Link>
- <AdditionalDependencies>RARFileSource.res;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;SetupAPI.lib;strmiids.lib;UxTheme.lib;Uuid.Lib;Vfw32.lib;Version.lib;Winmm.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\$(Configuration)_$(Platform);$(SolutionDir)lib64;$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
+ <AdditionalLibraryDirectories>$(SolutionDir)lib;$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>strmiids.lib;Uuid.Lib;Version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Lite|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>MPCHC_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<Link>
- <AdditionalDependencies>AudioSwitcher.lib;BaseClasses.lib;BaseMuxer.lib;BufferFilter.lib;CmdUI.lib;DeCSS.lib;DSMMuxer.lib;DSUtil.lib;MathLibFix.lib;Filters.lib;kasumi.lib;LCDUI.lib;lcms2.lib;MatroskaMuxer.lib;ResizableLib.lib;sizecbar.lib;StreamDriveThru.lib;SubPic.lib;Subtitles.lib;SubtitleSource.lib;SyncClock.lib;system.lib;TreePropSheet.lib;unrar.lib;VideoRenderers.lib;WavDest.lib;zlib.lib;UxTheme.lib;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;SetupAPI.lib;strmiids.lib;Uuid.Lib;Version.lib;Vfw32.lib;Winmm.lib;d3d9.lib;mhook.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Debug_$(Platform);$(SolutionDir)lib64;$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
+ <AdditionalLibraryDirectories>$(SolutionDir)lib;$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>QTMLClient.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
- <ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
- </ProjectReference>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;..\thirdparty\ZenLib\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Release'))">
<Link>
- <AdditionalDependencies>RARFileSource.res;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;QTMLClient.lib;SetupAPI.lib;UxTheme.lib;Vfw32.lib;Winmm.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\$(Configuration)_$(Platform);$(SolutionDir)lib;$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
+ <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Release_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>MPCHC_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Debug'))">
<Link>
- <AdditionalDependencies>AudioSwitcher.lib;BaseClasses.lib;BaseMuxer.lib;BufferFilter.lib;CmdUI.lib;DeCSS.lib;DSMMuxer.lib;DSUtil.lib;MathLibFix.lib;Filters.lib;kasumi.lib;LCDUI.lib;lcms2.lib;MatroskaMuxer.lib;ResizableLib.lib;sizecbar.lib;StreamDriveThru.lib;SubPic.lib;Subtitles.lib;SubtitleSource.lib;SyncClock.lib;system.lib;TreePropSheet.lib;unrar.lib;VideoRenderers.lib;WavDest.lib;zlib.lib;UxTheme.lib;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;QTMLClient.lib;SetupAPI.lib;Vfw32.lib;Winmm.lib;d3d9.lib;mhook.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Release_$(Platform);$(SolutionDir)lib;$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
+ <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Debug_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
- <ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
- </ProjectReference>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;..\thirdparty\ZenLib\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
+ <ItemDefinitionGroup Condition="$(Configuration.Contains('Lite'))">
<Link>
- <AdditionalDependencies>RARFileSource.res;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;SetupAPI.lib;strmiids.lib;UxTheme.lib;Uuid.Lib;Vfw32.lib;Version.lib;Winmm.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\$(Configuration)_$(Platform);$(SolutionDir)lib64;$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
+ <AdditionalDependencies>AudioSwitcher.lib;BaseClasses.lib;BaseMuxer.lib;BufferFilter.lib;CmdUI.lib;DeCSS.lib;DSMMuxer.lib;DSUtil.lib;Filters.lib;kasumi.lib;LCDUI.lib;lcms2.lib;MatroskaMuxer.lib;ResizableLib.lib;sizecbar.lib;StreamDriveThru.lib;SubPic.lib;Subtitles.lib;SubtitleSource.lib;SyncClock.lib;system.lib;TreePropSheet.lib;unrar.lib;VideoRenderers.lib;WavDest.lib;zlib.lib;mhook.lib;tinyxml2.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\DSUtil;..\filters\renderer\VideoRenderers;..\thirdparty;..\thirdparty\MediaInfo\library\Source;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>MPCHC_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>AudioSwitcher.lib;BaseClasses.lib;BaseMuxer.lib;BufferFilter.lib;CmdUI.lib;DeCSS.lib;DSMMuxer.lib;DSUtil.lib;MathLibFix.lib;Filters.lib;kasumi.lib;LCDUI.lib;lcms2.lib;MatroskaMuxer.lib;ResizableLib.lib;sizecbar.lib;StreamDriveThru.lib;SubPic.lib;Subtitles.lib;SubtitleSource.lib;SyncClock.lib;system.lib;TreePropSheet.lib;unrar.lib;VideoRenderers.lib;WavDest.lib;zlib.lib;UxTheme.lib;delayimp.lib;dsound.lib;dxguid.lib;GdiPlus.lib;Psapi.lib;SetupAPI.lib;strmiids.lib;Uuid.Lib;Version.lib;Vfw32.lib;Winmm.lib;d3d9.lib;mhook.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)bin\lib\Release_$(Platform);$(SolutionDir)lib64;$(DXSDK_DIR)Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <DelayLoadDLLs>d3d9.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- <SupportUnloadOfDelayLoadedDLL>true</SupportUnloadOfDelayLoadedDLL>
- </Link>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
- <Manifest>
- <AdditionalManifestFiles>$(ProjectDir)res\mpc-hc.exe.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
- <EnableDpiAwareness>false</EnableDpiAwareness>
- </Manifest>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="!$(Configuration.Contains('Lite'))">
+ <Link>
+ <AdditionalDependencies>RARFileSource.res;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\thirdparty\ZenLib\library\Source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="AboutDlg.cpp" />
@@ -324,6 +154,7 @@
<ClCompile Include="FileAssoc.cpp" />
<ClCompile Include="DropTarget.cpp" />
<ClCompile Include="FreeviewEPGDecode.cpp" />
+ <ClCompile Include="ImageGrayer.cpp" />
<ClCompile Include="MainFrmControls.cpp" />
<ClCompile Include="MediaPositionList.cpp" />
<ClCompile Include="FloatEdit.cpp" />
@@ -331,7 +162,6 @@
<ClCompile Include="GoToDlg.cpp" />
<ClCompile Include="GraphThread.cpp" />
<ClCompile Include="Ifo.cpp" />
- <ClCompile Include="ISDb.cpp" />
<ClCompile Include="KeyProvider.cpp" />
<ClCompile Include="LcdSupport.cpp" />
<ClCompile Include="MainFrm.cpp" />
@@ -404,6 +234,7 @@
<ClCompile Include="Shaders.cpp" />
<ClCompile Include="ShockwaveGraph.cpp" />
<ClCompile Include="SkypeMoodMsgHandler.cpp" />
+ <ClCompile Include="SVGImage.cpp" />
<ClCompile Include="Translations.cpp" />
<ClCompile Include="StaticLink.cpp" />
<ClCompile Include="StatusLabel.cpp" />
@@ -411,6 +242,10 @@
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="SubtitleDlDlg.cpp" />
+ <ClCompile Include="SubtitlesProvider.cpp" />
+ <ClCompile Include="SubtitlesProviders.cpp" />
+ <ClCompile Include="SubtitlesProvidersUtils.cpp" />
+ <ClCompile Include="SubtitleUpDlg.cpp" />
<ClCompile Include="TextPassThruFilter.cpp" />
<ClCompile Include="TunerScanDlg.cpp" />
<ClCompile Include="UpdateChecker.cpp" />
@@ -423,6 +258,9 @@
<ClCompile Include="WebServer.cpp" />
<ClCompile Include="WebServerSocket.cpp" />
<ClCompile Include="WinHotkeyCtrl.cpp" />
+ <ClCompile Include="..\thirdparty\XmlRpc4Win\TimXmlRpc.cpp">
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="AboutDlg.h" />
@@ -461,8 +299,8 @@
<ClInclude Include="GraphThread.h" />
<ClInclude Include="Ifo.h" />
<ClInclude Include="IGraphBuilder2.h" />
+ <ClInclude Include="ImageGrayer.h" />
<ClInclude Include="InternalFiltersConfig.h" />
- <ClInclude Include="ISDb.h" />
<ClInclude Include="KeyProvider.h" />
<ClInclude Include="LcdSupport.h" />
<ClInclude Include="Logger.h" />
@@ -546,6 +384,11 @@
<ClInclude Include="stdafx.h" />
<ClInclude Include="Struct.h" />
<ClInclude Include="SubtitleDlDlg.h" />
+ <ClInclude Include="SubtitlesProvider.h" />
+ <ClInclude Include="SubtitlesProviders.h" />
+ <ClInclude Include="SubtitlesProvidersUtils.h" />
+ <ClInclude Include="SubtitleUpDlg.h" />
+ <ClInclude Include="SVGImage.h" />
<ClInclude Include="TextPassThruFilter.h" />
<ClInclude Include="TimerWrappers.h" />
<ClInclude Include="Translations.h" />
@@ -561,6 +404,7 @@
<ClInclude Include="WebServer.h" />
<ClInclude Include="WebServerSocket.h" />
<ClInclude Include="WinHotkeyCtrl.h" />
+ <ClInclude Include="..\thirdparty\XmlRpc4Win\timxmlrpc.h" />
</ItemGroup>
<ItemGroup>
<None Include="res\ani.avi" />
@@ -667,15 +511,15 @@
<ResourceCompile Include="mpc-hc.rc" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="..\..\build\BuildConfig.vcxproj">
+ <Project>{981574ae-5a5e-4f27-bdf1-1b841e374cff}</Project>
+ </ProjectReference>
<ProjectReference Include="..\DeCSS\DeCSS.vcxproj">
<Project>{1a2dfd1a-3c6c-44d1-909d-294af646b575}</Project>
</ProjectReference>
<ProjectReference Include="..\DSUtil\DSUtil.vcxproj">
<Project>{fc70988b-1ae5-4381-866d-4f405e28ac42}</Project>
</ProjectReference>
- <ProjectReference Include="..\MathLibFix\MathLibFix.vcxproj">
- <Project>{fc9fc17f-70bf-4aca-8285-c24d1889bacb}</Project>
- </ProjectReference>
<ProjectReference Include="..\thirdparty\BaseClasses\BaseClasses.vcxproj">
<Project>{e8a3f6fa-ae1c-4c8e-a0b6-9c8480324eaa}</Project>
</ProjectReference>
@@ -795,6 +639,9 @@
<LinkLibraryDependencies>true</LinkLibraryDependencies>
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
+ <ProjectReference Include="..\thirdparty\tinyxml2\tinyxml2.vcxproj">
+ <Project>{e02f0c35-fb01-4059-90f9-9ac19dc22fba}</Project>
+ </ProjectReference>
<ProjectReference Include="..\thirdparty\unrar\unrar.vcxproj">
<Project>{da8461c4-7683-4360-9372-2a9e0f1795c2}</Project>
</ProjectReference>
@@ -848,12 +695,14 @@
<Image Include="res\check_video.bmp" />
<Image Include="res\uncheck_all.bmp" />
</ItemGroup>
+ <ItemGroup>
+ <Image Include="res\subtitles\favicon_opensubtitles.ico" />
+ <Image Include="res\subtitles\favicon_podnapisi.ico" />
+ <Image Include="res\subtitles\favicon_subdb.ico" />
+ <Image Include="res\subtitles\favicon_titlovi.ico" />
+ <Image Include="res\subtitles\favicon_ysubs.ico" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
- <ProjectExtensions>
- <VisualStudio>
- <UserProperties RESOURCE_FILE="mpc-hc.rc" />
- </VisualStudio>
- </ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/src/mpc-hc/mpc-hc.vcxproj.filters b/src/mpc-hc/mpc-hc.vcxproj.filters
index 86f9aa04d..fb3d1641b 100644
--- a/src/mpc-hc/mpc-hc.vcxproj.filters
+++ b/src/mpc-hc/mpc-hc.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Player Config">
<UniqueIdentifier>{43c75f5f-5e94-4d15-8f45-b39b7c36bd62}</UniqueIdentifier>
@@ -86,6 +86,9 @@
<Filter Include="Crash Reporter">
<UniqueIdentifier>{1d73f7db-64e8-4bc8-b0ca-72847253f467}</UniqueIdentifier>
</Filter>
+ <Filter Include="Subtitles">
+ <UniqueIdentifier>{20afe682-61a3-4123-9012-4c918a03f482}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AppSettings.cpp">
@@ -169,9 +172,6 @@
<ClCompile Include="Ifo.cpp">
<Filter>Helpers</Filter>
</ClCompile>
- <ClCompile Include="ISDb.cpp">
- <Filter>Helpers</Filter>
- </ClCompile>
<ClCompile Include="LcdSupport.cpp">
<Filter>Integration\Logitech LCD</Filter>
</ClCompile>
@@ -343,8 +343,20 @@
<ClCompile Include="StatusLabel.cpp">
<Filter>Custom Controls</Filter>
</ClCompile>
+ <ClCompile Include="SubtitlesProvider.cpp">
+ <Filter>Subtitles</Filter>
+ </ClCompile>
+ <ClCompile Include="SubtitlesProviders.cpp">
+ <Filter>Subtitles</Filter>
+ </ClCompile>
+ <ClCompile Include="SubtitlesProvidersUtils.cpp">
+ <Filter>Subtitles</Filter>
+ </ClCompile>
+ <ClCompile Include="SubtitleUpDlg.cpp">
+ <Filter>Subtitles</Filter>
+ </ClCompile>
<ClCompile Include="SubtitleDlDlg.cpp">
- <Filter>Modal Dialogs</Filter>
+ <Filter>Subtitles</Filter>
</ClCompile>
<ClCompile Include="Translations.cpp">
<Filter>Player Config</Filter>
@@ -446,6 +458,15 @@
<ClCompile Include="DpiHelper.cpp">
<Filter>Helpers</Filter>
</ClCompile>
+ <ClCompile Include="..\thirdparty\XmlRpc4Win\TimXmlRpc.cpp">
+ <Filter>Subtitles</Filter>
+ </ClCompile>
+ <ClCompile Include="SVGImage.cpp">
+ <Filter>Helpers</Filter>
+ </ClCompile>
+ <ClCompile Include="ImageGrayer.cpp">
+ <Filter>Helpers</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="AppSettings.h">
@@ -532,9 +553,6 @@
<ClInclude Include="InternalFiltersConfig.h">
<Filter>Player Config</Filter>
</ClInclude>
- <ClInclude Include="ISDb.h">
- <Filter>Helpers</Filter>
- </ClInclude>
<ClInclude Include="LcdSupport.h">
<Filter>Integration\Logitech LCD</Filter>
</ClInclude>
@@ -715,8 +733,20 @@
<ClInclude Include="Struct.h">
<Filter>Helpers</Filter>
</ClInclude>
+ <ClInclude Include="SubtitlesProvider.h">
+ <Filter>Subtitles</Filter>
+ </ClInclude>
+ <ClInclude Include="SubtitlesProviders.h">
+ <Filter>Subtitles</Filter>
+ </ClInclude>
+ <ClInclude Include="SubtitlesProvidersUtils.h">
+ <Filter>Subtitles</Filter>
+ </ClInclude>
+ <ClInclude Include="SubtitleUpDlg.h">
+ <Filter>Subtitles</Filter>
+ </ClInclude>
<ClInclude Include="SubtitleDlDlg.h">
- <Filter>Modal Dialogs</Filter>
+ <Filter>Subtitles</Filter>
</ClInclude>
<ClInclude Include="TimerWrappers.h">
<Filter>Helpers</Filter>
@@ -834,6 +864,15 @@
<ClInclude Include="DpiHelper.h">
<Filter>Helpers</Filter>
</ClInclude>
+ <ClInclude Include="..\thirdparty\XmlRpc4Win\timxmlrpc.h">
+ <Filter>Subtitles</Filter>
+ </ClInclude>
+ <ClInclude Include="SVGImage.h">
+ <Filter>Helpers</Filter>
+ </ClInclude>
+ <ClInclude Include="ImageGrayer.h">
+ <Filter>Helpers</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="res\ani.avi">
@@ -1070,4 +1109,21 @@
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
+ <ItemGroup>
+ <Image Include="res\subtitles\favicon_opensubtitles.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\subtitles\favicon_podnapisi.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\subtitles\favicon_subdb.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\subtitles\favicon_titlovi.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ <Image Include="res\subtitles\favicon_ysubs.ico">
+ <Filter>Resource Files</Filter>
+ </Image>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/mpc-hc/mpciconlib/mpciconlib.vcxproj b/src/mpc-hc/mpciconlib/mpciconlib.vcxproj
index 70a3882ed..2cea33485 100644
--- a/src/mpc-hc/mpciconlib/mpciconlib.vcxproj
+++ b/src/mpc-hc/mpciconlib/mpciconlib.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
@@ -18,50 +18,30 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\mpc-hc_x86\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\mpc-hc_x64\</OutDir>
+ <OutDir Condition="'$(Platform)'=='Win32'">$(SolutionDir)bin\mpc-hc_x86\</OutDir>
+ <OutDir Condition="'$(Platform)'=='x64'">$(SolutionDir)bin\mpc-hc_x64\</OutDir>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <Link>
- <NoEntryPoint>true</NoEntryPoint>
- <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
- </Link>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\include</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<Link>
<NoEntryPoint>true</NoEntryPoint>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
+ <AdditionalDependencies>libcmt.lib;libvcruntime.lib;libucrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\include</AdditionalIncludeDirectories>
diff --git a/src/mpc-hc/mpciconlib/mpciconlib.vcxproj.filters b/src/mpc-hc/mpciconlib/mpciconlib.vcxproj.filters
index c4563cd17..c00c5c34b 100644
--- a/src/mpc-hc/mpciconlib/mpciconlib.vcxproj.filters
+++ b/src/mpc-hc/mpciconlib/mpciconlib.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/mpc-hc/mpcresources/BuildAll.vcxproj b/src/mpc-hc/mpcresources/BuildAll.vcxproj
index 2f2aaa117..e3f1b0ea5 100644
--- a/src/mpc-hc/mpcresources/BuildAll.vcxproj
+++ b/src/mpc-hc/mpcresources/BuildAll.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
@@ -38,6 +38,9 @@
<AdditionalProperties>Configuration=Release Bengali</AdditionalProperties>
</ProjectToBuild>
<ProjectToBuild Include="mpcresources.vcxproj">
+ <AdditionalProperties>Configuration=Release Bosnian</AdditionalProperties>
+ </ProjectToBuild>
+ <ProjectToBuild Include="mpcresources.vcxproj">
<AdditionalProperties>Configuration=Release Catalan</AdditionalProperties>
</ProjectToBuild>
<ProjectToBuild Include="mpcresources.vcxproj">
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
index ab01547de..ccdc751fa 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
@@ -1,20 +1,22 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
# Ahmad Abd-Elghany <tolpa1@gmail.com>, 2013-2015
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
+# Khaled Saleem Baleesh <Kbaleesh@gmail.com>, 2016
# manxx55 <w6txz2@gmail.com>, 2014
-# Omar Anwar <omaraglan91@yahoo.com>, 2015
+# Mubarak Qahtani <abu-q76@hotmail.com>, 2016
+# Omar Anwar <omaraglan91@yahoo.com>, 2015,2017
# Tariq <tariq-mz@hotmail.com>, 2014
# Tariq <tariq-mz@hotmail.com>, 2014
# manxx55 <w6txz2@gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-08 06:55+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-19 16:41+0000\n"
"Last-Translator: Omar Anwar <omaraglan91@yahoo.com>\n"
"Language-Team: Arabic (http://www.transifex.com/mpc-hc/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -196,8 +198,8 @@ msgid "About"
msgstr "حول"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Authors.txt حقوق طبع © 2002-2015 انظر"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Authors.txt حقوق طبع © 2002-2017 انظر"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -428,12 +430,16 @@ msgid "time(s)"
msgstr "مرة (مرات)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "وضع الإعادة:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "بعد التشغيل"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "المخرجات"
+msgid "Default zoom"
+msgstr "التقريب الافتراضى"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -572,7 +578,7 @@ msgid "Warning"
msgstr "تحذير"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "إذا كنت ستتجاوز وتمكّن الشاشة الكاملة ضدّ التعرّج في مكان ضبط كرت الفيديو الخاص بك، فالترجمة لن تشاهدها بفرق أفضل لكنّه سيستهلك وحدة المعالجة المركزية بالتأكيد"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -681,7 +687,7 @@ msgstr "منع تصغير المشغل عندما يكون في الشاشة ا
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "استخدام ميزات شريط المهام المحسنة"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -1128,8 +1134,8 @@ msgid "Audio Renderer"
msgstr "عارض الصوت"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "ضبط VMR-7/VMR-9 (عارض أقل) و EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "ضبط VMR-9 (عارض أقل) و EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1173,7 +1179,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "الترجمات"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1189,6 +1195,10 @@ msgstr "التدوير"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
+msgstr "إعادة طباعة الترجمة"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
msgstr ""
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
@@ -1209,7 +1219,7 @@ msgstr "السماح بالوصول من المضيف المحلي فقط"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr "تمكين المعانيه"
+msgstr "تمكين المعاينة"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1236,17 +1246,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI عوامل: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "الترجمات متوفرة على الانترنت"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "تنزيل وفتح"
+msgid "Download subtitles"
+msgstr "تحميل الترجمات"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "استبدال الترجمة المحملة حاليا"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "تحميل"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "تنشيط"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "إلغاء"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "اعدادات"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "رفع الترجمة"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "رفع"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "إلغاء"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "اعدادات"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "حفظ بإسم..."
@@ -1548,16 +1586,28 @@ msgid "Reset"
msgstr "إعادة ضبط"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "قاعدة البيانات على الانترنت"
+msgid "Online search, download and upload subtitles"
+msgstr "البحث في الانترنت عن الترجمات وتنزيلها ورفعها"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "ابحث بشكل آلي عن الترجمات وحملها إذا لم تكن متوفرة محليا"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "يفضل استخدام الترجمة لِضعاف السمع"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "تجاهل الملفات التي تحتوي على الكلمات التالية:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "الرابط الأساسي لقاعدة البيانات على الانترنت"
+msgid "Languages in order of preference:"
+msgstr "اللغات بالترتيب حسب تفضيلها (مثل \"eng ell spa\"):"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "فحص"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "ارفع الترجمات النشطة عند نهاية مقطع الفيديو"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
index 04a666a5c..48cca6de6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Ahmad Abd-Elghany <tolpa1@gmail.com>, 2013-2014
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
+# Mubarak Qahtani <abu-q76@hotmail.com>, 2016
# Tariq <tariq-mz@hotmail.com>, 2014
# manxx55 <w6txz2@gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-07-01 20:37+0000\n"
-"Last-Translator: manxx55 <w6txz2@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-07 21:26+0000\n"
+"Last-Translator: Mubarak Qahtani <abu-q76@hotmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/mpc-hc/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -67,29 +68,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "حفظ صورة مصغرة..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "تحميل الترجمة..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "حفظ الترجمة..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "قاعدة بيانات الترجمة"
+msgid "S&ubtitles"
+msgstr "الترجمة"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "بحث..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "تحميل الترجمة"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "رفع..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "حفظ الترجمة"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "تنزيل..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "تحميل الترجمة"
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "رفع الترجمة"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -411,17 +408,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "لمس النافذة من الخارج"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "حفظ النسبة الباعية"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "تجاهل النسبة الباعية"
+msgid "&Aspect Ratio"
+msgstr "نسبة العرض إلى الإرتفاع"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "الإفتراضي"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "حسب الشاشة"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -443,6 +436,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "بكسل مربع"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "تصحيح فرق النسبة الباعية للشاشة/سطح المكتب"
@@ -536,9 +533,25 @@ msgid "&Stop"
msgstr "إيقاف"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "خطوة إطار أمام"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "إعادة"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "للأبد"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "ملف"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "قائمة التشغيل"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "تقليل سرعة العرض"
@@ -568,7 +581,7 @@ msgid "Su&btitle Track"
msgstr "&مسار الترجمة"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&مسار الفيديو"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
index 5c80c44db..5d4705ff1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
@@ -1,20 +1,23 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
# Ahmad Abd-Elghany <tolpa1@gmail.com>, 2014
+# Khaled Saleem Baleesh <Kbaleesh@gmail.com>, 2016
# manxx55 <w6txz2@gmail.com>, 2014
+# Mubarak Qahtani <abu-q76@hotmail.com>, 2016
# nour nader <thenino2013@gmail.com>, 2014
# Tariq <tariq-mz@hotmail.com>, 2014
# Tariq <tariq-mz@hotmail.com>, 2014
# manxx55 <w6txz2@gmail.com>, 2014-2015
+# ‫ابو سليمان الشـمري‬‎ <mollthb@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-08 06:46+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Arabic (http://www.transifex.com/mpc-hc/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -66,10 +69,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "الخصائص"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "ملف"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&الاستايل الافتراضي"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "قائمة التشغيل"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "الملفات"
@@ -122,6 +133,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "إذا ترك الـ rendering targeh غير معروف، سيتم إخراج ترجمات SSA / ASS بالنسبة لإطار الفيديو في حين سيتم إخراج جميع الترجمات الأخرى بالنسبة للنافذة."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "وضع الإعادة: حسب قائمة التشغيل"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "وضع الإعادة: ملف"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "إعادة إلى الأبد: نعم"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "إعادة إلى الأبد: لا"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "إعادة إلى الأبد"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "أبدا (أسرع مقاربة)"
@@ -522,18 +553,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "تراكب العارض"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "عارض فيديو مختلط 7 (ذو نوافذ)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "عارض فيديو مختلط 9 (ذو نوافذ)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "عارض فيديو مختلط 7 (عارض أقل)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "عارض فيديو مختلط 9 (عارض أقل)"
@@ -586,10 +609,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "المشغل::واجهة الويب"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "الترجمة::قاعدة البيانات"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "التفاصيل"
@@ -610,17 +629,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "دائماً يعيد في التغطية. عموما فقط صيغ YUV مسموحة لها، لكنّها مقدّمه مباشرة بدون أيّ تحويل في اللون إلى RGB. هذه طريقة اسرع في إعادة الكلّ فقط عندما تكون متأكّداً من نسخة الفيديو لخرج التلفاز في الشاشة الكاملة نشيط."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "العارض الأفتراضي لويندوز XP. مستقرّ جداً وهو فقط أبطأ إلى حدّ ما من طبقة المزج. إستعمل DirectDraw والتشغيل في الطبقة إذا كان يمكنك ذلك."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "متوفرة فقط إذا كنت مثبت DirectX 9. لها نفس القدرات مثل VMR-7 (ذو نوافذ)، لكنّه لن يستعمل إعادة الطبقة وبسبب هذا هو قد يكون أبطأ إلى حدّ ما من VMR-7 (ذو نوافذ)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "نفس الـ VMR-7 (ذو نوافذ)، لكن بخصائص مساعدة متقدّمة MPC HC للترجمة. نسخة طبقة الفيديو لن تعمل. \"لون حقيقي \" يوصى بلون مجال سطح المكتب."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "متاح فقط إذا كان لديك DirectX 9 على الجهاز، مستقر جدًا ولكن لن يستخدم \"Overlay rendering\" ولهذا يمكن ان يكون أبطأ من \"Overlay mixer\""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -658,10 +669,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "العارض الخاص لـ Real's. مخطوطات SMIL ستعمل، لكن التفاعل غير مرجح. استعمل DirectDraw وشغله في الطبقة إذا أمكنك ذلك."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ناتج عارض محرّك لـ Real's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "ناتج عارض محرّك لـ Real's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
@@ -670,10 +677,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "عارض QuickTime's الخاص. يصبح بطيئاً إلى حدّ ما في إعادة تحجيم الفيديو أو تغطيه جزء بنافذة أخرى. عندما تكون الطبقة غير متوفرة هو سيتراجع إلى GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
@@ -754,9 +757,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "ليكون مصدر العرض في المتصفح يجب أن تمكّن وصلة الويب.\n\nإستعمل زر \"حفظ كـ\" إذا كنت تريد حفظ المعلومات."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "تحميل الترجمات"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "تحميل الترجمة ..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "رفع الترجمة ..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -814,6 +821,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "يخفّض التمزيق مع إهمال VSync الإفتراضي ويتحوّل إلى D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "فحص الموالف"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "لا يمكن تحميل الترجمة او إنها غير مدعومة من العارض"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "فتح VTS_xx_0.ifo لتحميل VTS_xx_x.vob كملفات في قطعة واحدة"
@@ -951,11 +970,11 @@ msgid "&Organize Favorites..."
msgstr "تنظيم المفضلة.."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "الخلط"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "موقع الملف المفتوح"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1039,7 +1058,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "التقريب لكامل الشاشة العريضة,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "إخفاء على الشاشة الكاملة"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1212,11 +1231,11 @@ msgstr "L = R"
msgctxt "IDS_BALANCE_L"
msgid "L +%d%%"
-msgstr "L +%d%%"
+msgstr "يسار +%d%%"
msgctxt "IDS_BALANCE_R"
msgid "R +%d%%"
-msgstr "R +%d%%"
+msgstr "يمين +%d%%"
msgctxt "IDS_VOLUME"
msgid "%d%%"
@@ -1227,7 +1246,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "إضافة تضمين حافظة"
msgctxt "IDS_HW_INDICATOR"
@@ -1384,31 +1403,31 @@ msgstr "دقة عالية"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr "بعد نهاية التشغيل: إعادة الملف الحالي"
+msgstr "بعد نهاية التشغيل: أعد تشغيل الملف الحالي"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr "بعد نهاية التشغيل: إغلاق"
+msgstr "بعد نهاية التشغيل: أغلق"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "إذا كنت تواجهة مشكلة أثناء تهيئة MPC-HC. بمساعدتكم نحن قد نكون قادرين على إصلاح المشكلة. \n\nهل تريد الإبلاغ عن ذلك؟"
+msgstr "MPC-HC واجه مشكلة في بداية تشغيله. بمساعدتك قد نكون قادرين على إصلاح المشكلة. \n\nهل تريد الإبلاغ عن ذلك؟"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr "أدخل قيمة موجبة إذا كان الصوت سابق، وقيمة سالبة إذا كان متأخر."
+msgstr "أدخل قيمة موجبة إذا كان الصوت متقدم، وقيمة سالبة إذا كان متأخر."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr ""
+msgstr "الإستعراض، غير متاح حاليًا. يمكنك تفعيله عن طريق الخيارات"
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "هذه الخاصية تمكنك من استعراض ملفات عن طريق الشبكة. استخدم هذه الخدمة فقط إذا كنت متأكد من ان الشبكة آمنة.\n\nهل ترغب فعلًا ان تسمح بهذه الخدمة؟"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "تصيير ( Renderer ) الترجمة عن طريق البرنامج"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1430,13 +1449,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "تم حفظ الصورة"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "تحميل الترجمة"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr " تحميل الترجمات..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "حفظ الترجمة"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "حفظ الترجمات..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1460,11 +1479,11 @@ msgstr "توقف"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "خطوة إطار"
+msgstr "خطوة للأمام بالإطار"
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "خطوة خلفية للإطار"
+msgstr "خطوة للخلف بالإطار"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1563,7 +1582,7 @@ msgid "Thumbnails saved successfully"
msgstr "تم حفظ المصغرات"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&مسار الفيديو"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1799,8 +1818,8 @@ msgid "PnS Dec Height"
msgstr "بان اند سكان تقليل الإرتفاع"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "تحميل الترجمة، الرجاء الإنتظار"
+msgid "Downloading [%s] \"%s\""
+msgstr "تحميل [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2062,11 +2081,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "مشفرة"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "نعم"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "لا"
@@ -2140,7 +2159,7 @@ msgstr "تشغيل مع MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC ليس لديه إمتيازات كافيه حتى يغيّر روابط صيغ الملفات. الرجاء إنقر على زر \"تشغيل كمستخدم\"."
+msgstr "MPC-HC ليس لديه إمتيازات كافيه حتى يغيّر روابط صيغ الملفات. الرجاء إنقر على زر \"تشغيل كمسؤول\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2218,14 +2237,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "عرض الصورة:"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "عنوان الموقع يبدو صحيحا!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "عدم تطابق إصدار البروتوكول، الرجاء الترقية المشغل أو اختيار عنوان مختلف!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "نسبة الطول للعرض"
@@ -2319,8 +2330,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "الصور المصغرة ستكون أصغر مما ينبغي، لا يمكن إنشاء الملف.\n\nحاول خفض عدد الصور المصغرة أو زيادة الحجم الإجمالي."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "لتحميل الترجمة يجب أن تغيير نوع رندرر الفيديو و إعادة فتح الملف.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR أو Haali\n- RealMedia: رندرر خاص لـRealMedia, أو افتحه عبر DirectShow\n- QuickTime: DX7 أو DX9 الرندرر لـQuickTime\n- ShockWave: لا ينطبق"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "لتحميل الترجمة يجب أن تغيير نوع رندرر الفيديو و إعادة فتح الملف.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR أو Haali\n- RealMedia: رندرر خاص لـRealMedia, أو افتحه عبر DirectShow\n- QuickTime: DX7 أو DX9 الرندرر لـQuickTime\n- ShockWave: لا ينطبق"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2331,8 +2342,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "النسبة الباعية: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "النسبة الباعية: افتراضي"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "نسبة العرض إلى الإرتفاع: حسب الشاشة (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2370,10 +2381,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "فشل في عملية الريندر للملف"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "رابط غير صالح، لم يمكن تحديد قاعدة بيانات الترجمة هناك!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "الفصل:"
@@ -2567,8 +2574,8 @@ msgid "Volume boost Max"
msgstr "أقصى تعزيز للصوت"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "طريقة الاستعمال: mpc-hc.exe \"pathname\" [المفاتيح]\n\n\"pathname\"\tالملف الرئيسي او المجلد الذي سيتم تحميله (حرف بدل\n\t\tمسموح, \"-\" يدل على المدخل القياسي)\n/dub \"dubname\"\tتحميل ملف صوت إضافي\n/dubdelay \"file\"\tتحميل ملف صوت إضافي مزاح بـ XXms (إذا كان\n\t\tالملف يحتوي على \"...DELAY XXms...\")\n/d3dfs\t\tبدء التصيير في وضع ملء الشاشة D3D\n/sub \"subname\"\tتحميل ملف ترجمة إضافي\n/filter \"filtername\"\tتحميل فلاتر DirectShow من مكتبة الروابط\n\t\tالديناميكية (أحرف البدل مسموحة)\n/dvd\t\tتشغيل في وضع DVD, \"pathname\" تعني الـDVD\n\t\tالمجلد (اختياري)\n/dvdpos T#C\tبدء التشغيل في العنوان T, فصل C\n/dvdpos T#hh:mm\tبدء التشغيل في العنوان T, موقع hh:mm:ss\n/cd\t\tتحميل كل مسارات audio cd أو (s)vcd,\n\t\t\"pathname\" يعني مسار محرك الأقراص (اختياري)\n/device\t\tفتح جهاز الفيديو الافتراضي\n/open\t\tافتح الملف، لا تبدأ التشغيل تلقائيا\n/play\t\tبدء تشغيل الملف عند بدء\n\t\tالمشغل\n/close\t\tإغلاق المشغل بعد نهاية العرض (يعمل فقط عند\n\t\tاستعماله مع /play)\n/shutdown\tإيقاف تشغيل نظام التشغيل بعد العرض\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tالبدء في وضع ملء الشاشة\n/minimized\tالبدء في الوضع المصغر\n/new\t\tاستخدام مثيل جديد من المشغل\n/add\t\tإضافة \"pathname\" إلى قائمة التشغيل، يمكن دمجه\n\t\tمع /open و /play\n/randomize\tRandomize the playlist\n/regvid\t\tإنشاء اقترانات الملفات لملفات الفيديو\n/regaud\t\tإنشاء اقترانات الملفات لملفات الصوت\n/regpl\t\tإنشاء اقترانات الملفات لملفات قائمة التشغيل\n/regall\t\tإنشاء اقترانات الملفات لجميع الملفات المدعومة\n/unregall\t\tإزالة جميع اقترانات الملفات\n/start ms\t\tبدء العرض عند \"ms\" (= ميلي ثانية)\n/startpos hh:mm:ss\tبدء العرض عند موضع hh:mm:ss\n/fixedsize w,h\tتعيين حجم نافذة ثابت\n/monitor N\tبدء المشغل على الشاشة N، حيث N تبدأ من 1\n/audiorenderer N\tالبدء باستعمال مصيير الصوت N، حيث N تبدأ من 1\n\t\t( راجع اعدادات \"المخرجات\" )\n/shaderpreset \"Pr\"\tالبدء باستعمال الاعدادات المسبقة \"Pr\" للمظلل\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tاستعادة الإعدادات الافتراضية\n/help /h /?\tعرض التعليمات حول مفاتيح سطر الأوامر\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2654,14 +2661,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "تمكين كل الفلاتر"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "فحص الموالف"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "لا يمكن تحميل الترجمة او إنها غير مدعومة من العارض"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "المؤلف مجهول. اتصل بنا إذا كنت من صنع هذا الشعار!"
@@ -3410,10 +3409,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"حفظ الصورة\" و \"حفظ المصغرات\" هذه الوظائف لاتعمل مع عارض الفيديو المختلط.\nغير عارض الفيديو في خيارات الناتج في MPC's وأعد فتح الملف."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "لا يستطيع الإتصال بقاعدة بيانات الترجمة على الإنترنت."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "هل تريد تنشيط المحرّر EDL؟"
@@ -3600,9 +3595,377 @@ msgstr "الضبط"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "تمكين الــ XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "المزوّد"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "ضعاف السمع"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "التنزيلات"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "نتيجة"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "فشل البحث عن ترجمة عن طريق الإنترنت"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "تم إلغاء البحث عن ترجمة عن طريق الإنترنت"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "تم البحث عن ترجمة عن طريق الإنترنت. %d تراجم موجودة"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "تم البحث عن ترجمة عن طريق الإنترنت. لا يوجد تراجم."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "تحميل الترجمات"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "البحث عن ترجمة عن طريق الإنترنت. الرجاء الإنتظار"
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "جاري البحث عن ترجمة عن طريق الإنترنت ..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "اسم المستخدم"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "الحالة"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "مستعد ..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "تمكين الـ XySubFilter"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "رفع ..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "تم رفع الترجمة بنجاح"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "فشل في رفع الترجمة"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "تم إلغاء رفع الترجمة"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "الترجمة موجودة مسبقًا"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "يتم رفع الترجمة، الرجاء الإنتظار"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "تم رفع الترجمة"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "الرفع تم إلغائه"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "فشل الرفع"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "تنزيل وفتح"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "إعداد"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "إعادة ضبط"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "تحريك لإعلى"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "تحريك لإسفل"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "افتح الرابط"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "اللغات"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "خطأ: لا يمكن الوصول إلى الأنترنت"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "ادخل بيانات الموقع"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "ادخل بياناتك للإتصال بــ :"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "نسبة العرض إلى الإرتفاع: بكسل مربع (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "تحميل [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "رفع ترجمة"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "هل ترغب فعلًا أن ترفع ملف الترجمة \"%s\"؟"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
index 2e9afc6ab..a8f5227e7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
@@ -1,31 +1,33 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Haxyc, 2016
+# Yauhen Bugamol <haxycgm@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-11-06 02:43+0000\n"
+"Last-Translator: Yauhen Bugamol <haxycgm@gmail.com>\n"
+"Language-Team: Belarusian (http://www.transifex.com/mpc-hc/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
msgid "Select Media Type"
-msgstr "Абярыце тып"
+msgstr "Выберыце тып мультымедыя"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
msgid "Cancel"
-msgstr "Адмена"
+msgstr "Скасаваць"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
msgid "Video"
@@ -37,27 +39,27 @@ msgstr "Зах."
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Audio"
-msgstr "Аўдыё"
+msgstr "Аўдыя"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Output"
-msgstr "Захаванне"
+msgstr "Вывад"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Відэа"
+msgstr "Запіс відэа"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
-msgstr "Прагляд"
+msgstr "Папярэдні прагляд"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
msgid "Record Audio"
-msgstr "Аўдыё"
+msgstr "Запіс аўдыя"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
msgid "Preview"
-msgstr "Прагляд"
+msgstr "Папярэдні прагляд"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
@@ -65,7 +67,7 @@ msgstr "V/A буфер:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
-msgstr "Гук у wav"
+msgstr "Аўдыя ў wav"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
@@ -73,19 +75,19 @@ msgstr "Запіс"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Уключыць убудаваны перамыкач аўдыёсцежак (патрэбны перазапуск)"
+msgstr "Уключыць убудаваны пераключальнік аўдыя (патрабуецца перазапуск)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
-msgstr "Нармалізав."
+msgstr "Нармалізацыя"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr ""
+msgstr "Максімальнае ўзмацненне"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
-msgstr ""
+msgstr "%"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
msgid "Regain volume"
@@ -97,11 +99,11 @@ msgstr "Узмацненне:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
-msgstr "Пераўтварыць у 44100 Гц"
+msgstr "Ператварыць у 44100 Гц"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Зрушэнне гуку (у мс):"
+msgstr "Зрушэнне гуку (мс):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
@@ -117,7 +119,7 @@ msgstr "уваходных каналаў:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Утрымлівайце shift для неадкладнага прыняцця змен пры націску"
+msgstr "Утрымлівайце shift пры націсканні каб неадкладна ўжыць змены."
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -125,7 +127,7 @@ msgstr "Перайсці..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Увядзіце не больш 4 лікаў, падзеленых чым заўгодна, акрамя лічбаў. Адзін лік значыць мс, два ліку - сек і мс, і г.д."
+msgstr "Каб перайсці на патрэбную пазіцыю, увядзіце час у фармаце [гг:]хв:сс.мс. "
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -133,11 +135,11 @@ msgstr "Час"
msgctxt "IDD_GOTO_DLG_IDC_OK1"
msgid "Go!"
-msgstr "Наперад!"
+msgstr "Перайсці"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Увядзіце два ліка для пераходу да зададзенага кадра: першы - нумар кадра, другі - лік кадраў у секунду."
+msgstr "Каб перайсці да патрэбнага кадра, увядзіце два лікі: першы — нумар кадра, другі - колькасць кадраў у секунду."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -145,7 +147,7 @@ msgstr "Кадр"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
-msgstr "Наперад!"
+msgstr "Перайсці"
msgctxt "IDD_OPEN_DLG_CAPTION"
msgid "Open"
@@ -153,15 +155,15 @@ msgstr "Адкрыць"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Увядзіце адрас фільма або аўдыёфайла (у Інтэрнэт або на вашым кампутары)"
+msgstr "Увядзіце адрас фільма або аўдыяфайла (у Інтэрнэт або на вашым камп'ютары)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
-msgstr "Адкрыць"
+msgstr "Адкрыць:"
msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Абраць..."
+msgstr "Агляд..."
msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
msgid "Dub:"
@@ -173,11 +175,11 @@ msgstr "Агляд..."
msgctxt "IDD_OPEN_DLG_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_OPEN_DLG_IDCANCEL"
msgid "Cancel"
-msgstr "Адмена"
+msgstr "Скасаваць"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
@@ -188,20 +190,20 @@ msgid "About"
msgstr "Пра праграму"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 глядзiце файл Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 глядзіце файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Гэтая праграма бясплатная і распаўсюджваецца пад ліцэнзіяй GNU General Public License."
+msgstr "Гэтая праграма бясплатная і распаўсюджваецца згодна з GNU General Public License."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Лакалізацыя: Містэр Ш"
+msgstr "Лакалізацыя: Містэр Ш, Bugamol"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr ""
+msgstr "Звесткі пра зборку"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -209,43 +211,43 @@ msgstr "Версія :"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Compiler:"
-msgstr "Кампiлятар:"
+msgstr "Кампілятар:"
msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
msgid "Not used"
-msgstr ""
+msgstr "Не выкарыстоўваецца"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr ""
+msgstr "Дата зборкі:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
-msgstr ""
+msgstr "Аперацыйная сістэма"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Name:"
-msgstr ""
+msgstr "Назва"
msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
msgid "Copy to clipboard"
-msgstr ""
+msgstr "Скапіяваць у буфер абмену"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Open options"
-msgstr "Адкрываць файлы выкарыст."
+msgstr "Адкрываць файлы..."
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "адзін і той жа прайгравальнік для кожнага файла"
+msgstr "адным прайгравальнікам для кожнага файла"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
-msgstr "новы прайгравальнік для кожнага файла"
+msgstr "новым прайгравальнікам для кожнага файла"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
@@ -253,11 +255,11 @@ msgstr "Мова"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Title bar"
-msgstr "У загалоўку"
+msgstr "Паказваць у загалоўку..."
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
msgid "Display full path"
-msgstr "адлюстр. поўны шлях"
+msgstr "поўны шлях"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
@@ -265,11 +267,11 @@ msgstr "толькі імя файла"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "не адлюстроўваць нічога"
+msgstr "нічога"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Замяняць назвай"
+msgstr "Замяняць на назву"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -281,7 +283,7 @@ msgstr "Значок у панэлі задач"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "Паказаць OSD (патрабуецца перазапуск)"
+msgstr "Паказваць OSD (патрабуецца перазапуск)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
@@ -297,7 +299,7 @@ msgstr "Захоўваць налады ў .ini файле"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
-msgstr "Выкл меню \"Адкрыць дыск\""
+msgstr "Адключыць меню «Адкрыць дыск»"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
@@ -305,7 +307,7 @@ msgstr "Падвышаны прыярытэт працэсу"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr ""
+msgstr "Уключыць падтрымку вокладак"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -313,11 +315,11 @@ msgstr "Гісторыя"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
-msgstr "Захоўваць гісторыю адчын. файлаў"
+msgstr "Запамінаць адкрытыя файлы"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
-msgstr ""
+msgstr "Запамінаць апошні спіс прайгравання"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
@@ -341,19 +343,19 @@ msgstr "Памятаць апошні Pan-n-Scan Zoom"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr ""
+msgstr "Дзеянне каманды «Адкрыць DVD/BD»"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
-msgstr ""
+msgstr "Запытваць размяшчэнне папкі"
msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
msgid "Always open the default location:"
-msgstr ""
+msgstr "Заўсёды адкрываць вызначаную папку:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Пераважная мова для навігатара DVD і падзельніка OGM"
+msgstr "Пажаданая мова для DVD Navigator і OGM Splitter"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -361,11 +363,11 @@ msgstr "Меню"
msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
msgid "Audio"
-msgstr "Аўдыё"
+msgstr "Аўдыя"
msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
msgid "Subtitles"
-msgstr "Субтытры"
+msgstr "Субцітры"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Additional settings"
@@ -373,11 +375,11 @@ msgstr "Дадатковыя налады"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Дазволіць субтытры у 'Line 21 Decoder' для людзей, якія дрэнна чуюць"
+msgstr "Дазволіць схаваныя субцітры ў «Line 21 Decoder»"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
-msgstr "Аўдыё"
+msgstr "Аўдыя"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume"
@@ -385,11 +387,11 @@ msgstr "Гучнасць"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Min"
-msgstr ""
+msgstr "Менш"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Max"
-msgstr ""
+msgstr "Больш"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
msgid "Balance"
@@ -397,11 +399,11 @@ msgstr "Баланс"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "L"
-msgstr ""
+msgstr "Лева"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "R"
-msgstr ""
+msgstr "Права"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Playback"
@@ -409,7 +411,7 @@ msgstr "Прайграванне"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
msgid "Play"
-msgstr "Паўтараць"
+msgstr "Прайграваць"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
msgid "Repeat forever"
@@ -417,15 +419,19 @@ msgstr "Паўтараць бясконца"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
-msgstr "разоў"
+msgstr "раз(ы)"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Паўтараць:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
-msgstr ""
+msgstr "Па сканчэнні прайгравання"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Вывад"
+msgid "Default zoom"
+msgstr "Маштаб па змаўчанні"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -433,27 +439,27 @@ msgstr "Аўтамаштаб:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
-msgstr ""
+msgstr "Упісаць у"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
-msgstr ""
+msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Парадак загрузкі гуку"
+msgstr "Пажаданыя мовы"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
-msgstr "Субтытры:"
+msgstr "Субцітры:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
-msgstr "Аўдыё:"
+msgstr "Аўдыя:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr ""
+msgstr "Дазволіць змяняць выбар знешняга сплітара."
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -469,47 +475,47 @@ msgstr "Справазд. аб памылках рэндэрынгу струм
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "Аўтазагрузка гуку"
+msgstr "Аўтаматычна загружаць аўдыяфайлы"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
-msgstr ""
+msgstr "Кіраванне"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume step:"
-msgstr ""
+msgstr "Шаг гучнасці:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "%"
-msgstr ""
+msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Speed step:"
-msgstr ""
+msgstr "Шаг хуткасці:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
msgid "Override placement"
-msgstr "Змяніць становішча"
+msgstr "Змяніць размяшчэнне"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
msgid "Horizontal:"
-msgstr "Гарызант:"
+msgstr "Гарызанталь:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC2"
msgid "%"
-msgstr ""
+msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC3"
msgid "Vertical:"
-msgstr "Верт:"
+msgstr "Вертыкаль:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC4"
msgid "%"
-msgstr ""
+msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
-msgstr ""
+msgstr "Шаг затрымкі:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
@@ -517,55 +523,55 @@ msgstr "мс"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Налада тэкстуры (адкрыйце відэа зноў, каб убачыць змены)"
+msgstr "Налады тэкстуры (каб убачыць змены, адкрыйце відэа зноў)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
-msgstr "Лік старонак кэшыруемых наперад:"
+msgstr "Колькасць кадраў у буферы:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
-msgstr "Максімальная вырашальнасць тэкстуры:"
+msgstr "Максімальная разрознасць тэкстуры:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
-msgstr ""
+msgstr "Ніколі не анімаваць субцітры"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr ""
+msgstr "Апрацоўваць"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
-msgstr ""
+msgstr "% анімацыі"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr ""
+msgstr "Анімаваць"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr ""
+msgstr "% частаты кадраў відэа"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr ""
+msgstr "Дазволіць пропуск некаторых кадраў пры запазненні"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
-msgstr ""
+msgstr "Апрацоўшчык відэа"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
-msgstr ""
+msgstr "Карэктаваць прапорцыі анамарфаванага відэафармата."
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Warning"
-msgstr "Увага"
+msgstr "Папярэджанне"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Калі вы зменіце становішча і задзейнічаеце поўнаэкраннае згладжванне ў наладах відэакарты, субтытры не будуць выглядаць лепш, але будуць празмеру нагружаць працэсар."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Калі вы зменіце размяшчэнне і задзейнічаеце ў наладах відэакарты поўнаэкраннае згладжванне, субцітры не стануць выглядаць лепш, але пачнуць празмерна нагружаць працэсар."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -573,11 +579,11 @@ msgstr "Пашырэнні файлаў"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
msgid "Default"
-msgstr "Стандартна"
+msgstr "Па змаўчанні"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
msgid "Set"
-msgstr "Усталяваць"
+msgstr "Задаць"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
msgid "Association"
@@ -585,15 +591,15 @@ msgstr "Асацыяцыі"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr ""
+msgstr "Адмысловыя значкі фарматаў"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "Выканаць ад імя &адміністратара"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "Зрабіць праграмай &па змаўчанні"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -601,19 +607,19 @@ msgstr "Адкрываць Real-Time Streaming Protocol (rtsp://...) праз:"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
-msgstr ""
+msgstr "RealMedia"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO2"
msgid "QuickTime"
-msgstr ""
+msgstr "QuickTime"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO3"
msgid "DirectShow"
-msgstr ""
+msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Спачатку глядзець пашырэнне"
+msgstr "Спачатку праверыць пашырэнне"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -641,19 +647,19 @@ msgstr "Музыка"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK4"
msgid "DVD"
-msgstr ""
+msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr ""
+msgstr "Аўдыя CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
-msgstr "Адлегласці пераходу (кароткая, сярэдняя, доўгая) у мс"
+msgstr "Адлегласці пераходу ў мс (кароткая, сярэдняя, доўгая)"
msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
msgid "Default"
-msgstr "Стандартна"
+msgstr "Па змаўчанні"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
@@ -661,23 +667,23 @@ msgstr "Хуткая перамотка (па ключавых кадрах)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
-msgstr ""
+msgstr "Паказваць пазначнікі сцэн на паласе прагорткі"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr ""
+msgstr "Адпраўляць у статус Skype звесткі пра што «Зараз прайграецца» "
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "Не згортваць акно на дадатковым дысплеі ў поўнаэкранным рэжыме"
+msgstr "Не згортваць прайгравальнік на дадатковым экране ў поўнаэкранным рэжыме"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Пашыраныя функцыі панэлі заданняў"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Адкрыць наступны/папярэднi файл у папцы пры нацiску папярэднi/наступны, калi у плэйлiсце адзiн файл"
+msgstr "Калі ў спісе прайгравання адзін файл, пры націсканні кнопак «Наперад/Назад» адкрываць наступны/папярэдні файл у папцы "
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
@@ -685,15 +691,15 @@ msgstr "Паказваць час:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
-msgstr "OSD Шрыфт"
+msgstr "Шрыфт OSD:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Укл падтрымку Logitech LCD (эксперыментальна)"
+msgstr "Уключыць падтрымку Logitech LCD (эксперыментальная)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr ""
+msgstr "Падчас прайгравання хаваць курсор мышы"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -729,7 +735,7 @@ msgstr "Новы тып..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Новы субтып..."
+msgstr "Новы падтып..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -789,7 +795,7 @@ msgstr "Дадаць у абранае"
msgctxt "IDD_FAVADD_IDC_STATIC"
msgid "Choose a name for your shortcut:"
-msgstr "Абярыце імя для цэтліка:"
+msgstr "Выберыце імя для ярлыка:"
msgctxt "IDD_FAVADD_IDC_CHECK1"
msgid "Remember position"
@@ -797,15 +803,15 @@ msgstr "Запомніць пазіцыю"
msgctxt "IDD_FAVADD_IDCANCEL"
msgid "Cancel"
-msgstr "Адмена"
+msgstr "Скасаваць"
msgctxt "IDD_FAVADD_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_FAVADD_IDC_CHECK2"
msgid "Relative drive"
-msgstr "Адносны дыск"
+msgstr "Адносна дыска"
msgctxt "IDD_FAVORGANIZE_CAPTION"
msgid "Organize Favorites"
@@ -813,7 +819,7 @@ msgstr "Абранае"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
-msgstr "Змяніць імя"
+msgstr "Перайменаваць"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
@@ -829,11 +835,11 @@ msgstr "Выдаліць"
msgctxt "IDD_FAVORGANIZE_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Перадусталёўкі памераў і станаў"
+msgstr "Перадусталёўкі памеру і становішча"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -857,7 +863,7 @@ msgstr "&Усталяваць"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
-msgstr "&Адмена"
+msgstr "&Скасаваць"
msgctxt "IDD_PNSPRESET_DLG_IDOK"
msgid "&Save"
@@ -877,11 +883,11 @@ msgstr "Глабальныя мультымедыйныя клавішы"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
-msgstr "Абраць усё"
+msgstr "Выбраць усё"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
-msgstr "Скінуць абраныя"
+msgstr "Скінуць выбраныя"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
@@ -905,7 +911,7 @@ msgstr "Захаванне..."
msgctxt "IDD_SAVE_DLG_IDCANCEL"
msgid "Cancel"
-msgstr "Адмена"
+msgstr "Скасаваць"
msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
@@ -917,7 +923,7 @@ msgstr "Кадаванне:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "Delay:"
-msgstr ""
+msgstr "Затрымка:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "ms"
@@ -925,11 +931,11 @@ msgstr "мс"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
msgid "Save custom style"
-msgstr ""
+msgstr "Захаваць адвольны стыль"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr ""
+msgstr "Якасць JPEG:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Thumbnails:"
@@ -953,7 +959,7 @@ msgstr "пікселяў"
msgctxt "IDD_ADDREGFILTER_CAPTION"
msgid "Select Filter"
-msgstr "Абярыце фільтр"
+msgstr "Выберыце фільтр"
msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
msgid "Browse..."
@@ -961,11 +967,11 @@ msgstr "Файл..."
msgctxt "IDD_ADDREGFILTER_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_ADDREGFILTER_IDCANCEL"
msgid "Cancel"
-msgstr "Адмена"
+msgstr "Скасаваць"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Font"
@@ -1001,11 +1007,11 @@ msgstr "Контур"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
msgid "Opaque box"
-msgstr "Заліванне"
+msgstr "Запаўненне фону"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Width"
-msgstr "Шырыня мяжы"
+msgstr "Шырыня"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Shadow"
@@ -1013,7 +1019,7 @@ msgstr "Цень"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Screen Alignment && Margins"
-msgstr "Выраўніванне і водступы"
+msgstr "Выраўноўванне і водступы"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
@@ -1033,7 +1039,7 @@ msgstr "Знізу"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "Пазіцыянаваць адносна кадра"
+msgstr "Размяшчаць адносна відэакадра"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1041,11 +1047,11 @@ msgstr "Колеры і празрыстасць"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "0%"
-msgstr ""
+msgstr "0%"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "100%"
-msgstr ""
+msgstr "100%"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Primary"
@@ -1073,23 +1079,23 @@ msgstr "Фільтры крыніц"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Дэкодэры"
+msgstr "Фільтры пераўтварэння"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr ""
+msgstr "Налады LAV Filters"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
-msgstr ""
+msgstr "Сплітар"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr ""
+msgstr "Дэкодар відэа"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr ""
+msgstr "Дэкодар аўдыя"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1101,7 +1107,7 @@ msgstr "Знешні:"
msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
msgid "Browse..."
-msgstr "Абраць..."
+msgstr "Агляд..."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
@@ -1117,11 +1123,11 @@ msgstr "QuickTime відэа"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "DirectShow аўдыё"
+msgstr "DirectShow аўдыя"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr ""
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Налады VMR-9 (renderless) and EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1141,11 +1147,11 @@ msgstr "Рэініцыалізацыя пры змене манітора"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
-msgstr "Поўнаэкранны Direct3D (ухіляе дрыгаценне)"
+msgstr "Поўнаэкранны Direct3D"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "Альтэрнатыўны VSync"
+msgstr "Альтэрнатыўная вертыкальная сінхранізацыя"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
@@ -1153,7 +1159,7 @@ msgstr "Рэжым VMR-9 Mixer"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "Змешванне ў YUV"
+msgstr "YUV Mixing"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
@@ -1161,27 +1167,31 @@ msgstr "Буферы EVR:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DXVA"
-msgstr ""
+msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Субцітры"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
-msgstr ""
+msgstr "Здымак экрана"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr ""
+msgstr "Шэйдары"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
-msgstr ""
+msgstr "Паварот"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Апрацоўшчык субцітраў"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Кэшаваць скампіляваныя шэйдары"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1189,23 +1199,23 @@ msgstr "Слухаць порт:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Запусціць у web-браўзэры..."
+msgstr "Запусціць у вэб-браўзеры..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
-msgstr "Выкарыстаць сціск"
+msgstr "Уключыць сцісканне"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
-msgstr "Дазволіць доступ толькі з лакальнага кампутара"
+msgstr "Дазволіць доступ толькі з лакальнага камп'ютара"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "Уключыць папярэдні прагляд"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
-msgstr "Выводзіць адладкавую інфармацыю"
+msgstr "Выводзіць адладачныя звесткі"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
msgid "Serve pages from:"
@@ -1213,7 +1223,7 @@ msgstr "Браць старонкі з:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Абраць..."
+msgstr "Агляд..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
msgid "Deploy..."
@@ -1228,16 +1238,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Інтэрпрэтатары CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Спіс даступных субтытраў"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Загрузіць і адкрыць"
+msgid "Download subtitles"
+msgstr "Спампаваць субцітры"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Замяняць ужо адкрытыя субтытры"
+msgstr "Замяняць ужо адкрытыя субцітры"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Спампаваць"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Абнавіць"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Перарваць"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Налады"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Запампаваць субцітры"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Запампаваць"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Перарваць"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Налады"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1265,19 +1303,19 @@ msgstr "Насычанасць"
msgctxt "IDD_PPAGEMISC_IDC_RESET"
msgid "Reset"
-msgstr "Скід"
+msgstr "Скінуць"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr "Праверыць абнаўленне"
+msgstr "Праверка абнаўленняў"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "Укл. аўтаматычную праверку абнаўленняў"
+msgstr "Уключыць аўтаматычную праверку абнаўленняў"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
-msgstr ""
+msgstr "Правяраць праз кожныя:"
msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
msgid "day(s)"
@@ -1289,7 +1327,7 @@ msgstr "Кіраванне наладамі"
msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
msgid "Reset"
-msgstr "Скід"
+msgstr "Скінуць"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
msgid "Export"
@@ -1297,11 +1335,11 @@ msgstr "Экспарт"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr ""
+msgstr "Экспарт клавіш"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
-msgstr "Пошук т'юнера"
+msgstr "Пошук цюнера"
msgctxt "IDD_TUNER_SCAN_ID_START"
msgid "Start"
@@ -1309,19 +1347,19 @@ msgstr "Запуск"
msgctxt "IDD_TUNER_SCAN_IDCANCEL"
msgid "Cancel"
-msgstr "Выхад"
+msgstr "Скасаваць"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. Start"
-msgstr "Част. Пачатку"
+msgstr "Пачатковая частата"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Bandwidth"
-msgstr "Шыр. пропуску"
+msgstr "Паласа прапускання"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. End"
-msgstr "Част. Канчатку"
+msgstr "Канцавая частата"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
msgid "Ignore encrypted channels"
@@ -1333,19 +1371,19 @@ msgstr "Захаваць"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "S"
-msgstr ""
+msgstr "С"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Q"
-msgstr ""
+msgstr "Я"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
msgid "Use an offset"
-msgstr "Выкарыстоўваць змяшчэнне"
+msgstr "Выкарыстоўваць зрух"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
-msgstr "Стандартная прылада"
+msgstr "Прылада па змаўчанні"
msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
msgid "Analog"
@@ -1365,7 +1403,7 @@ msgstr "Відэа"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC2"
msgid "Audio"
-msgstr "Аўдыё"
+msgstr "Аўдыя"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC3"
msgid "Country"
@@ -1377,31 +1415,31 @@ msgstr "Лічбавыя налады (BDA)"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
msgid "Network Provider"
-msgstr "Сеткавы правайдэр"
+msgstr "Сеткавы правайдар"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
msgid "Tuner"
-msgstr "Т'юнер"
+msgstr "Цюнер"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC6"
msgid "Receiver"
-msgstr "Рэсівер"
+msgstr "Прыёмнік"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
msgid "Channel switching approach:"
-msgstr ""
+msgstr "Змяненне канала:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
-msgstr ""
+msgstr "Перарабіць граф"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr ""
+msgstr "Спыніць граф"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
-msgstr "Сінхр. відэа да дысплэя"
+msgstr "Сінхранізаваць відэа з дысплэем"
msgctxt "IDD_PPAGESYNC_IDC_STATIC1"
msgid "Frequency adjustment:"
@@ -1409,7 +1447,7 @@ msgstr "Карэкцыя частаты:"
msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
msgid "Sync display to video"
-msgstr "Сінхр. дысплэй да відэа"
+msgstr "Сінхранізаваць дысплэй з відэа"
msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
msgid "Frequency adjustment:"
@@ -1425,7 +1463,7 @@ msgstr "слупкі"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "Перадаць на бліжэйшы vsync"
+msgstr "Паказ пры найбліжэйшай вертыкальнай сінхранізацыі"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
@@ -1441,7 +1479,7 @@ msgstr "Ліміты кіравання:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
msgid "+/-"
-msgstr ""
+msgstr "+/-"
msgctxt "IDD_PPAGESYNC_IDC_STATIC9"
msgid "ms"
@@ -1449,15 +1487,15 @@ msgstr "мс"
msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
msgid "Changes take effect after the playback has been closed and restarted."
-msgstr "Змены ўступяць у моц пасля перазагрузкі відэа."
+msgstr "Змены ажыццявяцца толькі пасля перазапуску прайгравання."
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
-msgstr "Запуск файлаў на поўны экран"
+msgstr "Запуск файлаў у поўнаэкранным рэжыме"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
-msgstr ""
+msgstr "Схаваць элементы кіравання ў поўнаэкранным рэжыме."
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
msgid "ms"
@@ -1465,19 +1503,19 @@ msgstr "мс"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK6"
msgid "Hide docked panels"
-msgstr ""
+msgstr "Схаваць замацаваныя панэлі"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
msgid "Exit fullscreen at the end of playback"
-msgstr "Выхад з поўнаэкр. рэжыму па канч. прайгравання"
+msgstr "Выйсці з поўнаэкраннага рэжыму па сканчэнні прайгравання"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
-msgstr "Манітор для поўнаэкраннага вываду"
+msgstr "Манітор для поўнаэкраннага рэжыму"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "Ужываць аўтазменты поўнаэкр. рэжыму"
+msgstr "Выкарыстаўваць аўтазмену рэжыму манітора ў поўнаэкранным рэжыме"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1485,7 +1523,7 @@ msgstr "Дадаць"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
-msgstr "Выдал"
+msgstr "Выдаліць"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
msgid "Up"
@@ -1497,19 +1535,19 @@ msgstr "Уніз"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
-msgstr "Устал. стандарт. налады пры выхадзе з поўнаэкр. рэжыму"
+msgstr "Ужыць рэжым манітора па змаўчанні пасля выхаду з поўнаэкраннага рэжыму"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
msgid "Restore resolution on program exit"
-msgstr "Узнаўляць вырашальнасць пасля выхаду з праграмы"
+msgstr "Аднаўляць разрознасць пасля выхаду з праграмы"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Delay"
-msgstr ""
+msgstr "Затрымка"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
msgid "s"
-msgstr ""
+msgstr "с"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
msgid "Info"
@@ -1521,35 +1559,47 @@ msgstr "Сканір."
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr ""
+msgstr "Аддаваць перавагу фарсіраваным і/або субцітрам па змаўчанні"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Заўсёды выкарыстоўваць знешнія субтытры як асноўныя"
+msgstr "Выкарыстоўваць знешнія субцітры замест убудаваных"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Не загружаць убудаваныя субтытры"
+msgstr "Не загружаць убудаваныя субцітры"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
-msgstr "Шлях да знешніх субтытраў"
+msgstr "Шлях да знешніх субцітраў"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
-msgstr "Скід"
+msgstr "Скінуць"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online База"
+msgid "Online search, download and upload subtitles"
+msgstr "Пошук у інтэрнэце, спампоўка і запампоўка субцітраў"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Калі субцітраў няма, знайсці і спампаваць іх аўтаматычна"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Пажаданы субцітры для людзей з парушэннем слыху (калі ёсць)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ігнараваць файлы з наступнымі словамі:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL анлайнавай базы субтытраў:"
+msgid "Languages in order of preference:"
+msgstr "Пажаданыя мовы"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Тэст"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Па сканчэнні відэа, аўтаматычна запампаваць актыўныя субцітры"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1565,15 +1615,15 @@ msgstr "Напомніць пазней"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
-msgstr "Ігнараваць гэтае абнаўленне"
+msgstr "Ігна&раваць гэтае абнаўленне"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr ""
+msgstr "Шэйдары змяшчаюць адмысловыя эфекты, якія дадаюцца ў працэс апрацоўкі відэа."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr ""
+msgstr "Дадаць файл шэйдара"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1581,19 +1631,19 @@ msgstr "Выдаліць"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
msgid "Add to pre-resize"
-msgstr ""
+msgstr "Дадаць у pre-resize"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
msgid "Add to post-resize"
-msgstr ""
+msgstr "Дадаць у post-resize"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr ""
+msgstr "Налады шэйдараў"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
-msgstr ""
+msgstr "Загрузіць"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
msgid "Save"
@@ -1605,47 +1655,47 @@ msgstr "Выдаліць"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr ""
+msgstr "Актыўныя pre-resize шэйдары"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr ""
+msgstr "Актыўныя post-resize шэйдары"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr ""
+msgstr "Адладка шэйдараў"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
-msgstr ""
+msgstr "Адладачныя звесткі"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
msgid "PS 2.0"
-msgstr ""
+msgstr "PS 2.0"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO2"
msgid "PS 2.0b"
-msgstr ""
+msgstr "PS 2.0b"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO3"
msgid "PS 2.0a"
-msgstr ""
+msgstr "PS 2.0a"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO4"
msgid "PS 3.0"
-msgstr ""
+msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr ""
+msgstr "Пашыраныя налады. Не змяняйце іх, калі не ведаеце, што робіце."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
-msgstr ""
+msgstr "True"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
-msgstr ""
+msgstr "False"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
@@ -1653,93 +1703,93 @@ msgstr "Стандартна"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "Прылада"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "Выключны доступ"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "Дазволіць бітстрымінг"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Налады"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "Уключыць бінаўральныя эфекты стэрэа (для навушнікаў)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Адсячэнне:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Узровень:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "Нататка"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "Каб панізіць скажэнні аўдыя, падчас прайгравання гучнага змесціва сціснутага са стратамі, рэкамендуецца трымаць гучнасць каля 85%."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr ""
+msgstr "Якасць JPEG:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
-msgstr ""
+msgstr "Дапамога па каманднаму радку"
msgctxt "IDD_CMD_LINE_HELP_IDOK"
msgid "OK"
-msgstr ""
+msgstr "Добра"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr ""
+msgstr "Справаздачы пра збоі"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "На жаль, адбыўся збой MPC-HC. :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "Адпраўце справаздачу пра збой, каб мы вызначылі і выправілі праблему."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "Дадатковыя звесткі"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr ""
+msgstr "Эл. пошта:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr ""
+msgstr "Пакідаць сваю эл. пошту неабавязкова, але яна можа спатрэбіцца распрацоўнікам, каб удакладніць звесткі."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr ""
+msgstr "Апісанне праблемы (на англійскай мове):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Перазапусціць MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Выйсці з MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
index d43981dcf..46b7d993a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
@@ -1,19 +1,20 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Yauhen Bugamol <haxycgm@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:01+0000\n"
-"Last-Translator: JellyFrog\n"
-"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-11-06 02:38+0000\n"
+"Last-Translator: Yauhen Bugamol <haxycgm@gmail.com>\n"
+"Language-Team: Belarusian (http://www.transifex.com/mpc-hc/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
msgctxt "POPUP"
msgid "&File"
@@ -29,15 +30,15 @@ msgstr "&Адкрыць файл..."
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "Адкрыць DVD/BD..."
+msgstr "А&дкрыць DVD/BD..."
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
-msgstr "Адкрыць &прыладу..."
+msgstr "Адкры&ць прыладу..."
msgctxt "ID_FILE_OPENDIRECTORY"
msgid "Open Dir&ectory..."
-msgstr "Адкрыць папку..."
+msgstr "Адкрыць &папку..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
@@ -45,7 +46,7 @@ msgstr "Адкрыць &дыск"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
-msgstr "Апошнія адкрыт. файлы"
+msgstr "Нядаўнія &файлы"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
@@ -53,39 +54,35 @@ msgstr "&Закрыць"
msgctxt "ID_FILE_SAVE_COPY"
msgid "&Save a Copy..."
-msgstr "&Захаваць як..."
+msgstr "Заха&ваць як..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
-msgstr "Захаваць &малюнак..."
+msgstr "Захаваць &кадр..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Захаваць &мініяцюры..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Адкрыць су&бтытры..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "За&хаваць субтытры..."
+msgstr "Захаваць &мініяцюры кадраў..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "База субтытраў"
+msgid "S&ubtitles"
+msgstr "Субцітры"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Знайсці..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Адкры&ць субцітры..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Аплоад..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "З&ахаваць субцітры..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Загрузіць..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Спампаваць субцітры..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "За&пампаваць субцітры..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -93,7 +90,7 @@ msgstr "У&ласцівасці"
msgctxt "ID_FILE_EXIT"
msgid "E&xit"
-msgstr "В&ыхад"
+msgstr "В&ыйсці"
msgctxt "POPUP"
msgid "&View"
@@ -109,11 +106,11 @@ msgstr "&Паласа прагорткі"
msgctxt "ID_VIEW_CONTROLS"
msgid "&Controls"
-msgstr "&Кіраванне"
+msgstr "Панэль наві&гацыі"
msgctxt "ID_VIEW_INFORMATION"
msgid "&Information"
-msgstr "&Інфармацыя"
+msgstr "Зв&есткі"
msgctxt "ID_VIEW_STATISTICS"
msgid "&Statistics"
@@ -121,11 +118,11 @@ msgstr "&Статыстыка"
msgctxt "ID_VIEW_STATUS"
msgid "St&atus"
-msgstr "С&татусны радок"
+msgstr "Радок с&тану "
msgctxt "ID_VIEW_SUBRESYNC"
msgid "Su&bresync"
-msgstr "Сінхранізацыя су&бтытраў"
+msgstr "Сінхранізацыя су&бцітраў"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
@@ -137,11 +134,11 @@ msgstr "&Захоп"
msgctxt "ID_VIEW_NAVIGATION"
msgid "Na&vigation"
-msgstr "Навігацыя"
+msgstr "&Навігацыя"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr ""
+msgstr "&Адладка шэйдараў"
msgctxt "POPUP"
msgid "&Presets..."
@@ -157,27 +154,27 @@ msgstr "&Кампактная"
msgctxt "ID_VIEW_PRESETS_NORMAL"
msgid "&Normal"
-msgstr "&Нармалёвая"
+msgstr "&Нармальная"
msgctxt "ID_VIEW_FULLSCREEN"
msgid "F&ull Screen"
-msgstr "Ва ўвесь &экран"
+msgstr "На ўвесь &экран"
msgctxt "POPUP"
msgid "&Zoom"
-msgstr "Zoom"
+msgstr "Ма&штаб"
msgctxt "ID_VIEW_ZOOM_50"
msgid "&50%"
-msgstr ""
+msgstr "&50%"
msgctxt "ID_VIEW_ZOOM_100"
msgid "&100%"
-msgstr ""
+msgstr "&100%"
msgctxt "ID_VIEW_ZOOM_200"
msgid "&200%"
-msgstr ""
+msgstr "&200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
@@ -197,15 +194,15 @@ msgstr "&Тэст дрыгацення"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr ""
+msgstr "&Паказваць статыстыку"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr ""
+msgstr "Паказваць &цяперашні час"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr ""
+msgstr "Паказваць імя &файла"
msgctxt "POPUP"
msgid "&Output Range"
@@ -213,11 +210,11 @@ msgstr "Дыяпазон вываду"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
@@ -233,7 +230,7 @@ msgstr "Поўнаэкранны D3D з падтрымкай GUI"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "10-бітны RGB на выхадзе"
+msgstr "10-бітны RGB-вывад"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
@@ -241,11 +238,11 @@ msgstr "Фарсіраваць 10-бітны RGB на ўваходзе"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Поўная апрацоўка з плывучай кропкай"
+msgstr "Поўная апрацоўка лікаў з нефіксаванай коскай"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Палавінная апрацоўка з плывучай кропкай"
+msgstr "Палавінная апрацоўка лікаў з нефіксаванай коскай"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
@@ -253,7 +250,7 @@ msgstr "Адкл. эфекты прац. стала"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Укл. карэкцыю часу кадра"
+msgstr "Уключыць &карэкцыю часу кадра"
msgctxt "POPUP"
msgid "&Color Management"
@@ -269,39 +266,39 @@ msgstr "Уваходны тып"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
-msgstr "Аўта-вызначэнне"
+msgstr "Аўтавызначэнне"
msgctxt "ID_VIEW_CM_INPUT_HDTV"
msgid "&HDTV"
-msgstr "HDTV"
+msgstr "&HDTV"
msgctxt "ID_VIEW_CM_INPUT_SDTV_NTSC"
msgid "SDTV &NTSC"
-msgstr "SDTV NTSC"
+msgstr "SDTV &NTSC"
msgctxt "ID_VIEW_CM_INPUT_SDTV_PAL"
msgid "SDTV &PAL"
-msgstr "SDTV PAL"
+msgstr "SDTV &PAL"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "Знешняе Святло"
+msgstr "Знешняе &асвятленне"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
-msgstr "Светлы (2.2 Gamma)"
+msgstr "Светлае (Гама 2.2)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "Цьмяны (2.35 Gamma)"
+msgstr "Прыцемненае (Гама 2.35)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
-msgstr "Цёмны (2.4 Gamma)"
+msgstr "Цёмнае (Гама 2.4)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "Прызначэнне рэндэрэнгу"
+msgstr "&Мэта апрацоўкі"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
@@ -309,39 +306,39 @@ msgstr "Па ўспрыманню"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "Адносная каламетрыя"
+msgstr "Адносны каларыметрычны"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
-msgstr "Насычэнне"
+msgstr "Насычанасць"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "Абсалютная каламетрыя"
+msgstr "Абсалютная каларыметрыя"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "VSync"
+msgstr "&Вертыкальная сінхранізацыя"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "VSync"
+msgstr "VSyn&с"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "Акуратны VSync"
+msgstr "&Дакладная VSync"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "Альтернатыўны VSync"
+msgstr "&Альтернатыўная VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Паменшыць зрух vsync"
+msgstr "&Паменшыць зрух VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "Павялічыць зрух vsync"
+msgstr "Па&вялічыць зрух VSync"
msgctxt "POPUP"
msgid "&GPU Control"
@@ -349,19 +346,19 @@ msgstr "GPU Кантроль"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Запоўніць GPU перад VSync"
+msgstr "Ачышчаць буфер GPU перад верт. сінх."
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Запоўніць GPU пасля паказу"
+msgstr "Ачышчаць буфер GPU пасля паказу"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
-msgstr "Чакаць запаўнення"
+msgstr "Чакаць ачышчэння буфера"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Скід"
+msgstr "Скінуць"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
@@ -381,7 +378,7 @@ msgstr "&Палавінны памер"
msgctxt "ID_VIEW_VF_NORMAL"
msgid "&Normal Size"
-msgstr "&Нармалёвы памер"
+msgstr "&Нармальны памер"
msgctxt "ID_VIEW_VF_DOUBLE"
msgid "&Double Size"
@@ -393,59 +390,59 @@ msgstr "&Расцягнуць да памераў акна"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "&Упісаць унутр акна"
+msgstr "&Упісаць у акно"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
-msgstr ""
+msgstr "Маштаб &1"
msgctxt "ID_VIEW_VF_ZOOM2"
msgid "Zoom &2"
-msgstr ""
+msgstr "Маштаб &2"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "&Апісаць звонку акна"
-
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Захоўваць прапорцыі"
+msgstr "&Запоўніць акно і абрэзаць відэакадр"
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Усталяваць прапорцыі"
+msgid "&Aspect Ratio"
+msgstr "&Прапорцыі"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Па змаўчанні"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Па &змаўчанні (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
-msgstr "4:3"
+msgstr "&4:3"
msgctxt "ID_ASPECTRATIO_5_4"
msgid "&5:4"
-msgstr "5:4"
+msgstr "&5:4"
msgctxt "ID_ASPECTRATIO_16_9"
msgid "&16:9"
-msgstr "16:9"
+msgstr "&16:9"
msgctxt "ID_ASPECTRATIO_235_100"
msgid "&235:100"
-msgstr "235:100"
+msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Дапускаць квадратныя пікселі (SAR)"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "&Улічваць розніцу аспекту манітора/прац.стала"
+msgstr "&Выпраўляць розніцу прапорцый экрана і працоўнага стала"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Стан і памер кадра"
+msgstr "Становішча і памер кадра"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -473,11 +470,11 @@ msgstr "Паменшыць вышыню"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
-msgstr "Зрушыць направа"
+msgstr "Зрушыць управа"
msgctxt "ID_PANSCAN_MOVELEFT"
msgid "Move &Left"
-msgstr "Зрушыць налева"
+msgstr "Зрушыць улева"
msgctxt "ID_PANSCAN_MOVEUP"
msgid "Move &Up"
@@ -497,7 +494,7 @@ msgstr "Скінуць"
msgctxt "POPUP"
msgid "On &Top"
-msgstr "П&аверх усіх вокнаў"
+msgstr "Па-над &усімі вокнамі"
msgctxt "ID_ONTOP_DEFAULT"
msgid "&Default"
@@ -513,7 +510,7 @@ msgstr "Пры прайграванні"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
-msgstr "Падчас прайгравання"
+msgstr "Падчас прайгравання відэа"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
@@ -525,27 +522,43 @@ msgstr "&Прайграванне"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Прайгр./Паўза"
+msgstr "&Прайграванне/Паўза"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
msgstr "&Стоп"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Па &кадрах"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Паў&тараць..."
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Заўсёды"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Файл"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Спіс прайгравання"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
-msgstr "Паменьшыць хуткасць"
+msgstr "Па&меншыць хуткасць"
msgctxt "ID_PLAY_INCRATE"
msgid "&Increase Rate"
-msgstr "Павялічыць хуткасць"
+msgstr "Па&вялічыць хуткасць"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "С&кінуць хуткасць"
+msgstr "Вярн&уць зыходную хуткасць"
msgctxt "ID_FILTERS"
msgid "&Filters"
@@ -557,15 +570,15 @@ msgstr "&Шэйдары"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
-msgstr ""
+msgstr "Гукавая &дарожка"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr ""
+msgstr "Су&бцітры"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&Відэа&рад"
msgctxt "POPUP"
msgid "&Volume"
@@ -573,11 +586,11 @@ msgstr "&Гучнасць"
msgctxt "ID_VOLUME_UP"
msgid "&Up"
-msgstr "&Вышэй"
+msgstr "Па&вялічыць"
msgctxt "ID_VOLUME_DOWN"
msgid "&Down"
-msgstr "&Ніжэй"
+msgstr "Па&меншыць"
msgctxt "ID_VOLUME_MUTE"
msgid "&Mute"
@@ -585,43 +598,43 @@ msgstr "&Адключыць"
msgctxt "POPUP"
msgid "Af&ter Playback"
-msgstr "Па канчатку прайгравання"
+msgstr "Па скан&чэнні прайгравання"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
-msgstr ""
+msgstr "Нічога &не рабіць"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
-msgstr ""
+msgstr "Прайграць наст&упны файл ў папцы"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr ""
+msgstr "Выключыць &манітор"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
-msgstr "Закрыць праграму"
+msgstr "Закры&ць праграму"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
-msgstr "Перайсці ў рэжым чакання"
+msgstr "Перайсці ў рэжым &чакання"
msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
msgid "&Hibernate"
-msgstr "Перайсці ў рэжым сну"
+msgstr "Перайсці ў рэжым &сну"
msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
msgid "Shut&down"
-msgstr "Выключыць кампутар"
+msgstr "В&ыключыць камп'ютар"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
-msgstr "Завяршыць сеанс"
+msgstr "Зав&яршыць сеанс"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "Блакаваць"
+msgstr "Заб&лакаваць камп'ютар"
msgctxt "POPUP"
msgid "&Navigate"
@@ -629,7 +642,7 @@ msgstr "&Навігацыя"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "&Previous"
-msgstr "Папярэдні"
+msgstr "Папя&рэдні"
msgctxt "ID_NAVIGATE_SKIPFORWARD"
msgid "&Next"
@@ -637,7 +650,7 @@ msgstr "&Наступны"
msgctxt "ID_NAVIGATE_GOTO"
msgid "&Go To..."
-msgstr "&Пераход..."
+msgstr "&Перайсці..."
msgctxt "ID_NAVIGATE_TITLEMENU"
msgid "&Title Menu"
@@ -649,11 +662,11 @@ msgstr "&Каранёвае меню"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
-msgstr "Меню суб&тытраў"
+msgstr "Меню суб&цітраў"
msgctxt "ID_NAVIGATE_AUDIOMENU"
msgid "&Audio Menu"
-msgstr "Меню аў&дыё"
+msgstr "Меню аў&дыя"
msgctxt "ID_NAVIGATE_ANGLEMENU"
msgid "An&gle Menu"
@@ -673,23 +686,23 @@ msgstr "&Дапамога"
msgctxt "ID_HELP_HOMEPAGE"
msgid "&Home Page"
-msgstr "Хатняя старонка"
+msgstr "&Хатняя старонка"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr ""
+msgstr "Праверыць наяўнасць абнаўлен&няў"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "Параметры каманднага радка"
+msgstr "&Параметры каманднага радка"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "Загрузіць малюнкі панелі навігацыі"
+msgstr "&Спампаваць выявы для панэлі навігацыі"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
-msgstr "Ахвяраваць"
+msgstr "&Ахвяраваць"
msgctxt "ID_HELP_ABOUT"
msgid "&About..."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
index 28a9d2417..57e995e11 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
@@ -1,20 +1,24 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Elijah Shymanski <bealphi@gmail.com>, 2016
+# Haxyc, 2016
# Underground78, 2014
+# Underground78, 2014
+# Yauhen Bugamol <haxycgm@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
-"Last-Translator: JellyFrog\n"
-"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-06 02:47+0000\n"
+"Last-Translator: Yauhen Bugamol <haxycgm@gmail.com>\n"
+"Language-Team: Belarusian (http://www.transifex.com/mpc-hc/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
msgctxt "IDS_INFOBAR_LOCATION"
msgid "Location"
@@ -26,15 +30,15 @@ msgstr "Відэа"
msgctxt "IDS_INFOBAR_AUDIO"
msgid "Audio"
-msgstr "Аўдыё"
+msgstr "Аўдыя"
msgctxt "IDS_INFOBAR_SUBTITLES"
msgid "Subtitles"
-msgstr "Субтытры"
+msgstr "Субцітры"
msgctxt "IDS_INFOBAR_CHAPTER"
msgid "Chapter"
-msgstr ""
+msgstr "Сцэна"
msgctxt "IDS_CONTROLS_COMPLETING"
msgid "Completing..."
@@ -60,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Уласцівасці"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Файл"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Стандартны стыль"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Спіс прайгравання"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Файлы"
@@ -74,7 +86,7 @@ msgstr "DVD"
msgctxt "IDS_INFOBAR_CHANNEL"
msgid "Channel"
-msgstr ""
+msgstr "Канал"
msgctxt "IDS_INFOBAR_TIME"
msgid "Time"
@@ -82,31 +94,31 @@ msgstr "Час"
msgctxt "IDS_STATSBAR_SYNC_OFFSET"
msgid "Sync Offset"
-msgstr ""
+msgstr "Зрух VSync"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr ""
+msgstr "сярэд: %d мс, адхіл: %d мс"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
-msgstr ""
+msgstr "Ваганне"
msgctxt "IDS_STATSBAR_BITRATE"
msgid "Bitrate"
-msgstr ""
+msgstr "Бітрэйт"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr ""
+msgstr "(сяр/бягуч)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
-msgstr ""
+msgstr "Сігнал"
msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
msgid "Strength: %d dB, Quality: %ld%%"
-msgstr ""
+msgstr "Сіла: %d дБ, Якасць: %ld%%"
msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
msgid "Styles"
@@ -114,79 +126,99 @@ msgstr "Стылі"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr ""
+msgstr "Калі цэль апрацоўкі вызначыць немагчыма, SSA/ASS субцітры будуць апрацаваны адносна відэакадра, а ўсе астатнія субцітры адносна акна."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Паўтараць спіс прайгравання"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Паўтараць файл"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Паўтараць бясконца: Укл."
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Паўтараць бясконца: Адкл."
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Паўтараць бясконца"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
-msgstr ""
+msgstr "Ніколі (самы хуткі)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
-msgstr ""
+msgstr "Толькі калі змяняецца тып відэа (па змаўчанні)"
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
-msgstr ""
+msgstr "Заўсёды (самы павольны)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr ""
+msgstr "Не падтрымліваецца некаторымі прыладамі. Два дэкодары відэа заўсёды ў графе фільтраў."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr ""
+msgstr "Хуткі, акрамя момантаў пераключэння паміж рознымі патокамі відэа. Толькі адзін дэкодар відэа ў графе фільтраў."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
-msgstr ""
+msgstr "Не рэкамендуецца. Толькі для праверкі."
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
-msgstr ""
+msgstr "Ніколі, калі магчыма (хуткі, але не падтрымліваецца большасцю фільтраў)"
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
-msgstr ""
+msgstr "Толькі калі змяняецца тып відэа (па змаўчанні)"
msgctxt "IDS_PPAGE_CAPTURE_SFG2"
msgid "Always (may be required by some devices)"
-msgstr ""
+msgstr "Заўсёды (можа спатрэбіцца для некаторых прылад)"
msgctxt "IDS_INFOBAR_PARENTAL_RATING"
msgid "Parental rating"
-msgstr ""
+msgstr "Узроставы рэйтынг"
msgctxt "IDS_PARENTAL_RATING"
msgid "%d+"
-msgstr ""
+msgstr "%d+"
msgctxt "IDS_NO_PARENTAL_RATING"
msgid "Not rated"
-msgstr ""
+msgstr "Не ацэнена"
msgctxt "IDS_INFOBAR_CONTENT"
msgid "Content"
-msgstr ""
+msgstr "Змесціва"
msgctxt "IDS_CONTENT_MOVIE_DRAMA"
msgid "Movie/Drama"
-msgstr ""
+msgstr "Кіно/Драма"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
-msgstr ""
+msgstr "Навіны/Падзеі"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
-msgstr ""
+msgstr "ГБ/с"
msgctxt "IDS_FILE_FAV_ADDED"
msgid "File added to favorites"
-msgstr "Файл даданы да абранага"
+msgstr "Файл дададзены ў абранае"
msgctxt "IDS_DVD_FAV_ADDED"
msgid "DVD added to favorites"
-msgstr "DVD даданы да абранага"
+msgstr "DVD дададзены ў абранае"
msgctxt "IDS_CAPTURE_SETTINGS"
msgid "Capture Settings"
@@ -198,7 +230,7 @@ msgstr "Панэль навігацыі"
msgctxt "IDS_SUBRESYNC_CAPTION"
msgid "Subresync"
-msgstr "Сінхранізацыя субтытраў"
+msgstr "Сінхранізацыя субцітраў"
msgctxt "IDS_SUBRESYNC_CLN_TIME"
msgid "Time"
@@ -210,19 +242,19 @@ msgstr "Канец"
msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
msgid "Preview"
-msgstr "Прагляд"
+msgstr "Папярэдні прагляд"
msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
msgid "Vob ID"
-msgstr ""
+msgstr "Vob ID"
msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
msgid "Cell ID"
-msgstr ""
+msgstr "Cell ID"
msgctxt "IDS_SUBRESYNC_CLN_FORCED"
msgid "Forced"
-msgstr ""
+msgstr "Фарсіраваныя"
msgctxt "IDS_SUBRESYNC_CLN_TEXT"
msgid "Text"
@@ -246,7 +278,7 @@ msgstr "Не атрымалася запытаць неабходныя інтэ
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
-msgstr ""
+msgstr "Прамы эфір"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
@@ -254,11 +286,11 @@ msgstr "Не магу дадаць фільтр захопа відэа"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "Немагчыма дадаць аўдыёфільтр захопу да графа"
+msgstr "Немагчыма дадаць аўдыяфільтр захопу да графа"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
-msgstr "Немагчыма адкрыць прыладу захопу."
+msgstr "Не атрымалася адкрыць прыладу захопу."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
@@ -274,7 +306,7 @@ msgstr "Уведзены час большы за працяг файла."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Бібліятэка абразкоў \"mpciconlib.dll\" не зноўдзена.\nСтандартныя абразкі плэера будуць ужытыя.\nКалі ласка, пераўсталюйце MPC-HC"
+msgstr "Не знойдзена бібліятэка значкоў «mpciconlib.dll»\nДля файлавых асацыяцый выкарыстаны звычайныя значкі.\nКаб аднавіць «mpciconlib.dll», пераўсталюйце MPC-HC."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -290,7 +322,7 @@ msgstr "Фармат"
msgctxt "IDS_SUBDL_DLG_DISC_COL"
msgid "Disc"
-msgstr "Дыскc"
+msgstr "Дыск"
msgctxt "IDS_SUBDL_DLG_TITLES_COL"
msgid "Title(s)"
@@ -298,11 +330,11 @@ msgstr "Назва(ы)"
msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
msgid "CharSet"
-msgstr ""
+msgstr "CharSet"
msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
msgid "Unicode"
-msgstr ""
+msgstr "Юнікод"
msgctxt "IDS_SUBRESYNC_CLN_LAYER"
msgid "Layer"
@@ -310,7 +342,7 @@ msgstr "Слой"
msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
msgid "Actor"
-msgstr "Актор"
+msgstr "Акцёр"
msgctxt "IDS_SUBRESYNC_CLN_EFFECT"
msgid "Effect"
@@ -318,7 +350,7 @@ msgstr "Эфект"
msgctxt "IDS_PLAYLIST_CAPTION"
msgid "Playlist"
-msgstr "Плэйліст"
+msgstr "Спіс прайгравання"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
@@ -334,11 +366,11 @@ msgstr "Да (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
-msgstr "Рэжым (Hz)"
+msgstr "Рэжым (Гц)"
msgctxt "IDS_PPAGE_FS_DEFAULT"
msgid "Default"
-msgstr "Стандартна"
+msgstr "Па змаўчанні"
msgctxt "IDS_PPAGE_FS_OTHER"
msgid "Other"
@@ -346,15 +378,15 @@ msgstr "Іншае"
msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
msgid "System Default"
-msgstr "Стандартны сістэмны"
+msgstr "Сістэмнае па змаўчанні"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr ""
+msgstr "Не атрымалася запытаць неабходныя для прайгравання інтэрфейсы "
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
-msgstr ""
+msgstr "Не атрымалася стварыць акно для вываду графу"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
@@ -398,11 +430,11 @@ msgstr "З&мяшаць"
msgctxt "IDS_PLAYLIST_RESTORE"
msgid "R&estore"
-msgstr "А&днавiць"
+msgstr "А&днавіць"
msgctxt "IDS_SUBRESYNC_SEPARATOR"
msgid "&Separator"
-msgstr "&Падзельнік"
+msgstr "&Раздзяляльнік"
msgctxt "IDS_SUBRESYNC_DELETE"
msgid "&Delete"
@@ -418,15 +450,15 @@ msgstr "&Скінуць"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr "Затрымка субтытраў -"
+msgstr "Затрымка субцітраў —"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
-msgstr "Затрымка субтытраў +"
+msgstr "Затрымка субцітраў +"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
-msgstr "Захаваць мiнiяцюры"
+msgstr "Захаваць мінiяцюры"
msgctxt "IDD_PPAGEPLAYBACK"
msgid "Playback"
@@ -442,7 +474,7 @@ msgstr "Прайграванне::DVD/OGM"
msgctxt "IDD_PPAGESUBTITLES"
msgid "Subtitles"
-msgstr "Субтытры"
+msgstr "Субцітры"
msgctxt "IDD_PPAGEFORMATS"
msgid "Player::Formats"
@@ -454,7 +486,7 @@ msgstr "Дадаткова"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Убудаваныя фільтры::Аудыёпераключальнік"
+msgstr "Убудаваныя фільтры::Пераключальнік аўдыя"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
@@ -462,7 +494,7 @@ msgstr "Знешнія фільтры"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "Прайграванне::Shaders"
+msgstr "Прайграванне::Шэйдары"
msgctxt "IDD_FILEPROPRES"
msgid "Resources"
@@ -474,7 +506,7 @@ msgstr "Рознае"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr ""
+msgstr "MediaInfo"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -482,79 +514,71 @@ msgstr "Прайграванне::Захоп"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Прайграванне::Sync Renderer Settings"
+msgstr "Прайграванне::Sync Renderer"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
-msgstr "Прайграванне::Поўны экран"
+msgstr "Прайграванне::На ўвесь экран"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Убудаваныя фільтры::Апрацоўшчык аўдыя"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
-msgstr "Аудыёпераключальнік"
+msgstr "Пераключальнік аўдыя"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
-msgstr ""
+msgstr "Новая версія бібліятэкі значкоў"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
-msgstr ""
+msgstr "Пераасацыяваць значкі?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr ""
+msgstr "Калі пасля абнаўлення бібліятэкі значкоў, яны паказвацца няправільна, гэта вырашыць праблему.\nДзеянне не закранае асацыяцыі файлаў, абнаўляюцца толькі выявы значкоў."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr ""
+msgstr "Old Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr ""
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr ""
+msgstr "Overlay Mixer Renderer"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr ""
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr ""
+msgstr "Video Mixing Renderer 9 (windowed)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr ""
+msgstr "Video Mixing Renderer 9 (renderless)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr ""
+msgstr "Enhanced Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr ""
+msgstr "Enhanced Video Renderer (custom presenter)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr ""
+msgstr "Haali Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
-msgstr ""
+msgstr "Null (усё)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Null (без сціскання)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
-msgstr ""
+msgstr "madVR"
msgctxt "IDD_PPAGEACCELTBL"
msgid "Player::Keys"
@@ -562,7 +586,7 @@ msgstr "Прайгравальнік::Клавішы"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
-msgstr "Субтытры::Стандартны стыль"
+msgstr "Субцітры::Стыль"
msgctxt "IDD_PPAGEINTERNALFILTERS"
msgid "Internal Filters"
@@ -578,51 +602,39 @@ msgstr "Прайграванне::Вывад"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Прайгравальнік::Web-інтэрфейс"
-
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Субтытры::База"
+msgstr "Прайгравальнік::Вэб-інтэрфейс"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
-msgstr "Падрабязна"
+msgstr "Падрабязныя"
msgctxt "IDD_FILEPROPCLIP"
msgid "Clip"
-msgstr "Кліп"
+msgstr "Сціслыя"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Стандартны відэа рэндэр для DirectShow. Гэты рэжым заўсёды ўключаецца ў тых выпадках, калі іншыя рэндэры не могут загрузіцца. На Windows XP аналагічны VMR-7 (windowed)."
+msgstr "Стандартны апрацоўшчык відэа для DirectShow. Уключаецца, калі іншыя апрацоўшчыкі не змаглі загрузіцца. На Windows XP гэта VMR-7 (windowed)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Стандартны відэа рэндэр для Windows 9x/ME/2K. У залежнасці ад бачнасці відэаакна і магчымасцяў відэакарты рэжым дынамічна перамыкаецца паміж метадамі GDI DirectDraw і Overlay."
+msgstr "Стандартны апрацоўшчык відэа для Windows 9x/ME/2K. У залежнасці ад бачнасці відэаакна і магчымасцяў відэакарты, пераключаецца паміж метадамі GDI, DirectDraw, Overlay."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Рэндэрынг заўсёды вырабляецца ў аверлэі. Звычайна даступныя толькі фарматы YUV але яны прадстаўляюцца напрамую без пераўтварэння ў RGB. Гэта самы хуткі метад з усіх і толькі тут стоадсоткаҐРпрацуе \"Люстраное\" вывад відэа (на TV-OUT)."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Стандартны відэа рэндэр для Windows XP. Вельмі стабільны і толькі трохі павольней метаду Overlay mixer. Выкарыстоўвае DirectDraw і па-магчымасці запускаецца ў аверлэі."
+msgstr "Апрацоўка заўсёды адбываецца ў аверлеі. Звычайна даступны толькі YUV-фарматы, але яны прадстаўляюцца напрамую, без пераўтварэння ў RGB. Гэта самы хуткі метад з усіх і толькі ў ім заўжды працуе поўнаэкранны адлюстраваны вывад відэа (на TV-OUT)."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Даступны толькі пры ўсталяваным DirectX 9. Магчымасці аналагічныя VMR-7 (windowed) але ніколі не выкарыстоўвае аверлэй, а таму можа быць трохі павольней чым VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Тое ж што і VMR-7 (windowed) але з плагінам MPC-HC Allocator-Presenter для вываду субтытраў. \"Люстраное\" адлюстраванне відэа ў аверлэі працаваць НЯ БУДЗЕ. Глыбіню колеру рэкамендуецца ўсталяваць у 'True Color'."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Даступны толькі пры ўсталяваным DirectX 9. Вельмі стабільны, але ніколі не выкарыстоўвае аверлей, таму можа быць трохі павольней чым Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Тое ж што і VMR-9 (windowed) але з плагінам MPC-HC Allocator-Presenter для вываду субтытраў. \"Люстраное\" адлюстраванне відэа ў аверлэі МОЖА працаваць. Глыбіню колеру рэкамендуецца ўсталяваць у 'True Color'."
+msgstr "Тое ж што і VMR-9 (windowed) але з плагінам MPC-HC Allocator-Presenter для вываду субцітраў. Адлюстраванне відэанакладання МОЖА працаваць. Рэкамендавана выкарыстоўваць глыбіню колеру «True Color»"
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr ""
+msgstr "Тое ж што і VMR-9 (renderless), але выкарыстоўвае двухузроўневае бікубічнае змяненне памераў."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
@@ -630,31 +642,27 @@ msgstr "Падлучаецца да любога тыпу відэададзен
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "Тое ж што і нармалёвы Null-рэндэр, але падлучаецца толькі да несціснутых тыпаў дадзеных."
+msgstr "Тое ж што і нармальны Null renderer, але падлучаецца толькі да несціснутых тыпаў дадзеных."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr ""
+msgstr "Даступна толькі на Vista і пазнейшых сістэмах або на XP з усталяваным .NET Framework 3.5."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr ""
+msgstr "Тое ж што EVR, але выкарыстоўвае Allocator-Presenter для субцітраў і постапрацоўкі. Рэкамендуецца для Windows Vista і навейшых."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr ""
+msgstr "Высокаякасны апрацоўшчык, патрабуецца відэакарта з падтрымкай D3D9 ці навей."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr ""
+msgstr "Тое ж, што EVR (СР), але прапануе некалькі варыянтаў сінхранізацыі частаты кадраў відэа з частатой абнаўлення экрана."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Уласны рэндэр RealMedia. Скрыпты SMIL будуць працаваць але без інтэрактыўнасці. Выкарыстоўвае DirectDraw і па-магчымасці запускаецца ў аверлэі."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывад RealMedia апрацоўваецца з дапамогай плагіна Allocator-Presenter у VMR-7 (renderless)."
+msgstr "Уласны рэндэр RealMedia. Скрыпты SMIL будуць працаваць але без інтэрактыўнасці. Выкарыстоўвае DirectDraw і па-магчымасці запускаецца ў аверлеі."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -662,11 +670,7 @@ msgstr "Вывад RealMedia апрацоўваецца з дапамогай п
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "Уласны рэндэр QuickTime. Запавольваецца пры змене памеру відэакадра або калі акно часткова закрыта іншым акном. Калі аверлэй недаступны вяртаецца да метаду GDI."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывад QuickTime апрацоўваецца з дапамогай плагіна Allocator-Presenter у VMR-7 (renderless)."
+msgstr "Уласны рэндэр QuickTime. Запавольваецца пры змене памеру відэакадра або калі акно часткова закрыта іншым акном. Калі аверлей недаступны вяртаецца да метаду GDI."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -678,63 +682,63 @@ msgstr "Паверхня для відэа вылучаецца як звыча
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr ""
+msgstr "Sync Renderer"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
-msgstr ""
+msgstr "Звычайная паверхня па-за экранам."
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
-msgstr ""
+msgstr "2D-паверхні"
msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
msgid "3D surfaces (recommended)"
-msgstr ""
+msgstr "3D-паверхні (рэкамендуецца)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
-msgstr ""
+msgstr "Бліжэйшы сусед"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
msgid "Bilinear"
-msgstr ""
+msgstr "Білінейная"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
msgid "Bilinear (PS 2.0)"
-msgstr ""
+msgstr "Білінейная (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
msgid "Bicubic A=-0.60 (PS 2.0)"
-msgstr ""
+msgstr "Бікубічная A=-0.60 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
msgid "Bicubic A=-0.75 (PS 2.0)"
-msgstr ""
+msgstr "Бікубічная A=-0.75 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
msgid "Bicubic A=-1.00 (PS 2.0)"
-msgstr ""
+msgstr "Бікубічная A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
-msgstr ""
+msgstr "**невядомы**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr ""
+msgstr "Выбраны апрацоўшчык не ўсталяваны."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr ""
+msgstr "Null (усё)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Null (без сціскання)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "Убудаваны апрацоўшчык аўдыя"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -742,51 +746,55 @@ msgstr "Імя"
msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
msgid "MIME Type"
-msgstr ""
+msgstr "MIME-тып"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr ""
+msgstr "Каб праглядзець убудаваны рэсурс у вашым браўзеры, трэба ўключыць вэб-інтэрфейс.\n\nСкарыстайце кнопку «Захаваць як», калі вы хочаце толькі захаваць звесткі."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr ""
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Спампаваць субцітры"
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Запампаваць субцітры..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
-msgstr ""
+msgstr "Затрымка (мс):"
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
-msgstr ""
+msgstr "Аўта"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr ""
+msgstr "Няма наладжаных клавіш для экспарту."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
-msgstr ""
+msgstr "У архіве не знойдзена медыяфайлаў"
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
-msgstr ""
+msgstr "Сціснутыя файлы не падтрымліваюцца"
msgctxt "IDS_RFS_ENCRYPTED"
msgid "Encrypted files are not supported"
-msgstr ""
+msgstr "Шыфраваныя файлы не падтрымліваюцца"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr ""
+msgstr "Не атрымалася знайсці ўсе тамы архіва"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Паверхня для відэа вылучаецца як тэкстура, але для капіявання і расцяжэння відэа ў буфер выкарыстоўваюцца функцыі 2D. Патрабуе наяўнасці відэакарты, якая можа вылучаць 32bit RGBA тэкстуры з памерамі не кратнымі 2, хоць бы ў адрозненні відэа."
+msgstr "Паверхня для відэа вылучаецца як тэкстура, але для капіявання і расцягвання відэа ў буфер выкарыстоўваюцца функцыі 2D. Патрабуе наяўнасці відэакарты, якая можа вылучаць 32bit RGBA тэкстуры з памерамі не кратнымі 2, хоць бы ў разрознасці відэа."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "Паверхня для відэа вылучаецца як тэкстура і малюецца як два трыкутніка ў 3D. Уключэнне антыальясінгу ў наладах відэакарты можа істотна замарудзіць хуткасць рэндэрынгу."
+msgstr "Паверхня відэа вылучаецца як тэкстура і адрысоўваецца ў 3D як два трыкутніка. Уключэнне згладжвання ў наладах відэакарты можа істотна замарудзіць хуткасць апрацоўкі."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
@@ -798,15 +806,27 @@ msgstr "Перакладае рэжым VMR-9 (renderless) у рэжым мік
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr ""
+msgstr "Павялічвае прадукцыйнасць праз адпаведнасць апрацоўшчыка."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr ""
+msgstr "Паменшае разрывы, але не паказваецца панэль навігацыі."
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr ""
+msgstr "Памяншае разрывы праз абыход вертыкальнай сінхранізацыі ўбудаванай у D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Налады цюнера"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Субцітры не загружаны або не падтрымліваемы відэа-рэндэр."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Захоўваць скампіляваныя шэйдары ў папцы AppData каб паскорыць іх загрузку."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -814,43 +834,43 @@ msgstr "Адкрывае файлы VTS_xx_0.ifo для загрузкі наб
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
-msgstr ""
+msgstr "Заснаваны на RARFileSource, не падтрымлівае сціснутыя файлы"
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr ""
+msgstr "Выкарыстоўвае LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr ""
+msgstr "Выкарыстоўвае LAV Filters. Па змаўчанні выключаны, паколькі фільтры Microsoft для гэтых фарматаў, звычайна, больш стабільныя.\nКалі вы выберыце ўбудаваныя фільтры, для лепшага прайгравання, уключыце іх і для крыніцы, і для дэкадавання."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr ""
+msgstr "Укл/Адкл панэль навігацыі"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "Акуратны VSync"
+msgstr "Дакладная вертыкальная сінхранізацыя"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr ""
+msgstr "Калі цэль апрацоўкі нявызначана, яна бярэцца са стылю па змаўчанні."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr ""
+msgstr "Забараніць анімацыю субцітраў. Уключэнне гэтага параметра запавольвае працу CPU, але можа дапамагчы пры мігценні субцітраў."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr ""
+msgstr "Павелічэнне колькасці фрагментаў выяў у буферы павінна палепшыць прадукцыйнасць апрацоўкі ў выніку большага выкарыстання аператыўнай памяці графічнага працэсара."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "Пасля націску гэтае кнопкі абраны стан групы фарматаў будзе адлюстроўваць рэальныя асацыяцыі файлаў для MPC-HC. Дададзеныя пашырэнні звычайна ўсталёўваюць стан у \"шэры\" так што не забывайце выключыць іх зноў перад закрыццём дыялогу!"
+msgstr "Пасля націскання гэтай кнопкі, правераны стан групы фарматаў будзе паказваць рэальныя асацыяцыі файлаў для MPC-HC. Дададзеныя пашырэнні звычайна шэрыя, так што не забывайце праверыць іх зноў перад закрыццём гэтага акна!"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr ""
+msgstr "Адключэнне гэтага параметра прадухіляе мігценне субцітраў, але можа прывесці да пропуску некаторых відэакадраў."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -866,7 +886,7 @@ msgstr "Стоп\nСтоп"
msgctxt "ID_PLAY_FRAMESTEP"
msgid "Step\nStep"
-msgstr "Крок\nКрок"
+msgstr "Шаг\nШаг"
msgctxt "ID_PLAY_DECRATE"
msgid "Decrease speed\nDecrease speed"
@@ -882,7 +902,7 @@ msgstr "Адключыць гук"
msgctxt "ID_VOLUME_MUTE_OFF"
msgid "Unmute"
-msgstr ""
+msgstr "Уключыць гук"
msgctxt "ID_VOLUME_MUTE_DISABLED"
msgid "No audio"
@@ -890,11 +910,11 @@ msgstr "Без гуку"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "Skip back\nSkip back"
-msgstr "Крок назад\nКрок назад"
+msgstr "Назад\nНазад"
msgctxt "ID_NAVIGATE_SKIPFORWARD"
msgid "Skip forward\nSkip forward"
-msgstr "Крок наперад\nКрок наперад"
+msgstr "Наперад\nНаперад"
msgctxt "IDS_SUBRESYNC_ORIGINAL"
msgid "&Original"
@@ -918,7 +938,7 @@ msgstr "&Не"
msgctxt "IDS_SUBRESYNC_DECREASE"
msgid "&Decrease"
-msgstr "Па&меньшыць"
+msgstr "Па&меншыць"
msgctxt "IDS_SUBRESYNC_INCREASE"
msgid "&Increase"
@@ -930,11 +950,11 @@ msgstr "Налады"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "&Абраць Шэйдары..."
+msgstr "&Выбраць шэйдары..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr ""
+msgstr "&Адладка шэйдараў"
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -945,12 +965,12 @@ msgid "&Organize Favorites..."
msgstr "&Спарадкаваць..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Змяшаць"
+msgid "Sh&uffle"
+msgstr "Перамяшаць"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr ""
+msgid "Ope&n file location"
+msgstr "Адкрыць папку з файлам"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -974,7 +994,7 @@ msgstr "Ачысціць спіс"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "Вы ўпэўнены што жадаеце ачысціць спіс нядаўна адкрытых файлаў?"
+msgstr "Сапраўды ачысціць спіс нядаўніх файлаў?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
@@ -986,7 +1006,7 @@ msgstr "Уключыць карэкцыю часу кадра"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Укл/адкл EDL акно"
+msgstr "Укл/Адкл акно EDL"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
@@ -1022,7 +1042,7 @@ msgstr "Тэст дрыгацення"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
-msgstr "Усталяваць прапорцыі 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "Устанавіць прапорцыі 16:9 TV,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_WIDESCREEN"
msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
@@ -1033,8 +1053,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Маштабаваць у Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Схаваць, калі на поўны экран"
+msgid "&Hide on Fullscreen"
+msgstr "Схаваць у поўнаэкранным рэжыме"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1050,7 +1070,7 @@ msgstr "Ідзе захоп..."
msgctxt "IDS_CONTROLS_OPENING"
msgid "Opening..."
-msgstr "Адкрываецца..."
+msgstr "Адкрыццё..."
msgctxt "IDS_CONTROLS_CLOSED"
msgid "Closed"
@@ -1086,7 +1106,7 @@ msgstr "Аўтар"
msgctxt "IDS_INFOBAR_COPYRIGHT"
msgid "Copyright"
-msgstr "Правы"
+msgstr "Аўтарскае права"
msgctxt "IDS_INFOBAR_RATING"
msgid "Rating"
@@ -1110,7 +1130,7 @@ msgstr "Няма"
msgctxt "IDS_AG_COMMAND"
msgid "Command"
-msgstr "Каманда"
+msgstr "Дзеянне"
msgctxt "IDS_AG_KEY"
msgid "Key"
@@ -1118,15 +1138,15 @@ msgstr "Клавіша"
msgctxt "IDS_AG_MOUSE"
msgid "Mouse Windowed"
-msgstr "Курсор мышы у аконным рэжыме"
+msgstr "Мыш (аконны рэжым)"
msgctxt "IDS_AG_MOUSE_FS"
msgid "Mouse Fullscreen"
-msgstr "Курсор мышы у поўнаэкранным рэжыме"
+msgstr "Мыш (поўнаэкранны рэжым)"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
-msgstr "Каманда прыкладання"
+msgstr "Каманда праграмы"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
@@ -1138,7 +1158,7 @@ msgstr "Усе файлы (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "Аўдыёфайлы (усе тыпы)"
+msgstr "Аўдыяфайлы (усе тыпы)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1158,39 +1178,39 @@ msgstr "Адкрыць DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr ""
+msgstr "Не атрымалася ўстанавіць шэйдары post-resize"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr ""
+msgstr "Не атрымалася ўстанавіць шэйдары pre-resize і post-resize"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr ""
+msgstr "Шэйдары перакампілююца аўтаматычна, пасля змены адпаведных файлаў."
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr ""
+msgstr "Немагчыма загрузіць %s, піксельныя шэйдары працаваць не будуць."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr ""
+msgstr "Не атрымліваецца знайсці пункты ўваходу неабходнай функцыі ў %s, піксельныя шэйдары працаваць не будуць. "
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr ""
+msgstr "Налады шэйдараў: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr ""
+msgstr "Наступныя налады шэйдараў"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr ""
+msgstr "Папярэднія налады шэйдараў"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
-msgstr ""
+msgstr "%s:"
msgctxt "IDS_RECORD_START"
msgid "Record"
@@ -1202,67 +1222,67 @@ msgstr "Спыніць"
msgctxt "IDS_BALANCE"
msgid "L = R"
-msgstr ""
+msgstr "Л = П"
msgctxt "IDS_BALANCE_L"
msgid "L +%d%%"
-msgstr ""
+msgstr "Л +%d%%"
msgctxt "IDS_BALANCE_R"
msgid "R +%d%%"
-msgstr ""
+msgstr "П +%d%%"
msgctxt "IDS_VOLUME"
msgid "%d%%"
-msgstr ""
+msgstr "%d%%"
msgctxt "IDS_BOOST"
msgid "+%d%%"
-msgstr ""
+msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr ""
+msgid "Add containing &folder"
+msgstr "Дадаць папку, якая іх змяшчае"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
-msgstr ""
+msgstr "[апаратна]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr ""
+msgstr "Праграмнае дэкадаванне"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
-msgstr ""
+msgstr "Хуткасць прайгравання"
msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
msgid "&Copy filters list to clipboard"
-msgstr ""
+msgstr "&Капіяваць спіс фільтраў у буфер абмену"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
-msgstr ""
+msgstr "Увядзіце дадзеныя сервера"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
-msgstr ""
+msgstr "Увядзіце ўліковыя дадзеныя каб падлучыцца"
msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
msgid "Save custom style"
-msgstr ""
+msgstr "Захаваць адвольны стыль"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
-msgstr ""
+msgstr "Адукацыя/Навука"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr ""
+msgstr "Хаваць элементы кіравання ў аконным рэжыме."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr ""
+msgstr "Забараніць знешнія апрацоўшчыкі субцітраў калі выкарыстоўваецца ўбудаваны."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1270,31 +1290,31 @@ msgstr "Імя"
msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
msgid "Value"
-msgstr ""
+msgstr "Значэнне"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr ""
+msgstr "Максімальная колькасць «Нядаўніх файлаў» і захаваных для іх пазіцый."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr ""
+msgstr "Запамінаць пазіцыю толькі для відэа даўжэйшага за N хвілін."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr ""
+msgstr "Запамінаць пазіцыю і для аўдыя."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
-msgstr ""
+msgstr "Нічога не рабіць"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
-msgstr ""
+msgstr "Прайграць наступны файл ў папцы"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
-msgstr ""
+msgstr "Пераматаць відэа на пачатак"
msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
msgid "Close"
@@ -1302,35 +1322,35 @@ msgstr "Закрыць"
msgctxt "IDS_AFTER_PLAYBACK_EXIT"
msgid "Exit"
-msgstr "Выхад"
+msgstr "Выйсці"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr ""
+msgstr "Адключыць манітор"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
-msgstr ""
+msgstr "Выявы JPEG"
msgctxt "IDS_IMAGE_QUALITY"
msgid "Quality (%):"
-msgstr ""
+msgstr "Якасць (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr ""
+msgstr "Максімальны памер (NxN пкс) вокладкі ў аўдыярэжыме."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "Затрымка субцітраў паменшыцца/павялічыцца на гэтае значэнне пры націсканні адпаведных клавіш (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<не вызначана>"
msgctxt "IDS_NAVIGATION_WATCH"
msgid "Watch"
-msgstr ""
+msgstr "Прагляд"
msgctxt "IDS_NAVIGATION_MOVE_UP"
msgid "Move Up"
@@ -1342,67 +1362,67 @@ msgstr "Ніжэй"
msgctxt "IDS_NAVIGATION_SORT"
msgid "Sort by LCN"
-msgstr ""
+msgstr "сартаваць па LCN"
msgctxt "IDS_NAVIGATION_REMOVE_ALL"
msgid "Remove all"
-msgstr ""
+msgstr "Выдаліць усе"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr ""
+msgstr "Сапраўды выдаліць усе каналы са спісу?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
-msgstr ""
+msgstr "Звесткі недаступны"
msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
msgid "Please wait, analysis in progress..."
-msgstr ""
+msgstr "Пачакайце, ідзе аналіз..."
msgctxt "IDS_ASPECT_RATIO_FMT"
msgid "AR %d:%d"
-msgstr ""
+msgstr "Прапорцыі %d:%d"
msgctxt "IDS_PPAGEADVANCED_LOGGER"
msgid "Enables logging to file (requires restart)"
-msgstr ""
+msgstr "Уключае вядзенне журнала (патрабуецца перазапуск)"
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
-msgstr ""
+msgstr "Засталося часу"
msgctxt "IDS_TIMER_HIGH_PRECISION"
msgid "High precision"
-msgstr ""
+msgstr "Высокая дакладнасць"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr ""
+msgstr "Па сканчэнні прайгравання: пераматаць відэа на пачатак"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr ""
+msgstr "Па сканчэнні прайгравання: закрыць"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr ""
+msgstr "Падчас ініцыялізацыі MPC-HC сутыкнуўся з праблемай. Вы можаце дапамагчы нам вырашыць яе.\n\nПаведаміць пра гэту праблему?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr ""
+msgstr "Увядзіце дадатную велічыню, калі гук спяшацца, або адмоўную - калі запазняецца."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr ""
+msgstr "Папярэдні прагляд адключаны. Вы можаце ўключыць яго ў наладах MPC-HC."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "Гэты параметр выкарыстоўваюць для аддаленага прадпрагляду файлаў. Карыстайцеся ім, толькі ў надзейных прыватных сетках.\n\nСапраўды ўключыць гэты параметр?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Убудаваны апрацоўшчык субцітраў"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1414,23 +1434,23 @@ msgstr "Захаваць як"
msgctxt "IDS_AG_SAVE_IMAGE"
msgid "Save Image"
-msgstr "Захаваць малюнак"
+msgstr "Захаваць кадр"
msgctxt "IDS_MPLAYERC_6"
msgid "Save Image (auto)"
-msgstr "Захаваць малюнак (аўтаматычна)"
+msgstr "Захаваць кадр (аўтаматычна)"
msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
-msgstr "Малюнак захаваны"
+msgstr "Кадр захаваны"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Загрузіць субтытры"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Адкрыць субцітры..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Захаваць субтытры"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Захаваць субцітры..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1438,7 +1458,7 @@ msgstr "Уласцівасці"
msgctxt "IDS_AG_EXIT"
msgid "Exit"
-msgstr "Выхад"
+msgstr "Выйсці"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
@@ -1454,11 +1474,11 @@ msgstr "Стоп"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "Крок наперад"
+msgstr "Наперад на кадр "
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "Крок назад"
+msgstr "Назад на кадр "
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1470,35 +1490,35 @@ msgstr "Павялічыць хуткасць"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
-msgstr ""
+msgstr "Шоу/Гульня"
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
-msgstr ""
+msgstr "Спорт"
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr ""
+msgstr "Дзіцячае"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
-msgstr ""
+msgstr "Музыка/Балет/Танцы"
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
-msgstr ""
+msgstr "Мастацтва/Культура"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
-msgstr ""
+msgstr "Грамадства/Эканоміка/Палітыка"
msgctxt "IDS_CONTENT_LEISURE"
msgid "Leisure hobbies"
-msgstr ""
+msgstr "Вольны час, захапленні"
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
-msgstr ""
+msgstr "Перамясціць у сметніцу"
msgctxt "IDS_AG_SAVE_COPY"
msgid "Save a Copy"
@@ -1506,31 +1526,31 @@ msgstr "Захаваць як"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr ""
+msgstr "Апошні ключавы кадр"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr ""
+msgstr "Бліжэйшы ключавы кадр"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr ""
+msgstr "Падчас ініцыалізацыі MPC-HC сутыкнуўся з праблемай. Верагодна, што прайграванне DVD працуе няправільна. Магчыма, гэта выклікана несумяшчальнасцю з інструментамі бяспекі.\n\nПаведаміць пра гэту праблему?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
-msgstr ""
+msgstr "Ніколі не паказваць"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr ""
+msgstr "Паказваць курсор падчас руху, хаваць праз:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr ""
+msgstr "Пры навядзенні паказваць панэль навігацыі:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr ""
+msgstr "Не атрымалася ўстанавіць шэйдары pre-resize"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
@@ -1538,7 +1558,7 @@ msgstr "Карэкцыя часу кадра: Укл"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Карэкцыя часу кадра: Выкл"
+msgstr "Карэкцыя часу кадра: Адкл"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
@@ -1557,8 +1577,8 @@ msgid "Thumbnails saved successfully"
msgstr "Мініяцюры паспяхова захаваны"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&Відэарад"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1570,11 +1590,11 @@ msgstr "Скінуць налады"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Вы сапраўды жадаеце усталяваць стандартныя налады MPC-HC?\nВедайце, што вашыя бягучыя налады будуць страчаны!"
+msgstr "Сапраўды скінуць налады MPC-HC?\nВашы бягучыя налады будуць страчаны."
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Калі ласка закройце ўсе копіі MPC-HC для аднаўлення стандартных налад."
+msgstr "Закрыйце ўсе копіі MPC-HC каб аднавіць налады да прадвызначаных."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
@@ -1582,7 +1602,7 @@ msgstr "Экспартаваць налады"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Некаторыя змены не захаваны.\nЦі жадаеце захаваць іх перад экспартам?"
+msgstr "Некаторыя змены не захаваны.\nЗахаваць іх перад экспартам?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
@@ -1606,11 +1626,11 @@ msgstr "Скінуць хуткасць у 100%"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Затрымка аўдыё +10мс"
+msgstr "Затрымка аўдыя +10 мс"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
-msgstr "Затрымка аўдыё -10мс"
+msgstr "Затрымка аўдыя -10 мс"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1662,51 +1682,51 @@ msgstr "Папярэдні файл"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "Поўнаэкранны Direct3D Укл/Адкл"
+msgstr "Укл/Адкл поўнаэкранны Direct3D"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Перайсці да папярэдніх субтытраў"
+msgstr "Перайсці да папярэдніх субцітраў"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Перайсці да наступных субтытраў"
+msgstr "Перайсці да наступных субцітраў"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
-msgstr "Ссунуць субтытры налева"
+msgstr "Ссунуць субцітры ўлева"
msgctxt "IDS_MPLAYERC_103"
msgid "Shift Subtitle Right"
-msgstr "Ссунуць субтытры направа"
+msgstr "Ссунуць субцітры ўправа"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
-msgstr ""
+msgstr "Перайсці да пачатку"
msgctxt "IDS_OSD_SHOW_FILENAME"
msgid "OSD: Show File Name"
-msgstr ""
+msgstr "OSD: Паказваць імя файла"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "Прайграванне DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "Прайграванне BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
-msgstr ""
+msgstr "OSD: Паказаць статыстыку апрацоўшчыка"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr ""
+msgstr "OSD: Скінуць статыстыку апрацоўшчыка"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Субтытры::Рознае"
+msgstr "Субцітры::Рознае"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
@@ -1714,19 +1734,19 @@ msgstr "Схаваць межы"
msgctxt "IDS_VIEW_FRAMEONLY"
msgid "Fra&me Only"
-msgstr "Толькі фрэймы"
+msgstr "Толькі відэакадр"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Паказаць Загаловак і Меню"
+msgstr "Паказаць загаловак і меню"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
-msgstr "Схаваць Меню"
+msgstr "Схаваць меню"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr ""
+msgstr "Пашыраныя"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
@@ -1738,15 +1758,15 @@ msgstr "Кампактны выгляд"
msgctxt "IDS_AG_VIEW_NORMAL"
msgid "View Normal"
-msgstr "Нармалёвы выгляд"
+msgstr "Нармальны выгляд"
msgctxt "IDS_AG_FULLSCREEN"
msgid "Fullscreen"
-msgstr "Ва ўвесь экран"
+msgstr "На ўвесь экран"
msgctxt "IDS_MPLAYERC_39"
msgid "Fullscreen (w/o res.change)"
-msgstr "Ва ўвесь экран (без змены адрознення)"
+msgstr "На ўвесь экран (без змены разрознасці)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT"
msgid "Zoom Auto Fit"
@@ -1758,7 +1778,7 @@ msgstr "Палавінны відэакадр"
msgctxt "IDS_AG_VIDFRM_NORMAL"
msgid "VidFrm Normal"
-msgstr "Нармалёвы відэакадр"
+msgstr "Нармальны відэакадр"
msgctxt "IDS_AG_VIDFRM_DOUBLE"
msgid "VidFrm Double"
@@ -1793,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "Паменшыць вышыню кадра"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Зазгружаюцца субтытры,калі ласка пачакайце."
+msgid "Downloading [%s] \"%s\""
+msgstr "Спампоўванне [%s] «%s»"
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1802,27 +1822,27 @@ msgstr "Аналіз спісу..."
msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
msgid "No subtitles found."
-msgstr "Субтытры ня знойдзены."
+msgstr "Субцітры не знойдзены."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
msgid "%d subtitle(s) available."
-msgstr "%d субтытраў даступна."
+msgstr "%d субцітраў даступна."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Ці жадаеце вы час ад часу правяраць абнаўленні MPC-HC?\n\nГэта опцыя можа быць адключана праз старонку Рознае ў наладах."
+msgstr "Правяраць наяўнасць абнаўленняў MPC-HC аўтаматычна?\n\nГэтую функцыю можна адключыць на старонцы Рознае ў Наладах."
msgctxt "IDS_ZOOM_50"
msgid "50%"
-msgstr ""
+msgstr "50%"
msgctxt "IDS_ZOOM_100"
msgid "100%"
-msgstr ""
+msgstr "100%"
msgctxt "IDS_ZOOM_200"
msgid "200%"
-msgstr ""
+msgstr "200%"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
@@ -1846,11 +1866,11 @@ msgstr "Падвойны клік адкрывае месцазнаходжан
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
-msgstr "Пераключэнне паміж прайшоўшым і астатнім часам"
+msgstr "Пераключэнне паміж мінулым часам і тым, што застаўся"
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
-msgstr "Невядомы лік"
+msgstr "Недапушчальная затрымка"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
@@ -1862,11 +1882,11 @@ msgstr "Цэнтраваць кадр"
msgctxt "IDS_AG_PNS_LEFT"
msgid "PnS Left"
-msgstr "Ссунуць кадр налева"
+msgstr "Ссунуць кадр улева"
msgctxt "IDS_AG_PNS_RIGHT"
msgid "PnS Right"
-msgstr "Ссунуць кадр направа"
+msgstr "Ссунуць кадр управа"
msgctxt "IDS_AG_PNS_UP"
msgid "PnS Up"
@@ -1878,19 +1898,19 @@ msgstr "Ссунуць кадр уніз"
msgctxt "IDS_AG_PNS_UPLEFT"
msgid "PnS Up/Left"
-msgstr "Ссунуць кадр уверх/налева"
+msgstr "Ссунуць кадр уверх/улева"
msgctxt "IDS_AG_PNS_UPRIGHT"
msgid "PnS Up/Right"
-msgstr "Ссунуць кадр уверх/направа"
+msgstr "Ссунуць кадр уверх/управа"
msgctxt "IDS_AG_PNS_DOWNLEFT"
msgid "PnS Down/Left"
-msgstr "Ссунуць кадр уніз/налева"
+msgstr "Ссунуць кадр уніз/улева"
msgctxt "IDS_MPLAYERC_59"
msgid "PnS Down/Right"
-msgstr "Ссунуць кадр уніз/направа"
+msgstr "Ссунуць кадр уніз/управа"
msgctxt "IDS_AG_VOLUME_UP"
msgid "Volume Up"
@@ -1906,55 +1926,55 @@ msgstr "Адключыць гук"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
-msgstr "DVD - загалоўнае меню"
+msgstr "DVD — загалоўнае меню"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr "DVD - каранёвае меню"
+msgstr "DVD — каранёвае меню"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
-msgstr "DVD - меню субтытраў"
+msgstr "DVD — меню субцітраў"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
-msgstr "DVD - меню аўдыё"
+msgstr "DVD — меню аўдыя"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "DVD - меню вуглоў"
+msgstr "DVD — меню вуглоў"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
-msgstr "DVD - меню сцэн"
+msgstr "DVD — меню сцэн"
msgctxt "IDS_AG_DVD_MENU_LEFT"
msgid "DVD Menu Left"
-msgstr "DVD меню - налева"
+msgstr "DVD меню — улева"
msgctxt "IDS_MPLAYERC_70"
msgid "DVD Menu Right"
-msgstr "DVD меню - направа"
+msgstr "DVD меню — управа"
msgctxt "IDS_AG_DVD_MENU_UP"
msgid "DVD Menu Up"
-msgstr "DVD меню - уверх"
+msgstr "DVD меню — уверх"
msgctxt "IDS_AG_DVD_MENU_DOWN"
msgid "DVD Menu Down"
-msgstr "DVD меню - уніз"
+msgstr "DVD меню — уніз"
msgctxt "IDS_MPLAYERC_73"
msgid "DVD Menu Activate"
-msgstr "DVD меню - актываваць"
+msgstr "DVD меню — актываваць"
msgctxt "IDS_AG_DVD_MENU_BACK"
msgid "DVD Menu Back"
-msgstr "DVD меню - назад"
+msgstr "DVD меню — назад"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "DVD меню - пакінуць"
+msgstr "DVD меню — пакінуць"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
@@ -1962,11 +1982,11 @@ msgstr "Аварыйная клавіша"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu"
-msgstr ""
+msgstr "Меню прайгравальніка"
msgctxt "IDS_MPLAYERC_78"
msgid "Player Menu (full)"
-msgstr ""
+msgstr "Меню прайгравальніка (поўнае)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
@@ -1974,31 +1994,31 @@ msgstr "Меню фільтраў"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
-msgstr "Опцыі"
+msgstr "Налады"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr ""
+msgstr "Наступная гукавая дарожка"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr ""
+msgstr "Папярэдняя гукавая дарожка"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr ""
+msgstr "Наступныя субцітры"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr ""
+msgstr "Папярэднія субцітры"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Субтытры Укл/Адкл"
+msgstr "Укл/Адкл субцітры"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
-msgstr "Перазагрузіць субтытры"
+msgstr "Перазагрузіць субцітры"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
@@ -2010,31 +2030,31 @@ msgstr "Папярэдні вугал (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr ""
+msgstr "Наступная гукавая дарожка (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr ""
+msgstr "Папярэдняя гукавая дарожка (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "Наступныя субцітры (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "Папярэднія субцітры (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "Субтытры Укл/Адкл (DVD)"
+msgstr " Укл/Адкл субцітры (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
-msgstr ""
+msgstr "Паказваць цяперашні час"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
-msgstr "Абярыце тэчку"
+msgstr "Выберыце папку"
msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
msgid "Quick add favorite"
@@ -2042,7 +2062,7 @@ msgstr "Хутка дадаць у абранае"
msgctxt "IDS_DVB_CHANNEL_NUMBER"
msgid "N"
-msgstr ""
+msgstr "№"
msgctxt "IDS_DVB_CHANNEL_NAME"
msgid "Name"
@@ -2054,13 +2074,13 @@ msgstr "Частата"
msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
-msgstr "Закадаваныя"
+msgstr "Зашыфравана"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Так"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Не"
@@ -2078,7 +2098,7 @@ msgstr "Радыёстанцыі"
msgctxt "IDS_DVB_TVNAV_SEETV"
msgid "TV stations"
-msgstr "TV станцыі"
+msgstr "TV-станцыі"
msgctxt "IDS_DVB_CHANNEL_FORMAT"
msgid "Format"
@@ -2090,11 +2110,11 @@ msgstr "Фокус перайшоў да: %s - %s"
msgctxt "IDS_AG_SUBTITLES_SAVED"
msgid "Subtitles saved"
-msgstr "Субтытры захаваныя"
+msgstr "Субцітры захаваныя"
msgctxt "IDS_MAINFRM_4"
msgid "Cannot save subtitles"
-msgstr "Не атрымліваецца захаваць субтытры."
+msgstr "Не атрымліваецца захаваць субцітры."
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
@@ -2134,11 +2154,11 @@ msgstr "Прайграць у MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "У MPC-HC недастаткова правоў для змены асацыяцый файлаў. Націсніце на «Выканаць ад імя адміністратара»"
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr ""
+msgstr "MPC-HC - гэта надзвычайна лёгкі прайгравальнік медыя для Windows з адкрытым зыходным кодам. Ён падтрымлівае прайграванне ўсіх распаўсюджаных фарматаў аўдыя і відэа. Мы на 100% гарантуем адсутнасць шпіёнскіх і рэкламных праграм або панэляў інструментаў."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2186,11 +2206,11 @@ msgstr "DVD: Несумяшчальныя рэгіёны дэкодэра і д
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Гэтая опцыя служыць для ўхілення дрыгацення але ў гэтым рэжыме, калі відэа загружана, MPC-HC не можа адлюстроўваць кантэкстнае меню і дыялогі.\n\nПрацягнуць?"
+msgstr "Гэтая опцыя служыць для ўхілення дрыгацення, але ў гэтым рэжыме, калі відэа загружана, MPC-HC не можа адлюстроўваць кантэкстнае меню і дыялогі.\n\nПрацягнуць?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Затрымка субтытраў: %ld мс"
+msgstr "Затрымка субцітраў: %ld мс"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2212,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Шырыня малюнка:"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Уведзены URL дакладны!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Версія пратаколу не супадае. Калі ласка абнавіце ваш плэер або абярыце іншы адрас!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Прапорцыі"
@@ -2254,15 +2266,15 @@ msgstr "Памылка"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
-msgstr "Субтытры: адключаны"
+msgstr "Субцітры: адключаны"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
-msgstr "Субтытры: %s"
+msgstr "Субцітры: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
-msgstr "Абярыце шлях для DVD/BD:"
+msgstr "Вызначце шлях для DVD/BD"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
@@ -2290,7 +2302,7 @@ msgstr "Немагчыма стварыць мініяцюры для файла
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
-msgstr "Не атрымліваецца атрымаць памер відэакадра"
+msgstr "Не атрымалася вызначыць памер відэакадра"
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
@@ -2306,31 +2318,31 @@ msgstr "Памер файла: %s (%s байт)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
-msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Імя файла: %s\\N%sАдрозненне: %dx%d %s\\NПрацягласць: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Імя файла: %s\\N%sРазрознасць: %dx%d %s\\NПрацягласць: %02d:%02d:%02d"
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr ""
+msgstr "Замалы памер мініяцюр, немагчыма стварыць файл.\n\nПаменшыце колькасць мініяцюр або павялічце агульны памер выявы."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr ""
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Каб загрузіць субцітры, неабходна змяніць тып апрацоўшчыка відэа і зноў адкрыць файл.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
-msgstr ""
+msgstr "Файлы субцітраў"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
msgstr "Прапорцыі: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Прапорцыі: стандартныя"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Прапорцыі: Па змаўчанні (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
-msgstr "Затрымка аўдыё: %I64dмс"
+msgstr "Затрымка аўдыя: %I64d мс"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2362,11 +2374,7 @@ msgstr "Адкрыццё перапынена"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Не атрымліваецца прайграць файл"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL няслушны немагчыма выявіць базу субтытраў!"
+msgstr "Не атрымалася апрацаваць файл"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2390,7 +2398,7 @@ msgstr "Бягучы"
msgctxt "IDS_MAINFRM_DIR_TITLE"
msgid "Select Directory"
-msgstr "Абярыце тэчку"
+msgstr "Выберыце папку"
msgctxt "IDS_MAINFRM_DIR_CHECK"
msgid "Include subdirectories"
@@ -2414,7 +2422,7 @@ msgstr "Укл/Адкл кіраванне"
msgctxt "IDS_MAINFRM_84"
msgid "Invalid file name"
-msgstr "Няслушнае імя файла"
+msgstr "Недапушчальнае імя файла"
msgctxt "IDS_MAINFRM_86"
msgid "Cannot connect the filters"
@@ -2442,11 +2450,11 @@ msgstr "Невядомы тып файла"
msgctxt "IDS_MAINFRM_92"
msgid "Unsupported stream"
-msgstr "Непадтрымліваемы струмень"
+msgstr "Непадтрымліваемы паток"
msgctxt "IDS_MAINFRM_93"
msgid "Cannot find DVD directory"
-msgstr "Не атрымліваецца знайсці каталог DVD"
+msgstr "Вызначаная для DVD/BD папка не знойдзена"
msgctxt "IDS_MAINFRM_94"
msgid "Can't create the DVD Navigator filter"
@@ -2494,7 +2502,7 @@ msgstr " (pin) уласцівасці..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
-msgstr "Невядомы струмень"
+msgstr "Невядомы паток"
msgctxt "IDS_AG_UNKNOWN"
msgid "Unknown %u"
@@ -2502,19 +2510,19 @@ msgstr "Невядомы %u"
msgctxt "IDS_AG_VSYNC"
msgid "VSync"
-msgstr ""
+msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr " (Каментары рэжысёра 1)"
+msgstr " (Каментарыі рэжысёра 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr " (Каментары рэжысёра 2)"
+msgstr " (Каментарыі рэжысёра 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr ""
+msgstr "Уключыць DVD-субцітры"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2542,35 +2550,35 @@ msgstr "Невядомы фармат"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Зрушэнне субтытраў: %ld"
+msgstr "Зрух субцітраў: %ld"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
-msgstr "Узмацненне гучнасці - павялічыць"
+msgstr "Узмацненне гучнасці — павялічыць"
msgctxt "IDS_VOLUME_BOOST_DEC"
msgid "Volume boost decrease"
-msgstr "Узмацненне гучнасці - паменшыць"
+msgstr "Узмацненне гучнасці — паменшыць"
msgctxt "IDS_VOLUME_BOOST_MIN"
msgid "Volume boost Min"
-msgstr "Узмацненне гучнасці - Min"
+msgstr "Узмацненне гучнасці — мінімальнае"
msgctxt "IDS_VOLUME_BOOST_MAX"
msgid "Volume boost Max"
-msgstr "Узмацненне гучнасці - Max"
+msgstr "Узмацненне гучнасці — максімальнае"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Выкарыстанне: mpc-hc.exe \"шлях\" [перамыкачы]\n\n\"шлях\"\tФайл або каталог для загрузкі (дазволеныя маскі, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузiць дадатковы гукавы файл\n/dubdelay \"file\"\tЗагрузiць дадатковы гукавы файл са зрушэннем XXмс\n(калі файл утрымлівае \"...DELAY XXms...\")\n/d3dfs\t\tСтартаваць у поўнаэкранным D3D рэжыме\n/sub \"subname\"\tЗагрузiць дадатковыя субтытры\n/filter \"filtername\"\tЗагрузiць фільтры DirectShow з бібліятэкі (дазволеныя маскі)\n/dvd\t\tЗапуск у рэжыме DVD \"шлях\" азначае каталог з DVD (апцыянальна)\n/cd\t\tЗагрузіць усе дарожкі Audio CD або (S)VCD \"шлях\" азначае шлях да кружэлкі (апцыянальна)\n/device\t\tOpen the default video device\n/open\t\tТолькi адкрыць файл\n/play\t\tПачынаць прайграванне адразу пасля запуску\n/close\t\tЗакрыць па канчатку прайгравання (працуе толькі з перамыкачом /play)\n/shutdown\tВыключыць кампутар па канчатку прайгравання\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуск у поўнаэкранным рэжыме\n/minimized\tЗапуск у згорнутым выглядзе\n/new\t\tВыкарстаць новую копію прайгравальніка\n/add\t\tДадаць \"шлях\" у плэйліст можна сумесна з /open і /play\n/randomize\tRandomize the playlist\n/regvid\t\tРэгістраваць відэафарматы\n/regaud\t\tРэгістраваць аўдыёфарматы\n/unregvid\t\tРазрэгістраваць відэафарматы\n/unregaud\tРазрэгістраваць аўдыёфарматы\n/start ms\t\tПрайграваць з пазіцыі \"ms\" (= мілісекунды)\n/fixedsize wh\tУсталяваць фіксаваны памер акна\n/monitor N\tЗапускацца на маніторы N дзе N адлічваецца з 1\n/audiorenderer N\tВыкарыстаць аўдыёрэндэр N, дзе N адлічваецца з 1\n\t\t(глядзіце налады \"Вывад\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tПаказвае гэтую даведку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Выкарыстанне: mpc-hc.exe \"шлях\" [ключы]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "У камандным радку знойдзены нераспазнаныя перамыкачы: \n\n"
+msgstr "У камандным радку знойдзены нераспазнаныя ключы: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "Укл/Адкл інфармацыю"
+msgstr "Укл/Адкл паказ звестак"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
@@ -2578,15 +2586,15 @@ msgstr "Укл/Адкл статыстыку"
msgctxt "IDS_AG_TOGGLE_STATUS"
msgid "Toggle Status"
-msgstr "Укл/Адкл статусны радок"
+msgstr "Укл/Адкл радок стану"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Укл/Адкл акно сінхранізацыі субтытраў"
+msgstr "Укл/Адкл акно сінхранізацыі субцітраў"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Укл/Адкл плэйліст"
+msgstr "Укл/Адкл спіс прайгравання"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
@@ -2594,7 +2602,7 @@ msgstr "Укл/Адкл акно захопу"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr ""
+msgstr "Укл/Адкл адладку шэйдараў"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2614,15 +2622,15 @@ msgstr "Наступная перадусталёўка прапорцый"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "Відэакадр расцягнуць да памераў акна"
+msgstr "Расцягнуць відэакадр да памераў акна"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
-msgstr "Відэакадр упісаць унутр вакна"
+msgstr "Упісаць відэакадр у акно"
msgctxt "IDS_AG_VIDFRM_OUTSIDE"
msgid "VidFrm Outside"
-msgstr "Відэакадр апісаць звонку вакна"
+msgstr "Абразаць відэакадр"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
@@ -2634,43 +2642,35 @@ msgstr "Павярнуць кадр па X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr ""
+msgstr "Маштаб відэакадра 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr ""
+msgstr "Маштаб відэакадра 2"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
-msgstr ""
+msgstr "Змяніць маштаб відэакадра"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Уключыць усе фільтры"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Налады прымача scan"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Субтытры не загружаны або не падтрымліваемы відэа-рэндэр."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
-msgstr "Аўтар невядомы. Паведаміце мне, калі вы зрабілі гэтае лого!"
+msgstr "Аўтар невядомы. Паведаміце нам, калі гэта вы зрабілі лагатып!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "Прайграванне медыя-файлаў з каталога скончана"
+msgstr "Прайграванне медыяфайлаў з папкі скончана"
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
-msgstr ""
+msgstr "Першы файл з папкі ўжо загружаны"
msgctxt "IDS_LAST_IN_FOLDER"
msgid "The last file of the folder is already loaded."
-msgstr ""
+msgstr "Апошні файл з папкі ўжо загружаны"
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
@@ -2770,11 +2770,11 @@ msgstr "Адмена"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr ""
+msgstr "Змяшэнне"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
-msgstr ""
+msgstr "Пікселяў:"
msgctxt "IDS_TEXTFILE_ENC"
msgid "Encoding:"
@@ -2786,19 +2786,19 @@ msgstr "&Адключыць усе фільтры"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr ""
+msgstr "Уключыць усе дэкодары аўдыя"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr ""
+msgstr "Адключыць усе дэкодары аўдыя"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
-msgstr ""
+msgstr "Уключыць усе дэкодары відэа"
msgctxt "IDS_DISABLE_VIDEO_FILTERS"
msgid "Disable all video decoders"
-msgstr ""
+msgstr "Адключыць усе дэкодары відэа"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
@@ -2806,23 +2806,23 @@ msgstr "Расцягнуць да памераў акна"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
-msgstr "Упісаць відэакадр унутр вакна"
+msgstr "Упісаць відэакадр у акно"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
-msgstr ""
+msgstr "Маштаб 1"
msgctxt "IDS_ZOOM2"
msgid "Zoom 2"
-msgstr ""
+msgstr "Маштаб 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr "Відэакадр апісаць звонку вакна"
+msgstr "Запоўніць акно і абрэзаць відэакадр"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
-msgstr "Аўдыё: %s"
+msgstr "Аўдыя: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
@@ -2830,79 +2830,79 @@ msgstr "Пераадкрыць файл"
msgctxt "IDS_MFMT_AVI"
msgid "AVI"
-msgstr ""
+msgstr "AVI"
msgctxt "IDS_MFMT_MPEG"
msgid "MPEG"
-msgstr ""
+msgstr "MPEG"
msgctxt "IDS_MFMT_MPEGTS"
msgid "MPEG-TS"
-msgstr ""
+msgstr "MPEG-TS"
msgctxt "IDS_MFMT_DVDVIDEO"
msgid "DVD-Video"
-msgstr ""
+msgstr "DVD-Video"
msgctxt "IDS_MFMT_MKV"
msgid "Matroska"
-msgstr ""
+msgstr "Matroska"
msgctxt "IDS_MFMT_WEBM"
msgid "WebM"
-msgstr ""
+msgstr "WebM"
msgctxt "IDS_MFMT_MP4"
msgid "MP4"
-msgstr ""
+msgstr "MP4"
msgctxt "IDS_MFMT_MOV"
msgid "QuickTime Movie"
-msgstr ""
+msgstr "QuickTime Movie"
msgctxt "IDS_MFMT_3GP"
msgid "3GP"
-msgstr ""
+msgstr "3GP"
msgctxt "IDS_MFMT_3G2"
msgid "3G2"
-msgstr ""
+msgstr "3G2"
msgctxt "IDS_MFMT_FLV"
msgid "Flash Video"
-msgstr ""
+msgstr "Flash Video"
msgctxt "IDS_MFMT_OGM"
msgid "Ogg Media"
-msgstr ""
+msgstr "Ogg Media"
msgctxt "IDS_MFMT_RM"
msgid "Real Media"
-msgstr ""
+msgstr "Real Media"
msgctxt "IDS_MFMT_RT"
msgid "Real Script"
-msgstr ""
+msgstr "Real Script"
msgctxt "IDS_MFMT_WMV"
msgid "Windows Media Video"
-msgstr ""
+msgstr "Windows Media Video"
msgctxt "IDS_MFMT_BINK"
msgid "Smacker/Bink Video"
-msgstr ""
+msgstr "Smacker/Bink Video"
msgctxt "IDS_MFMT_FLIC"
msgid "FLIC Animation"
-msgstr ""
+msgstr "FLIC Animation"
msgctxt "IDS_MFMT_DSM"
msgid "DirectShow Media"
-msgstr ""
+msgstr "DirectShow Media"
msgctxt "IDS_MFMT_IVF"
msgid "Indeo Video Format"
-msgstr ""
+msgstr "Indeo Video Format"
msgctxt "IDS_MFMT_OTHER"
msgid "Other"
@@ -2910,107 +2910,107 @@ msgstr "Іншае"
msgctxt "IDS_MFMT_SWF"
msgid "Shockwave Flash"
-msgstr ""
+msgstr "Shockwave Flash"
msgctxt "IDS_MFMT_OTHER_AUDIO"
msgid "Other Audio"
-msgstr ""
+msgstr "Other Audio"
msgctxt "IDS_MFMT_AC3"
msgid "AC-3"
-msgstr ""
+msgstr "AC-3"
msgctxt "IDS_MFMT_AIFF"
msgid "AIFF"
-msgstr ""
+msgstr "AIFF"
msgctxt "IDS_MFMT_ALAC"
msgid "Apple Lossless"
-msgstr ""
+msgstr "Apple Lossless"
msgctxt "IDS_MFMT_WAV"
msgid "WAV"
-msgstr ""
+msgstr "WAV"
msgctxt "IDS_MFMT_WMA"
msgid "Windows Media Audio"
-msgstr ""
+msgstr "Windows Media Audio"
msgctxt "IDS_MFMT_WV"
msgid "WavPack"
-msgstr ""
+msgstr "WavPack"
msgctxt "IDS_MFMT_OPUS"
msgid "Opus Audio Codec"
-msgstr ""
+msgstr "Opus Audio Codec"
msgctxt "IDS_MFMT_DTS"
msgid "DTS/DTS-HD"
-msgstr ""
+msgstr "DTS/DTS-HD"
msgctxt "IDS_MFMT_AMR"
msgid "AMR"
-msgstr ""
+msgstr "AMR"
msgctxt "IDS_MFMT_APE"
msgid "Monkey's Audio"
-msgstr ""
+msgstr "Monkey's Audio"
msgctxt "IDS_MFMT_AU"
msgid "AU/SND"
-msgstr ""
+msgstr "AU/SND"
msgctxt "IDS_MFMT_CDA"
msgid "Audio CD track"
-msgstr ""
+msgstr "Audio CD track"
msgctxt "IDS_MFMT_FLAC"
msgid "FLAC"
-msgstr ""
+msgstr "FLAC"
msgctxt "IDS_MFMT_M4A"
msgid "MPEG-4 Audio"
-msgstr ""
+msgstr "MPEG-4 Audio"
msgctxt "IDS_MFMT_MIDI"
msgid "MIDI"
-msgstr ""
+msgstr "MIDI"
msgctxt "IDS_MFMT_MKA"
msgid "Matroska audio"
-msgstr ""
+msgstr "Matroska audio"
msgctxt "IDS_MFMT_MP3"
msgid "MP3"
-msgstr ""
+msgstr "MP3"
msgctxt "IDS_MFMT_MPA"
msgid "MPEG audio"
-msgstr ""
+msgstr "MPEG audio"
msgctxt "IDS_MFMT_MPC"
msgid "Musepack"
-msgstr ""
+msgstr "Musepack"
msgctxt "IDS_MFMT_OFR"
msgid "OptimFROG"
-msgstr ""
+msgstr "OptimFROG"
msgctxt "IDS_MFMT_OGG"
msgid "Ogg Vorbis"
-msgstr ""
+msgstr "Ogg Vorbis"
msgctxt "IDS_MFMT_RA"
msgid "Real Audio"
-msgstr ""
+msgstr "Real Audio"
msgctxt "IDS_MFMT_TAK"
msgid "TAK"
-msgstr ""
+msgstr "TAK"
msgctxt "IDS_MFMT_TTA"
msgid "True Audio"
-msgstr ""
+msgstr "True Audio"
msgctxt "IDS_MFMT_PLS"
msgid "Playlist"
@@ -3022,15 +3022,15 @@ msgstr "Blu-ray плэйліст"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
-msgstr ""
+msgstr "Архіў RAR"
msgctxt "IDS_DVB_CHANNEL_FPS"
msgid "FPS"
-msgstr ""
+msgstr "FPS"
msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
msgid "Resolution"
-msgstr ""
+msgstr "Разрознасць"
msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
msgid "Aspect Ratio"
@@ -3038,19 +3038,19 @@ msgstr "Прапорцыі"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
-msgstr "VSync: Укл"
+msgstr "Вертыкальная сінхранізацыя: Укл"
msgctxt "IDS_OSD_RS_VSYNC_OFF"
msgid "VSync: Off"
-msgstr "VSync: Выкл"
+msgstr "Вертыкальная сінхранізацыя: Адкл"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr "Дакладная VSync: Укл"
+msgstr "Дакладная вертыкальная сінхранізацыя: Укл"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr "Дакладная VSync: Выкл"
+msgstr "Дакладная вертыкальная сінхранізацыя: Адкл"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
@@ -3058,7 +3058,7 @@ msgstr "Сінхранізацыя відэа да дысплэя: Укл"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
msgid "Synchronize Video to Display: Off"
-msgstr "Сінхранізацыя відэа да дысплэя: Выкл"
+msgstr "Сінхранізацыя відэа да дысплэя: Адкл"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
msgid "Synchronize Display to Video: On"
@@ -3066,15 +3066,15 @@ msgstr "Сінхранізацыя дысплэя да відэа: Укл"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
msgid "Synchronize Display to Video: Off"
-msgstr "Сінхранізацыя дысплэя да відэа: Выкл"
+msgstr "Сінхранізацыя дысплэя да відэа: Адкл"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
-msgstr "Паказ пры бліжэшай VSync пры бліжэшай VSync: Укл"
+msgstr "Паказ пры найбліжэйшай вертыкальнай сінхранізацыі: Укл"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
msgid "Present at Nearest VSync: Off"
-msgstr "Паказ пры бліжэшай VSync: Выкл"
+msgstr "Паказ пры найбліжэйшай вертыкальнай сінхранізацыі: Адкл"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
@@ -3082,7 +3082,7 @@ msgstr "Кіраванне колерам: Укл"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr "Кіраванне колерам: Выкл"
+msgstr "Кіраванне колерам: Адкл"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
@@ -3114,47 +3114,47 @@ msgstr "Вонкавае святло: Цёмнае (2.4 Gamma)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "Прызначэнне Рэндэрэнгу: Па ўспрыманне"
+msgstr "Мэта апрацоўкі: Зрокавае ўспрыманне"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "Прызначэнне Рэндэрэнгу: Адносная каларыметрыя"
+msgstr "Мэта апрацоўкі: Адносная колераметрыя"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr "Прызначэнне Рэндэрэнгу: Насычанасць"
+msgstr "Мэта апрацоўкі: Насычанасць"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "Прызначэнне Рэндэрэнгу: Абсалютная каларыметрыя"
+msgstr "Мэта апрацоўкі: Абсалютная колераметрыя"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
-msgstr "Выходны дыяпазонe: %s"
+msgstr "Дыяпазон вываду: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr "Напаўняць GPU перад VSync: Укл"
+msgstr "Ачышчаць буфер GPU да верт. сінхранізацыі: Укл"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
-msgstr "Напаўняць GPU перад VSync: Выкл"
+msgstr "Ачышчаць буфер GPU да верт. сінхранізацыі: Адкл"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
-msgstr "Напаўняць GPU пасля Present: Укл"
+msgstr "Ачышчаць буфер GPU пасля паказу: Укл"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
msgid "Flush GPU after Present: Off"
-msgstr "Напаўняць GPU пасля Present: Выкл"
+msgstr "Ачышчаць буфер GPU пасля паказу: Адкл"
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
-msgstr "Чаканне запаўнення GPU: Укл"
+msgstr "Чакаць ачышчэння буфера: Укл"
msgctxt "IDS_OSD_RS_WAIT_OFF"
msgid "Wait for GPU Flush: Off"
-msgstr "Чаканне запаўнення GPU: Выкл"
+msgstr "Чакаць ачышчэння буфера: Адкл"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
@@ -3162,7 +3162,7 @@ msgstr "Поўнаэкранны D3D: Укл"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
msgid "D3D Fullscreen: Off"
-msgstr "Поўнаэкранны D3D: Выкл"
+msgstr "Поўнаэкранны D3D: Адкл"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
@@ -3170,15 +3170,15 @@ msgstr "Адключыць эфект прац. сталу: Укл"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr "Адключыць эфект прац. сталу: Выкл"
+msgstr "Адключыць эфект прац. сталу: Адкл"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr "Альтэрнатыўная VSync: Укл"
+msgstr "Альтэрнатыўная вертыкальная сінхранізацыя: Укл"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr "Альтэрнатыўная VSync: Выкл"
+msgstr "Альтэрнатыўная вертыкальная сінхранізацыя: Адкл"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
@@ -3190,11 +3190,11 @@ msgstr "Усталяваць аптымальныя налады рэндэрэ
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr "Поўнаэкранны D3D з GUI: Укл"
+msgstr "Поўнаэкранны D3D з падтрымкай GUI: Укл"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
-msgstr "Поўнаэкранны D3D з GUI: Выкл"
+msgstr "Поўнаэкранны D3D з падтрымкай GUI: Адкл"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
@@ -3202,7 +3202,7 @@ msgstr "10-бітны RGB вывад: Укл"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
-msgstr "10-бітны RGB вывад: Выкл"
+msgstr "10-бітны RGB вывад: Адкл"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
@@ -3210,51 +3210,51 @@ msgstr "Прымусовы 10-бітны RGB увод: Укл"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
msgid "Force 10-bit RGB Input: Off"
-msgstr "Прымусовы 10-бітны RGB увод: Выкл"
+msgstr "Прымусовы 10-бітны RGB увод: Адкл"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr "Поўная апрацоўка плыўнай кропкі: Укл"
+msgstr "Поўная апрацоўка лікаў з нефіксаванай коскай: Укл"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
-msgstr "Поўная апрацоўка плыўнай кропкі: Выкл"
+msgstr "Поўная апрацоўка лікаў з нефіксаванай коскай: Адкл"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr "Палавінная апрацоўка плыўнай кропкі: Укл"
+msgstr "Палавінная апрацоўка лікаў з нефіксаванай коскай: Укл"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
-msgstr "Палавінная апрацоўка плыўнай кропкі: Выкл"
+msgstr "Палавінная апрацоўка лікаў з нефіксаванай коскай: Адкл"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
-msgstr "Яркасць паменьшыць"
+msgstr "Паменшыць яркасць"
msgctxt "IDS_CONTRAST_INC"
msgid "Contrast increase"
-msgstr "Кантраст павялічыць"
+msgstr "Павялічыць кантраст"
msgctxt "IDS_CONTRAST_DEC"
msgid "Contrast decrease"
-msgstr "Кантраст паменшыць"
+msgstr "Паменшыць кантраст"
msgctxt "IDS_HUE_INC"
msgid "Hue increase"
-msgstr ""
+msgstr "Павялічыць адценне "
msgctxt "IDS_HUE_DEC"
msgid "Hue decrease"
-msgstr ""
+msgstr "Паменшыць адценне"
msgctxt "IDS_SATURATION_INC"
msgid "Saturation increase"
-msgstr "Насычанасць павялічыць"
+msgstr "Павялічыць насычанасць"
msgctxt "IDS_SATURATION_DEC"
msgid "Saturation decrease"
-msgstr "Насычанасць паменьшыць"
+msgstr "Паменшыць насычанасць"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
@@ -3262,19 +3262,19 @@ msgstr "Скінуць налады колеру"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
-msgstr "\nУ вас ужо есць апошняя стабільная версія."
+msgstr "\nВы карыстаецеся апошняй стабільнай версіяй."
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Бягучая весрія v%s.\n\nАпошняя стабільная версія v%s."
+msgstr "Усталяваная версія v%s.\n\nАпошняя стабільная версія v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MДаступная новая версія %s. Вы выкарыстоўваеце %s.\n\nВы жадаеце наведаць сайт MPC-HC, каб загрузіць яе?"
+msgstr "Даступна новая версія MPC-HC %s. Вы карыстаецеся версіяй %s.\n\nНаведаць сайт MPC-HC, каб спампаваць яе?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Сервер абнаўленняў ня знойдзены.\n\nПраверце падлучэнне да Інтэрнэт або паспрабуйце пазней."
+msgstr "Сервер абнаўленняў не знойдзены.\n\nПраверце ваша Інтэрнэт-злучэнне і паспрабуйце зноў."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3282,15 +3282,15 @@ msgstr "&Закрыць"
msgctxt "IDS_OSD_ZOOM"
msgid "Zoom: %.0lf%%"
-msgstr ""
+msgstr "Маштаб: %.0lf%%"
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
-msgstr ""
+msgstr "Маштаб: Аўта"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
-msgstr "Карыстальніцкае размеркаванне каналаў Укл/Адкл"
+msgstr "Укл/Адкл карыстальніцкае размеркаванне каналаў"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
@@ -3302,7 +3302,7 @@ msgstr "Карыстальніцкае размеркаванне каналаў
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
-msgstr "Нармалізацыя Укл/Адкл"
+msgstr "Укл/Адкл нармалізацыю"
msgctxt "IDS_OSD_NORMALIZE_ON"
msgid "Normalization: On"
@@ -3314,7 +3314,7 @@ msgstr "Нармалізацыя: Адкл"
msgctxt "IDS_REGAIN_VOLUME"
msgid "Toggle regain volume"
-msgstr "Аднаўляць гучнасць Укл/Адкл"
+msgstr "Укл/Адкл аднаўленне гучнасці"
msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
msgid "Regain volume: On"
@@ -3326,51 +3326,51 @@ msgstr "Аднаўляць гучнасць: Адкл"
msgctxt "IDS_SIZE_UNIT_BYTES"
msgid "bytes"
-msgstr ""
+msgstr "байт"
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
-msgstr ""
+msgstr "Кб"
msgctxt "IDS_SIZE_UNIT_M"
msgid "MB"
-msgstr ""
+msgstr "Мб"
msgctxt "IDS_SIZE_UNIT_G"
msgid "GB"
-msgstr ""
+msgstr "ГБ"
msgctxt "IDS_SPEED_UNIT_K"
msgid "KB/s"
-msgstr ""
+msgstr "Кб/с"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
-msgstr ""
+msgstr "Мб/с"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
-msgstr "Немагчыма стварыць т'юнер."
+msgstr "Не атрымалася стварыць цюнер."
msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
msgid "Could not create the receiver."
-msgstr "Немагчыма падлучыцца да рэсівера."
+msgstr "Не атрымалася стварыць прыёмнік."
msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
msgid "Could not connect the network and the tuner."
-msgstr "Немагчыма падлучыцца да сеткі і т'юнера."
+msgstr "Не атрымалася злучыць сетку і цюнер."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
msgid "Could not connect the tuner and the receiver."
-msgstr "Немагчыма падлучыцца да т'юнера і рэсівера."
+msgstr "Не атрымалася злучыць цюнер і прыёмнік."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
msgid "Could not connect the tuner."
-msgstr "Немагчыма падлучыцца да т'юнера."
+msgstr "Не атрымалася падлучыць цюнер."
msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
msgid "Could not create the demultiplexer."
-msgstr "Немагчыма стварыць дэмультыплексар."
+msgstr "Не атрымалася стварыць дэмультыплексар."
msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
msgid "Error parsing the entered time!"
@@ -3390,27 +3390,23 @@ msgstr "Пакадравы прагляд немагчымы, паспрабуй
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Функцыі 'Захаваць малюнак' і 'Захаваць мініяцюры' не працуюць са стандартным рэндэрам для RealMedia.\nАбярыце адзін з DirectX рэндэраў для QuickTime і пераадкрыйце файл."
+msgstr "Функцыі «Захаваць кадр» і «Захаваць мініяцюры» не працуюць са стандартным апрацоўшчыкам відэа для RealMedia.\nВыберыце адзін з апрацоўшчыкаў DirectX для RealMedia і адкрыйце файл зноў."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Функцыі 'Захаваць малюнак' і 'Захаваць мініяцюры' не працуюць са стандартным рэндэрам для QuickTime.\nАбярыце адзін з DirectX рэндэраў для QuickTime і пераадкрыйце файл."
+msgstr "Функцыі «Захаваць кадр» і «Захаваць мініяцюры» не працуюць са стандартным апрацоўшчыкам відэа для QuickTime.\nВыберыце адзін з апрацоўшчыкаў DirectX для QuickTime і адкрыйце файл зноў."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
-msgstr "Функцыі 'Захаваць малюнак' і 'Захаваць мініяцюры' не працуюць Shockwave файлаў."
+msgstr "Функцыі «Захаваць кадр» і «Захаваць мініяцюры» не працуюць з файламі Shockwave."
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Функцыі 'Захаваць малюнак' і 'Захаваць мініяцюры' не працуюць з рендэрам Overlay Mixer.\nЗмяніце відэарэндэр і зноў адкрыйце файл."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Немагчыма падлучыцца да анлайн базы субтытраў."
+msgstr "Функцыі «Захаваць кадр» і «Захаваць мініяцюры» не працуюць з апрацоўшчыкам відэа Overlay Mixer.\nЗмяніце апрацоўшчык відэа і адкрыйце файл зноў."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "Хочаце актывіраваць рэдактар EDL?"
+msgstr "Актываваць рэдактар EDL?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
@@ -3422,7 +3418,7 @@ msgstr "відэа"
msgctxt "IDS_CAPTURE_ERROR_AUDIO"
msgid "audio"
-msgstr "аўдыё"
+msgstr "аўдыя"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
@@ -3434,11 +3430,11 @@ msgstr "Немагчыма падлучыць буферны фільтр %s д
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr "Немагчыма дадаць фільтр-энкодер %s да графа."
+msgstr "Немагчыма дадаць фільтр-энкодар %s да графа."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr "Немагчыма падлучыць фільтр-энкодер %s да графа."
+msgstr "Немагчыма падлучыць фільтр-энкодар %s да графа."
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
@@ -3446,7 +3442,7 @@ msgstr "Не атрымоўваецца ўсталяваць фармат сці
msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
msgid "Can't connect the %s stream to the multiplexer filter."
-msgstr "Немагчыма падлучыць струмень %s фільтру-мультыплексару."
+msgstr "Немагчыма падлучыць паток %s фільтру-мультыплексару."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
@@ -3454,7 +3450,7 @@ msgstr "Не знойдзены пін для відэа захопу."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "Не знойдзены пін для аўдыё захопу."
+msgstr "Не знойдзены пін для аўдыязахопу."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
@@ -3462,11 +3458,11 @@ msgstr "Памылка ініцыялізацыі выходнага файла.
msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
msgid "Error initializing the audio output file."
-msgstr "Памылка ініцыялізацыі выходнага аўдыёфайла."
+msgstr "Памылка ініцыялізацыі выходнага аўдыяфайла."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr "Правільны фармат часу [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
+msgstr "Правільны фармат часу [-]гг:хв:сс.мс (напр. 01:23:45.678)."
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
@@ -3474,43 +3470,43 @@ msgstr "Гэты тып ужо ёсць у спісе!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr "Вы павінны ужыць налады перад іхняй праверкай."
+msgstr "Каб праверыць новыя налады, вы павінны іх ужыць."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
-msgstr "Пасля прайгрвання: Выйсці"
+msgstr "Па сканчэнні прайгравання: выйсці"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Пасля прайгрвання: Перайсці ў рэжым чакання"
+msgstr "Па сканчэнні прайгравання: перайсці ў рэжым чакання"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
-msgstr "Пасля прайгрвання: Перайсці ў рэжым сну"
+msgstr "Па сканчэнні прайгравання: перайсці ў рэжым сну"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr "Пасля прайгрвання: Выключыць"
+msgstr "Па сканчэнні прайгравання: выключыць камп'ютар"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
-msgstr "Пасля прайгрвання: Завяршыць сеанс"
+msgstr "Па сканчэнні прайгравання: завяршыць сеанс"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr "Пасля прайгрвання: Блакаваць"
+msgstr "Па сканчэнні прайгравання: заблакаваць камп'ютар"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr ""
+msgstr "Па сканчэнні прайгравання: выключыць манітор"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
-msgstr ""
+msgstr "Па сканчэнні прайгравання: прайграць наступны файл ў папцы"
msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
msgid "After Playback: Do nothing"
-msgstr ""
+msgstr "Па сканчэнні прайгравання: нічога не рабіць"
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
@@ -3538,65 +3534,433 @@ msgstr "Кіраванне колерам не падтрымліваецца"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
-msgstr "Яркасць павялічыць"
+msgstr "Павялічыць яркасць"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr ""
+msgstr "Увядзіце сюды пажаданыя мовы.\nНапрыклад: «bel eng rus»"
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr ""
+msgstr "Знешнія сплітары могуць мець уласныя моўныя налады, таму пераважныя мовы з MPC-HC для іх не будуць ужыты.\nУключыце гэты параметр, калі вы хочаце, каб MPC-HC мог кіраваць знешнімі сплітарамі."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
-msgstr ""
+msgstr "&Плэйлісты Blu-ray "
msgctxt "IDS_NAVIGATE_PLAYLIST"
msgid "&Playlist"
-msgstr ""
+msgstr "&Спіс прайгравання"
msgctxt "IDS_NAVIGATE_CHAPTERS"
msgid "&Chapters"
-msgstr ""
+msgstr "С&цэны"
msgctxt "IDS_NAVIGATE_TITLES"
msgid "&Titles"
-msgstr ""
+msgstr "&Назвы"
msgctxt "IDS_NAVIGATE_CHANNELS"
msgid "&Channels"
-msgstr ""
+msgstr "&Каналы"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr ""
+msgstr "Калі выбрана «Апошні ключавы кадр», праграма пераходзіць да найбліжэйшага ключавога кадра перад пунктам пошуку, калі «Бліжэйшы ключавы кадр» - перад пунктам пошуку або пасля яго."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr ""
+msgstr "Асацыяваць з усімі фарматамі"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr ""
+msgstr "Асацыяваць толькі з відэафарматамі"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr ""
+msgstr "Асацыяваць толькі з аўдыяфарматамі"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr ""
+msgstr "Сцерці ўсе асацыяцыі"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
-msgstr ""
+msgstr "Налады"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
-msgstr ""
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Пастаўшчык"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Для глухіх"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Спамповак"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Лік"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Збой пошука субцітраў."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Пошук субцітраў у Інтэрнэце спынены."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Пошук завершаны, знойдзена субцітраў: %d"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Пошук завершаны, субцітраў не знойдзена."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Спампаваць субцітры"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Ідзе пошук субцітраў у Інтэрнэце..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Спыненне пошуку субцітраў у Інтэрнэце..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Імя карыстальніка"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Стан"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Гатовы"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Не выконваецца."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Запампоўка..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Субцітры запампаваныя."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Збой запампавання субцітраў."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Запампаванне субцітраў спынена."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Такія субцітры ўжо ёсць."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Ідзе запампаванне субцітраў..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Запампаванне завершана."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Запампаванне спынена."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Збой запампавання."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Спампаваць і адкрыць"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Наладзіць"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Скінуць"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Вышэй"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Ніжэй"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Адкрыць спасылку"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Мовы"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "Памылка. Не атрымалася злучыцца з Інтэрнэтам."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Увядзіце ўліковыя дадзеныя для сайта "
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Увядзіце свае ўліковыя дадзеныя для сайта "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Прапорцыі: Дапускаць квадратныя пікселі (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Спампаваны [%s] «%s»"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Запампаваць субцітры"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Сапраўды запампаваць файл субцітраў «%s»?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Запыт даступных моў"
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Не атрымалася ўвасці ў \"%S\" пад уліковым запісам \"%S\".\n\nУвядзіце правільна імя карыстальніка і пароль або скіньце ўліковыя дадзеныя, каб увайсці ананімна."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Аўтаматычны пошук і спампоўванне будуць адключаныя для ўсіх медыя-файлаў, чый шлях ўтрымлівае ўведзеныя шаблоны.\nУзор: \"прыватная папка\\відэа|праца\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"шлях\"\tФайл або каталог для загрузкі\n\t\t(дазволены маскі, \"-\" азначае стандартны)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tЗагрузiць дадатковы гукавы файл"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tЗагрузiць дадатковы гукавы файл са зрушэннем XXмс\n\t\t(калі файл утрымлівае ў назве \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tЗапуск у поўнаэкранным D3D-рэжыме"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tЗагрузiць дадатковыя субцітры"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tЗагрузiць фільтры DirectShow з бібліятэкі (дазволены маскі)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tЗапуск у рэжыме DVD, \"шлях\" азначае каталог з DVD (неабавязковы)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tПрайграць загаловак T, са сцэны C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tПрайграць загаловак T, сцэну C, з пазіцыі P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tЗагрузіць усе дарожкі Audio CD або (S)VCD,\n\t\t\"шлях\" азначае шлях да дыска (неабавязкавы)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tАдкрыць відэапрыладу па змаўчанні"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tТолькі адкрыць файл, не пачынаць прайграванне"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tПачынаць прайграванне адразу пасля запуску"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tЗакрыць па сканчэнні прайгравання (працуе толькі з ключом /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tВыключыць камп'ютар па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tПерайсці ў рэжым чакання па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tПерайсці ў рэжым сну па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tЗавяршыць сеанс па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tЗаблакаваць камп'ютар па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tВыключыць манітор па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tПрайграць наступны файл ў папцы па сканчэнні прайгравання"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tЗапуск у поўнаэкранным рэжыме"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tЗапуск у згорнутым выглядзе"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tВыкарыстаць новае акно прайгравальніка"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tДадаць \"шлях\" у спіс прайгравання, можна сумяшчаць з /open і /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tВыпадковы парадак прайгравання"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tСтварыць асацыяцыі файлаў для відэафарматаў"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tСтварыць асацыяцыі файлаў для аўдыяфарматаў"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tСтварыць асацыяцыі файлаў для плэйлістоў"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tСтварыць асацыяцыі файлаў для ўсіх падтрымліваемых фарматаў"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tСцерці ўсе створаныя асацыяцыі файлаў"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tПрайграваць з пазіцыі \"ms\" (= мілісекунды)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos\tПрайграваць з пазіцыі hh:mm:ss (дзе h — гадзіна, m — хвіліна, s — секунда)"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tУстанавіць фіксаваны памер акна (w - шырыня,h- вышыня)"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tЗапуск на маніторы N, дзе N адлічваецца з 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tВыкарыстаць аўдыярэндар N, дзе N адлічваецца з 1 (глядзіце налады \"Вывад\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Назва\"\tЗапуск з вызначанымі наладамі шэйдараў"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"назва\"\tPan&Scan — назва перадусталёўкі памеру і становішча"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tПаўторнае асацыяванне значкоў для файлаў"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tАдкрыць MPC-HC у фонавым рэжыме"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tЗапуск вэб-інтэрфейсу праз порт N"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tПаказваць у OSD адладачныя звесткі"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tАдключыць справаздачы пра збоі"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tЗапуск MPC-HC у вядомым рэжыме"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tЗадаць нумар графічнага працэсара для апаратнага дэкадавання.\n\t\tДаступна толькі для CUVID і DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tАднавіць налады па змаўчанні"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tПаказвае гэтую даведку"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Мінімальнае значэнне рэйтынгу субцітраў для аўтаматычнага спампоўвання. Вышэйшае значэнне вядзе да спампоўвання больш дакладных субцітраў, ніжэйшае — таксама і недакладных. Універсальнага значэння не існуе, выберыце тое, якое больш падыходзіць для вас."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Аўтазатрымка (мс)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Памер ў пікселях па змаўчанні для панэлі навігацыі."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Выкарыстанне старой панэлі навігацыі, замест новай — вектарнай."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
index 08717fb7b..64cda947f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Mehzad Galib, 2014
# Mehedi Hussain, 2014
-# Mehedi Hussain, 2014
+# Mehzad Galib, 2015
# mehzad, 2014
+# Mehzad Galib, 2016
# Tapu Afrad (তপু আফ্রাদ) <tapu_afrad@hotmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-06 16:46+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Bengali (http://www.transifex.com/mpc-hc/mpc-hc/language/bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -192,8 +194,8 @@ msgid "About"
msgstr "MPC-HC বিষয়ক"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "কপিরাইট © ২০০২-২০১৫ বিস্তারিত দেখুন Authors.txtএ"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "কপিরাইট © ২০০২-২০১৭ বিস্তারিত দেখুন Authors.txtএ"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -424,12 +426,16 @@ msgid "time(s)"
msgstr "বার"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "পুনরাবৃত্তির ধরন:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "প্লেব্যাকের পরে"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "আউটপুট"
+msgid "Default zoom"
+msgstr "ডিফল্ট জূম"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -568,7 +574,7 @@ msgid "Warning"
msgstr "সতর্কীকরণ"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "আপনার ভিডিওকার্ডের সেটিংসমূহের কোথাও যদি সম্পূর্ণ-স্ক্রীন জুড়ে অ্যান্টিএলিয়েসিং- ওভাররাইড করণ এবং সক্রিয় থাকে, তবে সাবটাইটেল অপেক্ষাকৃত ভাল তো দেখাবেই না বরং সেটা আপনার CPUর কর্মদক্ষতা হ্রাস করবে।"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -669,7 +675,7 @@ msgstr "সীক বারে পরিচ্ছেদ নির্দেশক
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "\"এখন প্লে হচ্ছে\" সম্পর্কে তথ্যাদি স্কাইপের মুড ম্যাসেজে প্রদর্শন"
+msgstr "\"এখন প্লে হচ্ছে\" সম্পর্কে তথ্যাদি স্কাইপের মোড ম্যাসেজে প্রদর্শন"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
@@ -677,7 +683,7 @@ msgstr "ডিফল্ট নয় এমন মনিটরে ফুলস্
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "টাস্কবারের বিভিন্ন বৈশিষ্ট্যসমূহ বিস্তৃতভাবে প্রয়োগ"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -697,7 +703,7 @@ msgstr "Logitech LCD সমর্থন সক্রিয়করণ (পরী
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr "উইন্ডো'ড মুডে প্লেব্যাকের সময় স্বয়ংক্রিয়ভাবে মাউস পয়েন্টার লুকিয়ে যাওয়া"
+msgstr "উইন্ডো'ড মোডে প্লেব্যাকের সময় স্বয়ংক্রিয়ভাবে মাউস পয়েন্টার লুকিয়ে যাওয়া"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -1124,8 +1130,8 @@ msgid "Audio Renderer"
msgstr "অডিও রেনডারার"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) এবং EVR (CP)এর সেটিংসমূহ"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) এবং EVR (CP)এর সেটিংসমূহ"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1153,7 +1159,7 @@ msgstr "বিকল্প VSync"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
-msgstr "VMR-9 মিক্সার মুড"
+msgstr "VMR-9 মিক্সার মোড"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
@@ -1169,7 +1175,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "সাবটাইটেল"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1185,7 +1191,11 @@ msgstr "ঘূর্ণন"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "সাবটাইটেল রেনডারার"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "সংকলিত শেইডারসমূহ ক্যাশ করণ"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1205,7 +1215,7 @@ msgstr "শুধুমাত্র স্থানীয়হোস্ট থে
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "প্রাকদর্শন সক্রিয়করণ"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1232,17 +1242,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI নিয়ন্ত্রকসমূহ: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "অনলাইনে পাওয়া সাবটাইটেলসমূহ"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "ডাউনলোড ও চালনা করি"
+msgid "Download subtitles"
+msgstr "সাবটাইটেল ডাউনলোড করি"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "এই মুহূর্তে লোডকৃত সাবটাইটেলের সাথে প্রতিস্থাপন"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "ডাউনলোড"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "পুনঃবিন্যস্ত করি"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "রহিত করি"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "অপশনসমূহ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "সাবটাইটেল আপলোড করি"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "আপলোড করি"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "রহিত করি"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "অপশনসমূহ"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "সেইভ করতে পারি..."
@@ -1481,7 +1519,7 @@ msgstr "ফুলস্ক্রীনের মনিটর"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "ফুলস্ক্রীন মনিটরের মুড স্বয়ংক্রিয়ভাবে-পরিবর্তন ব্যবহার"
+msgstr "ফুলস্ক্রীন মনিটরের মোড স্বয়ংক্রিয়ভাবে-পরিবর্তন ব্যবহার"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1501,7 +1539,7 @@ msgstr "নিচে নামাই"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
-msgstr "ফুলস্ক্রীন থেকে প্রস্থানে ডিফল্ট মনিটর মুড প্রয়োগ করণ"
+msgstr "ফুলস্ক্রীন থেকে প্রস্থানে ডিফল্ট মনিটর মোড প্রয়োগ করণ"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
msgid "Restore resolution on program exit"
@@ -1544,16 +1582,28 @@ msgid "Reset"
msgstr "পুনর্বিন্যাস করি"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "অনলাইন ডেটাবেস"
+msgid "Online search, download and upload subtitles"
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান, ডাউনলোড এবং আপলোড করতে"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "স্থানীয় ডাইরেক্টরি সমূহতে পাওয়া না গেলে, স্বয়ংক্রিয়ভাবে সাবটাইটেল অনুসন্ধান এবং ডাউনলোড করণ"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "শ্রবণ প্রতিবন্ধীদের জন্য সাবটাইটেল সমূহকে প্রাধান্য (সাবটাইটেল সরবরাহকারী দ্বারা নির্দেশিত করা হলে)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "নিম্নোক্ত শব্দ(সমূহ) ধারণকারী ফাইলসমূহকে উপেক্ষা করি:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "অনলাইন সাবটাইটেল ডেটাবেসের জন্য মূল URL:"
+msgid "Languages in order of preference:"
+msgstr "পছন্দনীয় ভাষাসমূহের অগ্রাধিকার ক্রম (উদাহরণ- \"eng ell spa\"):"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "পরীক্ষা করি"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "ভিডিওর প্লেব্যাকের শেষে স্বয়ংক্রিয়ভাবে সক্রিয় সাবটাইটেলটিকে আপলোড করি"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1657,47 +1707,47 @@ msgstr "ডিফল্ট"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "ডিভাইস"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "স্বতন্ত্র মোড"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "বিটস্ট্রিমিং অনুমোদন করি"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "অপশনসমূহ"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "স্টেরিও ক্রসফিড সক্রিয় করি (হেডফোনের জন্য)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "বিছিন্ন-করণ হার:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "মান:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "দ্রষ্টব্য"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "অডিও বিকৃতি রোধ করার জন্য, লসি-এনকোডেড অডিও জোরে প্লে করার সময় প্লেয়ারের ভলিউম ৮৫% এর আশে-পাশে রাখার জন্য পরামর্শ দেওয়া যাচ্ছে।"
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1717,15 +1767,15 @@ msgstr "আকস্মিক বন্ধ হওয়ার প্রতিবে
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "আমরা অত্যন্ত দুঃখিত, মনে হচ্ছে MPC-HC এইমাত্র চালনা বন্ধ হয়ে গিয়েছিল। :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "এই যান্ত্রিক-ত্রুটিটি নির্ণয় এবং সমাধানে আমাদেরকে সাহায্য করতে একটি প্রতিবেদন পেশ করুন।"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "অতিরিক্ত তথ্যাদি"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
@@ -1741,9 +1791,9 @@ msgstr "সমস্যার বৃত্তান্ত (শুধুমাত
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "MPC-HC বন্ধ করে পুনরায় চালনা করি"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "MPC-HC বন্ধ করি"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
index 0618b6c86..57278d5a2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# mehzad, 2014
+# Mehzad Galib, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-04 20:34+0000\n"
-"Last-Translator: Mehedi Hussain\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-16 22:37+0000\n"
+"Last-Translator: Mehzad Galib\n"
"Language-Team: Bengali (http://www.transifex.com/mpc-hc/mpc-hc/language/bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -64,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "থাম্ব্‌নেইলসমূহ সেইভ করি... (&T)"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "সাবটাইটেল"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "সাবটাইটেল লোড করি... (&L)"
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "সাবটাইটেল সেইভ করি... (&U)"
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "সাবটাইটেল ডেটাবেস (&B)"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "অনুসন্ধান করি... (&S)"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "সাবটাইটেল ডাউনলোড করি... (&D)"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "আপলোড করি... (&U)"
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "ডাউনলোড করি... (&D)"
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "সাবটাইটেল আপলোড করি... (&U)"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -226,7 +223,7 @@ msgstr "উপস্থাপনা (&P)"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "D3D ফুলস্ক্রীন মুড (&M)"
+msgstr "D3D ফুলস্ক্রীন মোড (&M)"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
@@ -408,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "উইন্ডোর বাইরে বিস্তারণ (&O)"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "অ্যাসপেক্ট রেশিও রক্ষাকরণ (&K)"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "অ্যাসপেক্ট রেশিও ওভাররাইড করণ (&A)"
+msgid "&Aspect Ratio"
+msgstr "অ্যাসপেক্ট রেশিও (&A)"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "ডিফল্ট (&D)"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "ডিফল্ট (DAR) (&D)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "বর্গাকার পিক্সেল (SAR) অনুমান করণ (&S)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "মনিটর/ডেস্কটপ AR বৈসাদৃশ্য ঠিককরণ (&C)"
@@ -533,9 +530,25 @@ msgid "&Stop"
msgstr "বন্ধ করি (&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "ফ্রেমের পদক্ষেপ (&R)"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "পুনরাবৃত্তি (&R)"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "অনন্তকাল ধরে (&O)"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "ফাইল (&F)"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "প্লেলিস্ট (&P)"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "গতি হ্রাস করি (&D)"
@@ -565,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "সাবটাইটেল ট্র্যাক (&B)"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "ভিডিও ট্র্যাক (&V)"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
index f0d14dade..348eaa461 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Mehzad Galib, 2014
# Mehedi Hussain, 2014
-# Mehedi Hussain, 2014
-# Mehedi Hussain, 2015
+# Mehzad Galib, 2015
# mehzad, 2014
+# Mehzad Galib, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-10 11:01+0000\n"
-"Last-Translator: Mehedi Hussain\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Bengali (http://www.transifex.com/mpc-hc/mpc-hc/language/bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "প্রোপার্টিস"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "ফাইল"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "ডিফল্ট ধরন(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "প্লেলিস্ট"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "ফাইলসমূহ"
@@ -119,6 +128,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "যদি রেনডার করার জন্য কোন নির্দিষ্ট ধরন নির্ধারণ করা না থাকে, তাহলে SSA/ASS সাবটাইটেলসমূহ ভিডিও ফ্রেমের সাপেক্ষে রেনডার করা হবে, যখন অন্যান্য সকল টেক্সট্‌ সাবটাইটেল উইন্ডো-এর সাপেক্ষে রেনডার করা হবে।"
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "পুনরাবৃত্তির ধরন: প্লেলিস্ট"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "পুনরাবৃত্তির ধরন: ফাইল"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "অনন্তকাল ধরে পুনরাবৃত্তি: চালু করি"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "অনন্তকাল ধরে পুনরাবৃত্তি: বন্ধ করি"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "অনন্তকাল ধরে পুনরাবৃত্তি"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "কখনোই না (সবচেয়ে দ্রুত পদ্ধতি)"
@@ -337,7 +366,7 @@ msgstr "FPSএর দিকে"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
-msgstr "ডিসপ্লে মুড (Hz)"
+msgstr "ডিসপ্লে মোড (Hz)"
msgctxt "IDS_PPAGE_FS_DEFAULT"
msgid "Default"
@@ -519,18 +548,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -583,10 +604,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "প্লেয়ার::ওয়েব ইন্টারফেস"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "সাবটাইটেল::ডেটাবেস"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "বিস্তারিত"
@@ -601,23 +618,15 @@ msgstr "DirectShowর জন্য ডিফল্ট রেনডারার
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "এটা Windows 9x/me/2kএর ডিফল্ট রেনডারার। ভিডিও উইন্ডোর দৃষ্টিগ্রাহ্যতা আর আপনার ভিডিও কার্ডের ক্ষমতার উপর নির্ভর করে, এটা GDI, DirectDraw, Overlay রেনডারিং মুডসমূহে স্বয়ংক্রিয়ভাবে পরিবর্তন করবে।"
+msgstr "এটা Windows 9x/me/2kএর ডিফল্ট রেনডারার। ভিডিও উইন্ডোর দৃষ্টিগ্রাহ্যতা আর আপনার ভিডিও কার্ডের ক্ষমতার উপর নির্ভর করে, এটা GDI, DirectDraw, Overlay রেনডারিং মোডসমূহে স্বয়ংক্রিয়ভাবে পরিবর্তন করবে।"
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "সর্বদা overlayএ রেনডার করে। সাধারণত শুধু YUV ফরম্যাট গ্রহণযোগ্য, কিন্তু সেগুলো RGBতে কোন রঙের রূপান্তরণ ছাড়াই সরাসরি উপস্থাপন করে। এটা সবগুলো রেনডারিং পদ্ধতির মধ্যে সবচেয়ে দ্রুত এবং শুধুমাত্র এটাতেই আপনি tv-outএ ফুলস্ক্রীন ভিডিও মিররিং সক্রিয়করণ নিশ্চিতভাবেই করতে পারবেন।"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XPএর ডিফল্ট রেনডারার। খুবই সুস্থিত এবং Overlay mixer থেকে কিছুটা ধীরগতিসম্পন্ন। DirectDraw ব্যবহার করে আর যখন পারে Overlayএ চালনা করে।"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "DirectX 9 ইনস্টল করা থাকলেই শুধুমাত্র ব্যবহার করা যাবে। VMR-7 (windowed)এর মত একই সক্ষমতা রয়েছে, কিন্তু এটা কখনোই Overlay রেনডারিং ব্যবহার করবে না আর সেজন্যই এটা VMR-7 (windowed) থেকে কিছুটা ধীরগতিসম্পন্ন।"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "VMR-7 (windowed)এর মত একই রকমের, তবে সাথে সাবটাইটেল প্রদর্শনে MPC-HCএর অ্যালোকেটর-প্রেজেন্টার প্লাগইন ব্যবহার করা হবে। Overlay ভিডিও মিররিং কাজ করবে না। ডেস্কটপ কালার স্পেসের জন্য \"True Color\" নির্ধারণে পরামর্শ দেওয়া যাচ্ছে।"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "DirectX 9 ইনস্টল করা থাকলেই শুধুমাত্র ব্যবহার করা যাবে। খুবই সুস্থিত কিন্তু এটা কখনোই Overlay রেনডারিং ব্যবহার করবে না আর সেজন্যই এটা Overlay mixer থেকে কিছুটা ধীরগতিসম্পন্ন।"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -655,10 +664,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Realএর নিজস্ব রেনডারার। SMIL স্ক্রিপ্টসমুহ কাজ করবে, তবে পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সম্ভাবনা নেই। DirectDraw ব্যবহার করে আর যখন পারে Overlayএ চালনা করে।"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Realএর ইঞ্জিন থেকে প্রাপ্ত আউটপুট DX7এর উপর ভিত্তি করা VMR-7 (renderless)এর অ্যালোকেটর-প্রেজেন্টার দ্বারা রেনডার করা হয়।"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Realএর ইঞ্জিন থেকে প্রাপ্ত আউটপুট DX9এর উপর ভিত্তি করা VMR-9 (renderless)এর অ্যালোকেটর-প্রেজেন্টার দ্বারা রেনডার করা হয়।"
@@ -667,10 +672,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTimeএর নিজস্ব রেনডারার। কিছুটা ধীরগতিতে কাজ করে যখন ভিডিওর সাইজপরিবর্তন করা হয় বা ভিডিও ক্ষেত্র আংশিকভাবে অন্য উইন্ডো দ্বারা ঢেকে যায়। এটা যখন Overlay ব্যবহার করতে পারে না তখন GDIএ ফিরে আসতে পছন্দ করে।"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTimeএর ইঞ্জিন থেকে প্রাপ্ত আউটপুট DX7এর উপর ভিত্তি করা VMR-7 (renderless)এর অ্যালোকেটর-প্রেজেন্টার দ্বারা রেনডার করা হয়।"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTimeএর ইঞ্জিন থেকে প্রাপ্ত আউটপুট DX9এর উপর ভিত্তি করা VMR-9 (renderless)এর অ্যালোকেটর-প্রেজেন্টার দ্বারা রেনডার করা হয়।"
@@ -751,9 +752,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "কোন সংযুক্তি উৎস ব্রাউজারে দেখার জন্য ওয়েব ইন্টারফেস সক্রিয় করতে হবে।\n\nযদি শুধুমাত্র তথ্যাদি সেইভ করতে চান তবে \"সেইভ করতে পারি\" বাটনটি ব্যবহার করুন।"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "সাবটাইটেল ডাউনলোড করি"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "সাবটাইটেল ডাউনলোড করি..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "সাবটাইটেল আপলোড করি..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -797,7 +802,7 @@ msgstr "যদি পিক্সেল শেইডার 2.0 সমর্থ
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "VMR-9 (renderless)কে মিক্সার মুডে নিয়ে যায়, এর মানে হল এটার প্রোপার্টি পেইজের বেশিরভাগ কন্ট্রোলসমূহই কাজ করবে এবং এটা ফ্রেমসমূহ রেনডার করার জন্য একটি আলাদা ওয়ার্কার থ্রেড ব্যবহার করবে।"
+msgstr "VMR-9 (renderless)কে মিক্সার মোডে নিয়ে যায়, এর মানে হল এটার প্রোপার্টি পেইজের বেশিরভাগ কন্ট্রোলসমূহই কাজ করবে এবং এটা ফ্রেমসমূহ রেনডার করার জন্য একটি আলাদা ওয়ার্কার থ্রেড ব্যবহার করবে।"
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -811,6 +816,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "D3Dএ নির্মাণকৃত ডিফল্ট VSyncকে বাইপাস করে স্ক্রীন ছিঁড়ে যাওয়া হ্রাস করে।"
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "টিউনার স্ক্যানকরণ"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "সাবটাইটেল লোড করা হয়নি অথবা সমর্থন করে না এমন রেনডারার।"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "লোড হওয়ার সময় দ্রুত করার জন্যে সংকলিত শেইডারসমূহ স্থানীয় AppDataতে সংরক্ষণ।"
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "VTS_xx_x.vob ফাইলসমূহ সম্পূর্ণরূপে লোড করার জন্যে VTS_xx_0.ifo ফাইলসমূহ চালনা করে"
@@ -948,11 +965,11 @@ msgid "&Organize Favorites..."
msgstr "পছন্দেরতালিকা বিন্যস্ত করি...(&O)"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "এলোমেলো করি"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "ফাইলটির অবস্থানে যাই"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1036,7 +1053,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f এ জূম করি"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "ফুলস্ক্রীনে লুকিয়ে যাওয়া সক্রিয়করণ"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1224,7 +1241,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "ধারণকারী ফোল্ডার যোগ করি"
msgctxt "IDS_HW_INDICATOR"
@@ -1261,7 +1278,7 @@ msgstr "শিক্ষা/বিজ্ঞান/বাস্তববাদী
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr "উইন্ডো'ড মুডেও কন্ট্রোল এবং প্যানেলসমূহ লুকিয়ে যাওয়া সক্রিয়করণ।"
+msgstr "উইন্ডো'ড মোডেও কন্ট্রোল এবং প্যানেলসমূহ লুকিয়ে যাওয়া সক্রিয়করণ।"
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
@@ -1321,7 +1338,7 @@ msgstr "বৈশিষ্ট্যগুণ (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "শুধুমাত্র অডিও মুডে লোডকৃত কভার-আর্টের সর্বোচ্চ সাইজ (NxNপিক্সেল)"
+msgstr "শুধুমাত্র অডিও মোডে লোডকৃত কভার-আর্টের সর্বোচ্চ সাইজ (NxNপিক্সেল)"
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
@@ -1401,11 +1418,11 @@ msgstr "এই মুহূর্তে প্রাকদর্শন নিষ
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "এই অপশনটির মাধ্যমে বহিরাবস্থান থেকে মিডিয়া ফাইল প্রাকদর্শন করা যাবে। শুধুমাত্র একটি নিরাপদ ব্যক্তিগত নেটওয়ার্কের ক্ষেত্রেই এটি ব্যবহার করুন।\n\nআপনি কি নিশ্চিত যে এই অপশনটি সক্রিয় করতে চান?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "আভ্যন্তরীণ সাবটাইটেল রেনডারার"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1427,13 +1444,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "ছবি সফলভাবে সেইভ হয়েছে"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "সাবটাইটেল লোড করি"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "সাবটাইটেল লোড করি..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "সাবটাইটেল সেইভ করি"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "সাবটাইটেল সেইভ করি..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1560,7 +1577,7 @@ msgid "Thumbnails saved successfully"
msgstr "থাম্ব্‌নেইলসমূহ সফলভাবে সেইভ হয়েছে"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "ভিডিও ট্র্যাক(&V)"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1796,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "প্যানঅ্যান্ডস্ক্যান উচ্চতা হ্রাস করি"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "সাবটাইটেল(সমূহ) ডাউনলোড হচ্ছে, অনুগ্রহপূর্বক অপেক্ষা করুন।"
+msgid "Downloading [%s] \"%s\""
+msgstr "ডাউনলোড করা হচ্ছে [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2059,11 +2076,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "এনক্রিপ্টকৃত"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "হ্যাঁ"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "না"
@@ -2189,7 +2206,7 @@ msgstr "DVD: অসঙ্গতিপূর্ণ ডিস্ক এবং ড
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "এই অপশনটি স্ক্রীন ছিঁড়ে যাওয়া এড়ানোর জন্যই তৈরি করা হয়েছে। তবে, এটা MPC-HCকে প্লেব্যাকের সময় কন্টেক্সট্‌ মেন্যু এবং যেকোনো ডায়লগ বক্স প্রদর্শন করা থেকেও বিরত রাখে।\n\nআপনি কি সত্যিই এই অপশনটি সক্রিয় করতে চান?"
+msgstr "এই অপশনটি স্ক্রীন ছিঁড়ে যাওয়া এড়ানোর জন্যই তৈরি করা হয়েছে। তবে, এটা MPC-HCকে প্লেব্যাকের সময় কন্টেক্সট্‌ মেন্যু এবং যেকোনো ডায়লগ বক্স প্রদর্শন করা থেকেও বিরত রাখে।\n\nআপনি কি নিশ্চিত যে এই অপশনটি সক্রিয় করতে চান?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2215,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "ছবির প্রস্থ"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URLটি সঠিক বলেই মনে হচ্ছে!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "প্রোটোকল সংস্করণসমূহ মিলে নাই, অনুগ্রহপূর্বক আপনার প্লেয়ারটি হালনাগাদ করুন কিংবা ভিন্ন ঠিকানা নির্ধারণ করুন।"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "অ্যাসপেক্ট রেশিও"
@@ -2316,8 +2325,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "থাম্ব্‌নেইলসমূহ আকারে খুব ছোট হবে, ফাইলটি তৈরি করা যাচ্ছে না।\n\nথাম্ব্‌নেইলসমূহের সংখ্যা কমিয়ে অথবা সম্পূর্ণ সাইজটি বাড়িয়ে চেষ্টা করুন।"
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "সাবটাইটেল লোড করার জন্য আপনাকে ভিডিও রেনডারার ধরন পরিবর্তন করতে হবে এবং পুনরায় ফাইলটি চালনা করতে হবে।\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR অথবা Haali\n- RealMedia: RealMediaর জন্য বিশেষ রেনডারার, অথবা DirectShow দিয়ে চালনা করুন\n- QuickTime: QuickTimeএর জন্য DX7 অথবা DX9 রেনডারার\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "সাবটাইটেল লোড করার জন্য আপনাকে ভিডিও রেনডারার ধরন পরিবর্তন করতে হবে এবং পুনরায় ফাইলটি চালনা করতে হবে।\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR অথবা Haali\n- RealMedia: RealMediaর জন্য বিশেষ রেনডারার, অথবা DirectShow দিয়ে চালনা করুন\n- QuickTime: QuickTimeএর জন্য DX7 অথবা DX9 রেনডারার\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2328,8 +2337,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "অ্যাসপেক্ট রেশিও: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "অ্যাসপেক্ট রেশিও: ডিফল্ট"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "অ্যাসপেক্ট রেশিও: ডিফল্ট (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2367,10 +2376,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "ফাইলটি রেনডার করতে ব্যর্থ হয়েছে"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URLটি অকার্যকর, সেটাতে সাবটাইটেল ডেটাবেস খুঁজে পাওয়া যায় নি!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "পরিচ্ছেদ: "
@@ -2564,8 +2569,8 @@ msgid "Volume boost Max"
msgstr "ভলিউমের উন্নতিসাধন সর্বোচ্চ"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ব্যবহারবিধি: mpc-hc.exe \"pathname\" [নির্দেশনাসমূহ]\n\n\"pathname\"\\tযে মূল ফাইল বা ডিরেক্টরি লোড করা হবে (ওয়াইল্ডকার্ড ক্যারেক্টারসমূহ\n\\t\\tব্যবহার করা যাবে, সাধারণ ইনপুটটি \"-\" চিহ্ন দ্বারা সূচিত করুন)\n/dub \"dubname\"\\tঅতিরিক্ত অডিও ফাইল লোড করণ\n/dubdelay \"file\"\\tঅতিরিক্ত অডিও ফাইল XXms সময়ের স্থানান্তর করে লোড করণ\n\\t\\t(যদি ফাইলটিতে \"...DELAY XXms...\" থেকে থাকে)\n/d3dfs\\t\\tD3D ফুলস্ক্রীন মুডে রেনডার করা শুরু করণ\n/sub \"subname\"\\tঅতিরিক্ত সাবটাইটেল ফাইল লোড করণ\n/filter \"filtername\"\\tডাইনামিক লিঙ্ক লাইব্রেরি থেকে DirectShow ফিল্টারসমূহ লোড\n\\t\\tকরণ (ওয়াইল্ডকার্ড ক্যারেক্টারসমূহ ব্যবহার করা যাবে)\n/dvd\\t\\tDVD মুডে চালনা করণ, \"pathname\" হবে dvd ফোল্ডারটি (ঐচ্ছিক)\n/dvdpos T#C\\tটাইটেল T এর পরিচ্ছেদ C থেকে প্লেব্যাক শুরু করণ\n/dvdpos T#hh:mm\\tটাইটেল T এর অবস্থানকাল hh:mm:ss থেকে প্লেব্যাক শুরু করণ\n/cd\\t\\tcd বা (s)vcd এর সকল ট্র্যাকসমূহ লোড করণ, \"pathname\" হবে ড্রাইভের\n\\t\\tঠিকানাটি (ঐচ্ছিক)\n/device\\t\\tডিফল্ট ভিডিও ডিভাইসটি চালনা করণ\n/open\\t\\tফাইলটি চালনা করণ, স্বয়ংক্রিয়ভাবে প্লেব্যাক শুরু করবে না\n/play\\t\\tপ্লেয়ারটি চালনার সাথে সাথেই ফাইলটি প্লে করা শুরু করণ\n/close\\t\\tপ্লেব্যাক শেষে প্লেয়ারটি বন্ধ করণ (শুধুমাত্র কাজ করবে যখন /play\n\\t\\tনির্দেশনাটির সাথে ব্যবহার করা হবে)\n/shutdown\\tপ্লেব্যাক শেষে অপারেটিং সিস্টেমটি শাটডাউন করণ\n/standby\\t\\tপ্লেব্যাক শেষে অপারেটিং সিস্টেমটি স্লিপ করণ\n/hibernate\\tপ্লেব্যাক শেষে অপারেটিং সিস্টেমটি হাইবারনেট করণ\n/logoff\\t\\tপ্লেব্যাক শেষে অপারেটিং সিস্টেমটি লগ অফ করণ\n/lock\\t\\tপ্লেব্যাক শেষে কম্পিউটারটি লক করণ\n/monitoroff\\tপ্লেব্যাক শেষে মনিটর বন্ধ করণ\n/playnext\\t\\tপ্লেব্যাক শেষে ফোল্ডারের পরবর্তী ফাইলটি চালনা করণ\n/fullscreen\\tফুল-স্ক্রীন মুডে চালনা করণ\n/minimized\\tমিনিমাইজড্‌ মুডে চালনা করণ\n/new\\t\\tনতুন আরেকটি প্লেয়ার ব্যবহার\n/add\\t\\t\"pathname\" প্লেলিস্টে যোগ করণ, /open আর /play এর সাথে একত্রে\n\\t\\tব্যবহার করা যাবে\n/randomize\\tপ্লেলিস্টটি এলোমেলোভাবে সাজান\n/regvid\\t\\tভিডিও ফাইলসমূহের সাথে সম্পৃক্ততা স্থাপন\n/regaud\\t\\tঅডিও ফাইলসমূহের সাথে সম্পৃক্ততা স্থাপন\n/regpl\\t\\tপ্লেলিস্ট ফাইলসমূহের সাথে সম্পৃক্ততা স্থাপন\n/regall\\t\\tসমর্থন করে এমন সকল ফাইলসমূহের সাথে সম্পৃক্ততা স্থাপন\n/unregall\\t\\tসকল ফাইলসমূহের সাথে সম্পৃক্ততা অপসারণ\n/start ms\\t\\t\"ms\" (= মিলিসেকেন্ড) থেকে প্লে শুরু করণ\n/startpos hh:mm:ss\\thh:mm:ss অবস্থানকাল থেকে প্লে শুরু করণ\n/fixedsize w,h\\tউইন্ডোর সাইজ নির্দিষ্টকরণSet a fixed window size\n/monitor N\\tমনিটর Nএ প্লেয়ার চালনা করণ, যেখানে Nএর মান ১ থেকে শুরু হয়\n/audiorenderer N\\tঅডিও রেনডারার N ব্যবহার শুরু করণ, যেখানে Nএর মান ১\n\\t\\tথেকে শুরু হয় (বিস্তারিত দেখুন \"আউটপুট\" সেটিংসমূহে)\n/shaderpreset \"Pr\"\\t\"Pr\" শেইডার প্রিসেট ব্যবহার শুরু করণ\n/pns \"name\"\\tব্যবহার করার জন্যে প্যানঅ্যান্ডস্ক্যান প্রিসেটের নাম নির্দেশিত করণ\n/iconsassoc\\tফাইলের ধরনের আইকন সমূহ পুনরায় সম্পৃক্ত করণ\n/nofocus\\t\\tMPC-HCকে ব্যাকগ্রাউন্ডে চালনা করণ\n/webport N\\tনির্দেশিত পোর্টে ওয়েব ইন্টারফেস চালনা করণ\n/debug\\t\\tOSDতে ডিবাগ তথ্যাদি প্রদর্শন\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\\tMPC-HCকে স্লেইভ হিসেবে ব্যবহার\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\\t\\tডিফল্ট সেটিংসমূহে পূর্বাবস্থায় পরিবর্তন\n/help /h /?\\tকমান্ড লাইনের নির্দেশনাসমূহ সম্পর্কে সহায়িকা প্রদর্শন\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2651,14 +2656,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "সবগুলো ফিল্টার সক্রিয়করণ(&E)"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "টিউনার স্ক্যানকরণ"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "সাবটাইটেল লোড করা হয়নি অথবা সমর্থন করে না এমন রেনডারার।"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "এর প্রবর্তকটি অজ্ঞাত। যদি আপনি এই লোগোটি বানিয়ে থাকেন তবে আমাদের সাথে যোগাযোগ করুন।"
@@ -3407,10 +3404,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"ছবি সেইভ করি\" এবং \"থাম্ব্‌নেইলসমূহ সেইভ করি\" ফাংশনসমূহ Overlay Mixer ভিডিও রেনডারারের সাথে কাজ করে না।\nMPC-HCএর আউটপুট অপশনসমূহে ভিডিও রেনডারারটি পরিবর্তন করুন এবং পুনরায় ফাইলটি চালনা করুন।"
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "অনলাইন সাবটাইটেল ডেটাবেসের সাথে সংযুক্ত করা যাচ্ছে না।"
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "আপনি কি EDL এডিটরটি সক্রিয় করতে চান?"
@@ -3469,7 +3462,7 @@ msgstr "অডিও আউটপুট ফাইলটি ইনিশিয়া
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr "সঠিক সময়ের ফরম্যাটটি হচ্ছে [-]hh:mm:ss.ms (উদাহরণ: 01:23:45.678)।"
+msgstr "সঠিক সময়ের ফরম্যাটটি হচ্ছে [-]hh:mm:ss.ms (উদাহরণ- 01:23:45.678)।"
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
@@ -3597,9 +3590,377 @@ msgstr "সেটিংসমূহ"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "সরবরাহকারী"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "শ্রবণ প্রতিবন্ধী"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "ডাউনলোডসমূহ"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "মূল্যায়ন"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান ব্যর্থ হয়েছে।"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান রহিত করা হয়েছে।"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান সম্পন্ন হয়েছে, %dটি সাবটাইটেল পাওয়া গেছে।"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান সম্পন্ন হয়েছে, কোন সাবটাইটেল পাওয়া যায়নি।"
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "সাবটাইটেল ডাউনলোড করি"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান করা হচ্ছে, অনুগ্রহপূর্বক অপেক্ষা করুন..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "অনলাইনে সাবটাইটেল অনুসন্ধান রহিত করা হচ্ছে..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "ব্যবহারকারীর নাম"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "অবস্থিতি"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "প্রস্তুত হচ্ছে..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "বাস্তবায়ন করা যায়নি।"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "আপলোড করা হচ্ছে..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "সাবটাইটেলটি সফলভাবে আপলোড করা হয়েছে।"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "সাবটাইটেলটি আপলোড করা যায়নি।"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "সাবটাইটেলটি আপলোড করা রহিত করা হয়েছে।"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "সাবটাইটেলটি ইতিমধ্যেই বিদ্যমান রয়েছে।"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "সাবটাইটেলটি আপলোড হচ্ছে, অনুগ্রহপূর্বক অপেক্ষা করুন।"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "আপলোড করা সম্পন্ন হয়েছে।"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "আপলোড করা রহিত করা হয়েছে।"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "আপলোড করতে ব্যর্থ হয়েছে।"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "ডাউনলোড ও চালনা করি"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "সেটআপ"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "পুনর্বিন্যাস করি"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "উপরে উঠাই"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "নিচে নামাই"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "URL খুলি"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "ভাষাসমূহ"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "সমস্যা: ইন্টারনেট সংযোগ স্থাপন করা যাচ্ছে না।"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "ওয়েবসাইটের প্রামাণ্য বিবরণসমূহ প্রবেশ করুন"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "আপনার প্রামাণ্য বিবরণসমূহ প্রবেশ করে সংযুক্ত হোন:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "অ্যাসপেক্ট রেশিও: বর্গাকার পিক্সেল (SAR) অনুমান করণ"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "ডাউনলোড করা হয়েছে [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "সাবটাইটেল আপলোড করি"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "আপনি কি নিশ্চিত যে \"%s\" সাবটাইটেল ফাইলটি আপলোড করতে চান?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "সমর্থনীয় ভাষাসমূহ সংগ্রহ করা হচ্ছে..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "\"%S\" তে \"%S\" ব্যবহারকারীর নাম দিয়ে লগ্‌ ইন করা যাচ্ছে না।\n\nঅনুগ্রহ পূর্বক সঠিক ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রবেশ করুন অথবা তথ্যসমূহ পুনর্বিন্যাস করে অপরিচিত ব্যবহারকারী হিসেবে লগ্‌ ইন করুন।"
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "এখানে প্রবেশকৃত প্যাটার্ন অন্তর্ভুক্ত সকল মিডিয়া ফাইলের জন্য স্বয়ংক্রিয় ভাবে অনুসন্ধান এবং ডাউনলোড নিস্ক্রিয় করা হবে।\nউদাহরণস্বরূপ, টাইপ করতে পারেন: \"ব্যক্তিগত ডাইরেক্টরি\\ভিডিও|কাজ\\\""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.dialogs.po
new file mode 100644
index 000000000..d100dc465
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.dialogs.po
@@ -0,0 +1,1795 @@
+# MPC-HC - Strings extracted from dialogs
+# Copyright (C) 2002 - 2017 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Samir Gutić <amicussamir@amicus.ba>, 2016
+# smajo burek <smajo@mail.com>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/mpc-hc/mpc-hc/language/bs_BA/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs_BA\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
+msgid "Select Media Type"
+msgstr "Izaberite Media Tip"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDOK"
+msgid "OK"
+msgstr "U redu"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
+msgid "Set"
+msgstr "Podesi"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Audio"
+msgstr "Audio"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Output"
+msgstr "Izlaz"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
+msgid "Record Video"
+msgstr "Snimi Video"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
+msgid "Preview"
+msgstr "Pogledaj"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
+msgid "Record Audio"
+msgstr "Snimi Audio"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
+msgid "Preview"
+msgstr "Pogledaj"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "V/A Buffers:"
+msgstr "V/A Međuspremnici:"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
+msgid "Audio to wav"
+msgstr "Audio u wav"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
+msgid "Record"
+msgstr "Snimi"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
+msgid "Enable built-in audio switcher filter (requires restart)"
+msgstr "Omogući ugrađeni audio preklopnik filter (zahtijeva restart)"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
+msgid "Normalize"
+msgstr "Normaliziraj"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
+msgid "Max amplification:"
+msgstr "Max pojačanje:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
+msgid "Regain volume"
+msgstr "Vrati nivo zvuka"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
+msgid "Boost:"
+msgstr "Pojačanje:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
+msgid "Down-sample to 44100 Hz"
+msgstr "Uzorkuj naniže na 44100 Hz"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
+msgid "Audio time shift (ms):"
+msgstr "Vremenski pomak za audio (ms):"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
+msgid "Enable custom channel mapping"
+msgstr "Omogući mapiranje kanala po mjeri"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
+msgid "Speaker configuration for"
+msgstr "Podešenje zvučnika za"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
+msgid "input channels:"
+msgstr "ulazni kanali:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
+msgid "Hold shift for immediate changes when clicking something"
+msgstr "Držite shift za trenutne promjene kada kliknete na nešto"
+
+msgctxt "IDD_GOTO_DLG_CAPTION"
+msgid "Go To..."
+msgstr "Idi Na..."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
+msgstr "Unesite vrijeme u formatu [hh:]mm:ss.ms da skočite na željeno vrijeme. Nije potrebno eksplicitno unijeti separatore."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Time"
+msgstr "Vrijeme"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK1"
+msgid "Go!"
+msgstr "Kreni!"
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
+msgstr "Unesite dva broja da skočite na određenu sličicu, prvi je broj sličice, drugi je tempo sličica."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Frame"
+msgstr "Isječak"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK2"
+msgid "Go!"
+msgstr "Kreni!"
+
+msgctxt "IDD_OPEN_DLG_CAPTION"
+msgid "Open"
+msgstr "Otvori"
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
+msgstr "Upišite adresu filma ili audio dokumenta (na internetu ili vašem računaru) i player će ga otvoriti za vas."
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Open:"
+msgstr "Otvori:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Pretraži..."
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
+msgid "Dub:"
+msgstr "Dub:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "Pretraži..."
+
+msgctxt "IDD_OPEN_DLG_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_OPEN_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
+msgid "Add to playlist without opening"
+msgstr "Bez otvaranja dodaj u listu za reprodukciju "
+
+msgctxt "IDD_ABOUTBOX_CAPTION"
+msgid "About"
+msgstr "O"
+
+msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Autorska prava © 2002-2017 pogledajte Authors.txt"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "This program is freeware and released under the GNU General Public License."
+msgstr "Ovaj program je besplagan i objavljen pod GNU Opštom Javnom Licencom"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "English translation made by MPC-HC Team"
+msgstr "Bosanski prijevod uradio Samir Gutić"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build information"
+msgstr "Informacije o verziji"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Version:"
+msgstr "Verzija:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Compiler:"
+msgstr "Kompajler:"
+
+msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
+msgid "Not used"
+msgstr "Nije korišteno"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build date:"
+msgstr "Datum verzije:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Operating system"
+msgstr "Operativni sistem"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Name:"
+msgstr "Ime:"
+
+msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
+msgid "Copy to clipboard"
+msgstr "Kopiraj u clipboard"
+
+msgctxt "IDD_ABOUTBOX_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Open options"
+msgstr "Otvori opcije"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
+msgid "Use the same player for each media file"
+msgstr "Koristi isti player za svaki media dokument"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
+msgid "Open a new player for each media file played"
+msgstr "Otvori novi player za svaki reprodukovani media dokument"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Language"
+msgstr "Jezik"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Title bar"
+msgstr "Naslovna traka"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
+msgid "Display full path"
+msgstr "Prikaži punu putanju"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
+msgid "File name only"
+msgstr "Samo ime dokumenta"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
+msgid "Don't prefix anything"
+msgstr "Ne kreiraj prefix za bilo šta"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
+msgid "Replace file name with title"
+msgstr "Zamijeni ime dokumenta naslovom"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Other"
+msgstr "Ostalo"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
+msgid "Tray icon"
+msgstr "Ikonica u sistemskom tray-u"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
+msgid "Show OSD (requires restart)"
+msgstr "Prikaži OSD (zahtijeva restart)"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
+msgid "Limit window proportions on resize"
+msgstr "Ograniči proporcije prozora tokom promjene veličine"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
+msgid "Snap to desktop edges"
+msgstr "Uklopi u ivice desktop-a"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
+msgid "Store settings in .ini file"
+msgstr "Snimi podešenja u .ini dokument"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
+msgid "Disable \"Open Disc\" menu"
+msgstr "Onemogući meni \"Otvori Disk\""
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
+msgid "Process priority above normal"
+msgstr "Prioritet procesa iznad normale"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
+msgid "Enable cover-art support"
+msgstr "Omogući podršku za slike albuma"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "History"
+msgstr "Historija"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
+msgid "Keep history of recently opened files"
+msgstr "Čuvaj historiju nedavno otvorenih dokumenata"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
+msgid "Remember last playlist"
+msgstr "Zapamti zadnju playlistu"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
+msgid "Remember File position"
+msgstr "Zapamti poziciju Dokumenta"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
+msgid "Remember DVD position"
+msgstr "Zapamti poziciju DVD-a"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
+msgid "Remember last window position"
+msgstr "Zapamti zadnju poziciju prozora"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
+msgid "Remember last window size"
+msgstr "Zapamti zadnju veličinu prozora"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
+msgid "Remember last Pan-n-Scan Zoom"
+msgstr "Zapamti zadnji Pan-n-Scan Zoom"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "\"Open DVD/BD\" behavior"
+msgstr "\"Otvori DVD/BD\" ponašanje"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
+msgid "Prompt for location"
+msgstr "Ponudi izbor lokacije"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
+msgid "Always open the default location:"
+msgstr "Uvijek otvori podrazumijevanu lokaciju:"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Preferred language for DVD Navigator and the external OGM Splitter"
+msgstr "Preferirani jezik za DVD Navigator i eksterni OGM Splitter"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
+msgid "Menu"
+msgstr "Meni"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
+msgid "Audio"
+msgstr "Audio"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
+msgid "Subtitles"
+msgstr "Titlovi"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Additional settings"
+msgstr "Dodatna podešenja"
+
+msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
+msgid "Allow closed captions in \"Line 21 Decoder\""
+msgstr "Dozvoli zatvorene navodnike u \"Line 21 Decoder\""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio"
+msgstr "Audio"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume"
+msgstr "Jačina zvuka"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Min"
+msgstr "Min"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Max"
+msgstr "Max"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
+msgid "Balance"
+msgstr "Balans"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "L"
+msgstr "L"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "R"
+msgstr "D"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Playback"
+msgstr "Reprodukcija"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
+msgid "Play"
+msgstr "Reprodukuj"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
+msgid "Repeat forever"
+msgstr "Ponavljaj unedogled"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
+msgid "time(s)"
+msgstr "vrijeme"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Modus ponavljanja:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "After Playback"
+msgstr "Nakon Reprodukcije"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Default zoom"
+msgstr "Podrazumijevani zum"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
+msgid "Auto-zoom:"
+msgstr "Auto-zum:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
+msgid "Auto fit factor:"
+msgstr "Faktor auto uklapanja:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Default track preference"
+msgstr "Podrazumijevani prioritet zapisa"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Subtitles:"
+msgstr "Titlovi"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio:"
+msgstr "Audio:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
+msgid "Allow overriding external splitter choice"
+msgstr "Omogući premoštenje izbora eksternog splitera"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Open settings"
+msgstr "Otvori podešenja"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
+msgid "Use worker thread to construct the filter graph"
+msgstr "Koristi radni niz za konstrukciju grafikona filtera"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
+msgid "Report pins which fail to render"
+msgstr "Prijavi pinove čije renderiranje nije uspjelo"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
+msgid "Auto-load audio files"
+msgstr "Automatski učitaj audio dokumente"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Control"
+msgstr "Kontrola"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume step:"
+msgstr "Korak zvuka:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Speed step:"
+msgstr "Korak brzine:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
+msgid "Override placement"
+msgstr "Premosti poziciju"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
+msgid "Horizontal:"
+msgstr "Horizontalno:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC2"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC3"
+msgid "Vertical:"
+msgstr "Vertikalno:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC4"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Delay step"
+msgstr "Korak kašnjenja"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Texture settings (open the video again to see the changes)"
+msgstr "Podešenja teksture (otvorite video ponovo da biste vidjeli izmjene)"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Sub pictures to buffer:"
+msgstr "Podslike za buferovanje:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Maximum texture resolution:"
+msgstr "Maksimalna rezolucija teksture:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
+msgid "Never animate the subtitles"
+msgstr "Nikada ne animiraj titlove"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
+msgid "Render at"
+msgstr "Renderiraj na"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
+msgid "% of the animation"
+msgstr "% animacije"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
+msgid "Animate at"
+msgstr "Animiraj na"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
+msgid "% of the video frame rate"
+msgstr "% tempa video okvira"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Allow dropping some subpictures if the queue is running late"
+msgstr "Dozvoli odbacivanje nekih podslika ako red kasni"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Renderer Layout"
+msgstr "Prikaz Renderera"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
+msgid "Apply aspect ratio compensation for anamorphic videos"
+msgstr "Primijeni kompenzaciju razmjere za anamorfni video"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Warning"
+msgstr "Upozorenje"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Ako premostite i omogućite antialiasing prikaza preko cijelog ekrana negdje u podešenjima vaše grafičke kartice titlovi neće izgledati ništa bolje ali će sigurno 'jesti' vaš CPU."
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
+msgid "File extensions"
+msgstr "Ekstenzije dokumenata"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
+msgid "Set"
+msgstr "Podesi"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
+msgid "Association"
+msgstr "Asocijacije"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
+msgid "Use the format-specific icons"
+msgstr "Koristi ikonice odvisne od formata"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
+msgid "Run as &administrator"
+msgstr "Pokreni kao &administrator"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
+msgid "Set as &default program"
+msgstr "Postavi kao po&drazumijevani program"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
+msgstr "Upravljač Real-Time Streaming Protokola (za rtsp://... URL-ove)"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
+msgid "RealMedia"
+msgstr "RealMedia"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO2"
+msgid "QuickTime"
+msgstr "QuickTime"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO3"
+msgid "DirectShow"
+msgstr "DirectShow"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
+msgid "Check file extension first"
+msgstr "Prvo provjeri ekstenziju dokumenta"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Explorer Context Menu"
+msgstr "Meni Sadržaja Eksplorera"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK6"
+msgid "Directory"
+msgstr "Direktorij"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK7"
+msgid "File(s)"
+msgstr "Dokument(i)"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
+msgid "Autoplay"
+msgstr "Automatsko pokretanje"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK2"
+msgid "Music"
+msgstr "Muzika"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK4"
+msgid "DVD"
+msgstr "DVD"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
+msgid "Audio CD"
+msgstr "Audio CD"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "Jump distances (small, medium, large in ms)"
+msgstr "Udaljenost skoka (mala, srednja, velika u ms)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
+msgid "Fast seek (on keyframe)"
+msgstr "Brzo traženje (na isječak)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
+msgid "Show chapter marks in seek bar"
+msgstr "Prikaži oznake poglavlja na traci za traženje"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
+msgid "Display \"Now Playing\" information in Skype's mood message"
+msgstr "Prikaži \"Now Playing\" informacije u Skype poruci raspoloženja"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
+msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
+msgstr "Spriječi minimiziranje player-a kada je u prikazu preko cijelog ekrana na monitoru koji nije podrazumijevani"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
+msgid "Use enhanced taskbar features"
+msgstr "Koristi napredne mogućnosti taskbar-a"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
+msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
+msgstr "Otvori prethodni/naredni dokument u direktoriju na \"Preskoči nazad/naprijed\" kada je samo jedna stavka u playlisti"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
+msgid "Show time tooltip:"
+msgstr "Prikaži tooltip za vrijeme:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "OSD font:"
+msgstr "OSD font:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
+msgid "Enable Logitech LCD support (experimental)"
+msgstr "Omogući Logitech LCD podršku (eksperimentalno)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
+msgid "Auto-hide the mouse pointer during playback in windowed mode"
+msgstr "Automatski sakrij pokazivač miša tokom reprosukcije u prozor modusu"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
+msgid "Add Filter..."
+msgstr "Dodaj Filter..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON2"
+msgid "Remove"
+msgstr "Ukloni"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO1"
+msgid "Prefer"
+msgstr "Preferiraj"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO2"
+msgid "Block"
+msgstr "Blokiraj"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO3"
+msgid "Set merit:"
+msgstr "Podesi zasluge:"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
+msgid "Up"
+msgstr "Naviše"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON4"
+msgid "Down"
+msgstr "Naniže"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
+msgid "Add Media Type..."
+msgstr "Dodaj Media Tip..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
+msgid "Add Sub Type..."
+msgstr "Dodaj Tip Titla..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
+msgid "Delete"
+msgstr "Izbriši"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
+msgid "Reset List"
+msgstr "Resetuj listu"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Type:"
+msgstr "Tip:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Size:"
+msgstr "Veličina:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Media length:"
+msgstr "Media dužina:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Video size:"
+msgstr "Video veličina:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Created:"
+msgstr "Kreirano:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Clip:"
+msgstr "Klip:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Author:"
+msgstr "Autor:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Copyright:"
+msgstr "Autorska prava:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Rating:"
+msgstr "Ocjena:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Location:"
+msgstr "Lokacija:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Description:"
+msgstr "Opis:"
+
+msgctxt "IDD_FAVADD_CAPTION"
+msgid "Add Favorite"
+msgstr "Dodaj Omiljeno"
+
+msgctxt "IDD_FAVADD_IDC_STATIC"
+msgid "Choose a name for your shortcut:"
+msgstr "Izaberite ime za svoju prečicu:"
+
+msgctxt "IDD_FAVADD_IDC_CHECK1"
+msgid "Remember position"
+msgstr "Zapamti poziciju"
+
+msgctxt "IDD_FAVADD_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_FAVADD_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_FAVADD_IDC_CHECK2"
+msgid "Relative drive"
+msgstr "Relativni disk"
+
+msgctxt "IDD_FAVORGANIZE_CAPTION"
+msgid "Organize Favorites"
+msgstr "Organizuj Omiljene"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
+msgid "Rename"
+msgstr "Preimenuj"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
+msgid "Move Up"
+msgstr "Pomakni Naviše"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
+msgid "Move Down"
+msgstr "Premakni Naniže"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
+msgid "Delete"
+msgstr "Izbriši"
+
+msgctxt "IDD_FAVORGANIZE_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_PNSPRESET_DLG_CAPTION"
+msgid "Pan&Scan Presets"
+msgstr "Pan&Scan Podešenja"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
+msgid "New"
+msgstr "Novo"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON3"
+msgid "Delete"
+msgstr "Izbriši"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
+msgid "Up"
+msgstr "Naviše"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
+msgid "Down"
+msgstr "Naniže"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
+msgid "&Set"
+msgstr "Podesi"
+
+msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
+msgid "&Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_PNSPRESET_DLG_IDOK"
+msgid "&Save"
+msgstr "&Snimi"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Pos: 0.0 -> 1.0"
+msgstr "Poz: 0.0 -> 1.0"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Zoom: 0.2 -> 3.0"
+msgstr "Zum: 0.2 -> 3.0"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
+msgid "Global Media Keys"
+msgstr "Globalne Media Tipke"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
+msgid "Select All"
+msgstr "Selektuj Sve"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
+msgid "Reset Selected"
+msgstr "Resetuj Selektovano"
+
+msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
+msgid "Warning"
+msgstr "Upozorenje"
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
+msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
+msgstr "MPC-HC nije mogao renderirati neke pinove grafa. Moguće je da u sistemu nemate potrebne kodeke ili filtere."
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
+msgid "The following pin(s) failed to find a connectable filter:"
+msgstr "Sljedeći pinovi nisu pronašli filter za povezivanje:"
+
+msgctxt "IDD_MEDIATYPES_DLG_IDOK"
+msgid "Close"
+msgstr "Zatvori"
+
+msgctxt "IDD_SAVE_DLG_CAPTION"
+msgid "Saving..."
+msgstr "Snimanje..."
+
+msgctxt "IDD_SAVE_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Kodiranje:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Kodiranje:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "Delay:"
+msgstr "Odgoda:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
+msgid "Save custom style"
+msgstr "Snimi vlastiti stil"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "JPEG kvalitet:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Thumbnails:"
+msgstr "Sličice:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "rows"
+msgstr "vrste"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "columns"
+msgstr "kolone"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Image width:"
+msgstr "Širina slike:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "pixels"
+msgstr "piksela"
+
+msgctxt "IDD_ADDREGFILTER_CAPTION"
+msgid "Select Filter"
+msgstr "Izaberite Filter"
+
+msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Pretraži..."
+
+msgctxt "IDD_ADDREGFILTER_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_ADDREGFILTER_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Font"
+msgstr "Tip slova"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_BUTTON1"
+msgid "Font"
+msgstr "Tip slova"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Spacing"
+msgstr "Razmak"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Angle (z,°)"
+msgstr "Ugao (z,°)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (x,%)"
+msgstr "Razmjera (x,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (y,%)"
+msgstr "Razmjera (y,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Border Style"
+msgstr "Stil Granice"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
+msgid "Outline"
+msgstr "Kontura"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
+msgid "Opaque box"
+msgstr "Neproziran okvir"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Width"
+msgstr "Širina"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Shadow"
+msgstr "Sjena"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Screen Alignment && Margins"
+msgstr "Pogledajte Poravnavanje i Margine"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Left"
+msgstr "Lijevo"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Right"
+msgstr "Desno"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Top"
+msgstr "Vrh"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Bottom"
+msgstr "Dno"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
+msgid "Position subtitles relative to the video frame"
+msgstr "Postavi titlove relativno u odnosu na video isječak"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Colors && Transparency"
+msgstr "Boje i Providnost"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "0%"
+msgstr "0%"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "100%"
+msgstr "100%"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Primary"
+msgstr "Primarni"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Secondary"
+msgstr "Sekundarni"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Outline"
+msgstr "Kontura"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
+msgid "Link alpha channels"
+msgstr "Linkuj alfa kanale"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
+msgstr "Ako bi željeli koristiti samostalnu verziju ovih filtera ili drugu zamjenu, omogućite ih ovdje."
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Source Filters"
+msgstr "Izvorni Filteri"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Transform Filters"
+msgstr "Filteri Transformacije"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Internal LAV Filters settings"
+msgstr "Podešenja internil LAV Filtera"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
+msgid "Splitter"
+msgstr "Spliter"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
+msgid "Video decoder"
+msgstr "Video dekoder"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
+msgid "Audio decoder"
+msgstr "Audio dekoder"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
+msgid "Internal:"
+msgstr "Interni:"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO2"
+msgid "External:"
+msgstr "Eksterni:"
+
+msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "Pretraži..."
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DirectShow Video"
+msgstr "DirectShow Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "RealMedia Video"
+msgstr "RealMedia Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "QuickTime Video"
+msgstr "QuickTime Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Audio Renderer"
+msgstr "Audio Renderer"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Podešenja za VMR-9 (bez renderiranja) i EVR (CP)"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Surface:"
+msgstr "Površina:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Resizer:"
+msgstr "Izmjenjivač veličine:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
+msgid "Select D3D9 Render Device"
+msgstr "Izaberite D3D9 Uređaj za Renderiranje"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
+msgid "Reinitialize when changing display"
+msgstr "Reinicijaliziraj pri promjeni displeja"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "D3D Fullscreen"
+msgstr "D3D Cijeli ekran"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Alternative VSync"
+msgstr "Alternativni VSync"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
+msgid "VMR-9 Mixer Mode"
+msgstr "VMR-9 Mikser Modus"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
+msgid "YUV Mixing"
+msgstr "YUV Miksanje"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
+msgid "EVR Buffers:"
+msgstr "EVR Ublaživači:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DXVA"
+msgstr "DXVA"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Subtitles"
+msgstr "Titlovi"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Screenshot"
+msgstr "Snimak ekrana"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Shaders"
+msgstr "Sjenčila"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Rotation"
+msgstr "Rotacija"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Subtitle Renderer"
+msgstr "Renderer Titlova"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Sjenila kompajlirana iz Keša"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
+msgid "Listen on port:"
+msgstr "Osluškuj na portu:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
+msgid "Launch in web browser..."
+msgstr "Pokreni u web pregledniku..."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
+msgid "Enable compression"
+msgstr "Omogući kompresiju"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
+msgid "Allow access from localhost only"
+msgstr "Dozvoli samo pristup localhost-a"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
+msgid "Enable preview"
+msgstr "Omogući pregled"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
+msgid "Print debug information"
+msgstr "Printaj informacije za ispravljanje grešaka"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
+msgid "Serve pages from:"
+msgstr "Serviraj stranice iz:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Pretraži..."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
+msgid "Deploy..."
+msgstr "Primijeni..."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "Default page:"
+msgstr "Podrazumijevana stranica:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
+msgstr "CGI rukovaoci: (.ext1=putanja1;.ext2=putanja2;...)"
+
+msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
+msgid "Download subtitles"
+msgstr "Download titlove"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
+msgid "Replace currently loaded subtitles"
+msgstr "Zamijeni trenutno učitane titlove"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Download-uj"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Refreširaj"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opcije"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Upload-uj titlove"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Upload-uj"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opcije"
+
+msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
+msgid "Save As..."
+msgstr "Snimi Kao..."
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Color controls (for VMR-9, EVR and madVR)"
+msgstr "Kontrole Boje (za VMR-9, EVR i madVR)"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Brightness"
+msgstr "Osvijetljenost"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Contrast"
+msgstr "Kontrast"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Hue"
+msgstr "Nijansa"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Saturation"
+msgstr "Zasićenje"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET"
+msgid "Reset"
+msgstr "Resetuj"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Update check"
+msgstr "Provjera nadgradnje"
+
+msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
+msgid "Enable automatic update check"
+msgstr "Omogući automatsku provjeru nadgradnje"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
+msgid "Check every:"
+msgstr "Provjeri svakih:"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
+msgid "day(s)"
+msgstr "dan(a)"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Settings management"
+msgstr "Upravljanje podešenjima"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
+msgid "Reset"
+msgstr "Resetuj"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
+msgid "Export"
+msgstr "Eksportuj"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
+msgid "Export keys"
+msgstr "Eksportuj tipke"
+
+msgctxt "IDD_TUNER_SCAN_CAPTION"
+msgid "Tuner scan"
+msgstr "Skeniranje tunera"
+
+msgctxt "IDD_TUNER_SCAN_ID_START"
+msgid "Start"
+msgstr "Pokreni"
+
+msgctxt "IDD_TUNER_SCAN_IDCANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. Start"
+msgstr "Frekv. Start"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Bandwidth"
+msgstr "Propusnost"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. End"
+msgstr "Frekv. Kraj"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
+msgid "Ignore encrypted channels"
+msgstr "Ignoriši kriptovane kanale"
+
+msgctxt "IDD_TUNER_SCAN_ID_SAVE"
+msgid "Save"
+msgstr "Snimi"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "S"
+msgstr "S"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Q"
+msgstr "K"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
+msgid "Use an offset"
+msgstr "Koristi offset"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Default Device"
+msgstr "Podrazumijevani Uređaj"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
+msgid "Analog"
+msgstr "Analogni"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO2"
+msgid "Digital"
+msgstr "Digitalni"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Analog settings"
+msgstr "Analogna Podešenja"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC2"
+msgid "Audio"
+msgstr "Audio"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC3"
+msgid "Country"
+msgstr "Država"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Digital settings (BDA)"
+msgstr "Digitalna podešenja (BDA)"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
+msgid "Network Provider"
+msgstr "Mrežni Operater"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
+msgid "Tuner"
+msgstr "Tjuner"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC6"
+msgid "Receiver"
+msgstr "Prijemnik"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
+msgid "Channel switching approach:"
+msgstr "Pristup promjeni kanala:"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
+msgid "Rebuild filter graph"
+msgstr "Ponovo izgradi grafikon filtera"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
+msgid "Stop filter graph"
+msgstr "Zaustavi grafikon filtera"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
+msgid "Sync video to display"
+msgstr "Sinhronizuj video i display"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC1"
+msgid "Frequency adjustment:"
+msgstr "Podešenje frekvencije:"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
+msgid "Sync display to video"
+msgstr "Sinhronizuj displej sa videom"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
+msgid "Frequency adjustment:"
+msgstr "Podešenje frekvencije:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC3"
+msgid "lines"
+msgstr "linija"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
+msgid "columns"
+msgstr "kolone"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
+msgid "Present at nearest VSync"
+msgstr "Prisutno kod najbližeg VSync-a"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
+msgid "Target sync offset:"
+msgstr "Ciljni offset sinhronizacije:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC7"
+msgid "Control limits:"
+msgstr "Granice kontrole:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
+msgid "+/-"
+msgstr "+/-"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC9"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
+msgid "Changes take effect after the playback has been closed and restarted."
+msgstr "Izmjene će biti primijenjene nakon što je reprodukcija zaustavljena i restartovana."
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
+msgid "Launch files in fullscreen"
+msgstr "Pokreni dokumente preko cijelog ekrana"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
+msgid "Hide controls in fullscreen"
+msgstr "Sakrij kontrole u prikazu preko cijelog ekrana"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK6"
+msgid "Hide docked panels"
+msgstr "Sakrij usidrene panele"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
+msgid "Exit fullscreen at the end of playback"
+msgstr "Napusti prikaz preko cijelog ekrana na kraju reprodukcije"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Fullscreen monitor"
+msgstr "Monitor za prikaz preko cijelog ekrana"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
+msgid "Use autochange fullscreen monitor mode"
+msgstr "Koristi modus za automatsku promjenu monitora ca prikaz preko cijelog ekrana"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
+msgid "Add"
+msgstr "Dodaj"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
+msgid "Del"
+msgstr "Izbriši"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
+msgid "Up"
+msgstr "Naviše"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON4"
+msgid "Down"
+msgstr "Naniže"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
+msgid "Apply default monitor mode on fullscreen exit"
+msgstr "Primijeni modus podrazumijevanog monitora pri izlasku iz prikaza preko cijelog ekrana"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
+msgid "Restore resolution on program exit"
+msgstr "Vrati rezoluciju pri izlasku iz programa"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Delay"
+msgstr "Odgoda"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
+msgid "s"
+msgstr "s"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
+msgid "Info"
+msgstr "Info"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
+msgid "Scan"
+msgstr "Skeniraj"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
+msgid "Prefer forced and/or default subtitles tracks"
+msgstr "Preferiraj nametnute i/ili podrazumijevane titlove"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
+msgid "Prefer external subtitles over embedded subtitles"
+msgstr "Preferiraj eksterne titlove umjesto ugrađenih"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
+msgid "Ignore embedded subtitles"
+msgstr "Ignoriši ugrađene titlove"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Autoload paths"
+msgstr "Putanje za automatsko učitavanje"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
+msgid "Reset"
+msgstr "Resetuj"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Online search, download and upload subtitles"
+msgstr "Online pretraga, download i upload titlova"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatski traži i download-uj titlove ako nijedan nije pronađen lokalno"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferiraj titlove za osobe sa oštećenim sluhom (kada je označeno od strane autora titlova)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignoriši dokumente koji sadrže bilo koju od sljedećih riječi:"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Languages in order of preference:"
+msgstr "Jezici po redoslijedu preferiranja:"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automatski upload-uj aktivne titlove na kraju svake video reprodukcije"
+
+msgctxt "IDD_UPDATE_DIALOG_CAPTION"
+msgid "Update Checker"
+msgstr "Provjeravanje Nadgradnje"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
+msgid "&Download now"
+msgstr "&Download-uj sada"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
+msgid "Remind me &later"
+msgstr "Podsjeti me kasnije"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
+msgid "&Ignore this update"
+msgstr "&Ignoriši ovu nadgradnju"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shaders contain special effects which can be added to the video rendering process."
+msgstr "Sjenčila sadrže specijalne efekte koji mogu biti dodani u preoces video renderiranja."
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
+msgid "Add shader file"
+msgstr "Dodaj dokument sjenčila"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
+msgid "Remove"
+msgstr "Ukloni"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
+msgid "Add to pre-resize"
+msgstr "Dodaj u pred-promjenu veličine"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
+msgid "Add to post-resize"
+msgstr "Dodaj u post-promjenu veličine"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shader presets"
+msgstr "Podešenja sjenčila"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
+msgid "Load"
+msgstr "Učitaj"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
+msgid "Save"
+msgstr "Snimi"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON5"
+msgid "Delete"
+msgstr "Izbriši"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active pre-resize shaders"
+msgstr "Aktivna sjenčila za pred-promjenu veličine"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active post-resize shaders"
+msgstr "Aktivna sjenčila za post-promjenu veličine"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
+msgid "Debug Shaders"
+msgstr "Ispravi greške Sjenčila"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
+msgid "Debug Information"
+msgstr "Informacije ispravljanja grešaka"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
+msgid "PS 2.0"
+msgstr "PS 2.0"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO2"
+msgid "PS 2.0b"
+msgstr "PS 2.0b"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO3"
+msgid "PS 2.0a"
+msgstr "PS 2.0a"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO4"
+msgid "PS 3.0"
+msgstr "PS 3.0"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
+msgid "Advanced Settings, do not edit unless you know what you are doing."
+msgstr "Napredna Podešavanja. Ne mijenjajte osima ako znate šta radite."
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
+msgid "True"
+msgstr "Istina"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
+msgid "False"
+msgstr "Laž"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
+msgid "Device"
+msgstr "Uređaj"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
+msgid "Exclusive mode"
+msgstr "Ekskluzivni modus"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
+msgid "Allow bitstreaming"
+msgstr "Dozvoli bitstreaming"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
+msgid "Options"
+msgstr "Opcije"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
+msgid "Enable stereo crossfeed (for headphones)"
+msgstr "Omogući združivanje stereo kanala (crossfeed za slušalice)"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
+msgid "C. Moy"
+msgstr "C. Moy"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
+msgid "J. Meier"
+msgstr "J. Meier"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
+msgid "Cut-off:"
+msgstr "Prekid:"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
+msgid "Level:"
+msgstr "Nivo"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
+msgid "Note"
+msgstr "Napomena"
+
+msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
+msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
+msgstr "Da bi minimizirali distorziju zvuka, preporučljivo je da nivo zvuka player-a držite oko 85% tokom reprodukcije glasnog i slabo kompresovanog sadržaja."
+
+msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "JPEG kvalitet:"
+
+msgctxt "IDD_CMD_LINE_HELP_CAPTION"
+msgid "Command line help"
+msgstr "Pomoć iz komandne linije"
+
+msgctxt "IDD_CMD_LINE_HELP_IDOK"
+msgid "OK"
+msgstr "Uredu"
+
+msgctxt "IDD_CRASH_REPORTER_CAPTION"
+msgid "Crash reporter"
+msgstr "Prijavljivač 'pada'"
+
+msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
+msgid "We are sorry, it seems MPC-HC just crashed. :("
+msgstr "Žao nam je, izgleda ga je MPC-HC upravo 'pao' :("
+
+msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
+msgid "Send a bug report to help us diagnose and fix the problem."
+msgstr "Pošaljite bug izvještaj da nam pomognete da utvrdimo i portavimo problem."
+
+msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
+msgid "Optional information"
+msgstr "Opcione informacije"
+
+msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
+msgid "Email:"
+msgstr "Email:"
+
+msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
+msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
+msgstr "Vaša email adresa je opcionalna i biće korištena ako vas programeri trebaju kontaktirati za više informacija."
+
+msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
+msgid "Problem description (use English only):"
+msgstr "Opis problema (koristite isključivo Engleski):"
+
+msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
+msgid "Restart MPC-HC"
+msgstr "Restartuj MPC-HC"
+
+msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
+msgid "Quit MPC-HC"
+msgstr "Napusti MPC-HC"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.menus.po
new file mode 100644
index 000000000..12fc3dd5a
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.menus.po
@@ -0,0 +1,711 @@
+# MPC-HC - Strings extracted from menus
+# Copyright (C) 2002 - 2017 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Samir Gutić <amicussamir@amicus.ba>, 2016
+# smajo burek <smajo@mail.com>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-04-29 17:30+0000\n"
+"Last-Translator: smajo burek <smajo@mail.com>\n"
+"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/mpc-hc/mpc-hc/language/bs_BA/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs_BA\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "POPUP"
+msgid "&File"
+msgstr "&Dokument"
+
+msgctxt "ID_FILE_OPENQUICK"
+msgid "&Quick Open File..."
+msgstr "Brzo Otvaranje Dokumenta..."
+
+msgctxt "ID_FILE_OPENMEDIA"
+msgid "&Open File..."
+msgstr "&Otvori Dokument..."
+
+msgctxt "ID_FILE_OPENDVDBD"
+msgid "Open &DVD/BD..."
+msgstr "Otvori &DVD/BD..."
+
+msgctxt "ID_FILE_OPENDEVICE"
+msgid "Open De&vice..."
+msgstr "Otvori Uređaj"
+
+msgctxt "ID_FILE_OPENDIRECTORY"
+msgid "Open Dir&ectory..."
+msgstr "Otvori Dokument..."
+
+msgctxt "ID_FILE_OPENDISC"
+msgid "O&pen Disc"
+msgstr "Otvori Disk"
+
+msgctxt "ID_RECENT_FILES"
+msgid "Recent &Files"
+msgstr "Skorašnji Dokumenti"
+
+msgctxt "ID_FILE_CLOSE_AND_RESTORE"
+msgid "&Close"
+msgstr "Zatvori"
+
+msgctxt "ID_FILE_SAVE_COPY"
+msgid "&Save a Copy..."
+msgstr "&Spasi Kopiju..."
+
+msgctxt "ID_FILE_SAVE_IMAGE"
+msgid "Save &Image..."
+msgstr "Spasi Sliku..."
+
+msgctxt "ID_FILE_SAVE_THUMBNAILS"
+msgid "Save &Thumbnails..."
+msgstr "Snimi Sličice..."
+
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "Titlovi"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Učitaj Tit&love..."
+
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Snimi Titlove"
+
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Download-uj Titlove..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Upload-uj Titlove..."
+
+msgctxt "ID_FILE_PROPERTIES"
+msgid "P&roperties"
+msgstr "Svojstva"
+
+msgctxt "ID_FILE_EXIT"
+msgid "E&xit"
+msgstr "Izlaz"
+
+msgctxt "POPUP"
+msgid "&View"
+msgstr "Prikaz"
+
+msgctxt "ID_VIEW_CAPTIONMENU"
+msgid "Caption&&Menu"
+msgstr "Naslov i Meni"
+
+msgctxt "ID_VIEW_SEEKER"
+msgid "See&k Bar"
+msgstr "Traka za Traženje"
+
+msgctxt "ID_VIEW_CONTROLS"
+msgid "&Controls"
+msgstr "Kontrole"
+
+msgctxt "ID_VIEW_INFORMATION"
+msgid "&Information"
+msgstr "&Informacija"
+
+msgctxt "ID_VIEW_STATISTICS"
+msgid "&Statistics"
+msgstr "&Statistika"
+
+msgctxt "ID_VIEW_STATUS"
+msgid "St&atus"
+msgstr "St&atus"
+
+msgctxt "ID_VIEW_SUBRESYNC"
+msgid "Su&bresync"
+msgstr "Resinhronizacija titla"
+
+msgctxt "ID_VIEW_PLAYLIST"
+msgid "Pla&ylist"
+msgstr "Pla&ylista"
+
+msgctxt "ID_VIEW_CAPTURE"
+msgid "Captu&re"
+msgstr "Snimanje"
+
+msgctxt "ID_VIEW_NAVIGATION"
+msgid "Na&vigation"
+msgstr "Na&vigacija"
+
+msgctxt "ID_VIEW_DEBUGSHADERS"
+msgid "&Debug Shaders"
+msgstr "Ispravi greške Sjenčila"
+
+msgctxt "POPUP"
+msgid "&Presets..."
+msgstr "&Podešenja..."
+
+msgctxt "ID_VIEW_PRESETS_MINIMAL"
+msgid "&Minimal"
+msgstr "&Minimalni"
+
+msgctxt "ID_VIEW_PRESETS_COMPACT"
+msgid "&Compact"
+msgstr "Kompaktni"
+
+msgctxt "ID_VIEW_PRESETS_NORMAL"
+msgid "&Normal"
+msgstr "&Normalni"
+
+msgctxt "ID_VIEW_FULLSCREEN"
+msgid "F&ull Screen"
+msgstr "Na cijeli ekran"
+
+msgctxt "POPUP"
+msgid "&Zoom"
+msgstr "&Zum"
+
+msgctxt "ID_VIEW_ZOOM_50"
+msgid "&50%"
+msgstr "&50%"
+
+msgctxt "ID_VIEW_ZOOM_100"
+msgid "&100%"
+msgstr "&100%"
+
+msgctxt "ID_VIEW_ZOOM_200"
+msgid "&200%"
+msgstr "&200%"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT"
+msgid "Auto &Fit"
+msgstr "Automatska Veličina"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (&Larger Only)"
+msgstr "Automatska Veličina (Samo Ve&liki)"
+
+msgctxt "POPUP"
+msgid "R&enderer Settings"
+msgstr "Podešenja R&enderiranja"
+
+msgctxt "ID_VIEW_TEARING_TEST"
+msgid "&Tearing Test"
+msgstr "&Test Trganja"
+
+msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
+msgid "&Display Statistics"
+msgstr "Prikaži Statistiku"
+
+msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
+msgid "Display Current T&ime"
+msgstr "Prikaži Trenutno vr&ijeme"
+
+msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
+msgid "Show &File Name"
+msgstr "Prkaži Ime Dokumenta"
+
+msgctxt "POPUP"
+msgid "&Output Range"
+msgstr "Izlazni Rasp&on"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
+msgid "&0 - 255"
+msgstr "&0 - 255"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
+msgid "&16 - 235"
+msgstr "&16 - 235"
+
+msgctxt "POPUP"
+msgid "&Presentation"
+msgstr "&Prezentacija"
+
+msgctxt "ID_VIEW_D3DFULLSCREEN"
+msgid "D3D Fullscreen &Mode"
+msgstr "D3D Modus Preko Cijelog ekrana"
+
+msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
+msgid "D3D Fullscreen &GUI Support"
+msgstr "&GUI Podrška za D3D Prikaz preko cijelog ekrana"
+
+msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
+msgid "10-bit &RGB Output"
+msgstr "10-bit &RGB Izlaz"
+
+msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
+msgid "Force 10-bit RGB &Input"
+msgstr "Nametn&i 10-bit RGB Ulaz"
+
+msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
+msgid "&Full Floating Point Processing"
+msgstr "Puno Procesiranje Realnih Brojeva"
+
+msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
+msgid "&Half Floating Point Processing"
+msgstr "Polu Procesiranje Realnih Brojeva"
+
+msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
+msgid "Disable desktop composition (&Aero)"
+msgstr "Onemogući desktop kompoziciju (&Aero)"
+
+msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time &Correction"
+msgstr "Omogući Korek&ciju Vremena Isječka"
+
+msgctxt "POPUP"
+msgid "&Color Management"
+msgstr "Upravljanje Bojom"
+
+msgctxt "ID_VIEW_CM_ENABLE"
+msgid "&Enable"
+msgstr "Omogući"
+
+msgctxt "POPUP"
+msgid "&Input Type"
+msgstr "Ulazn&i Tip"
+
+msgctxt "ID_VIEW_CM_INPUT_AUTO"
+msgid "&Auto-Detect"
+msgstr "&Auto-Detekcija"
+
+msgctxt "ID_VIEW_CM_INPUT_HDTV"
+msgid "&HDTV"
+msgstr "&HDTV"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_NTSC"
+msgid "SDTV &NTSC"
+msgstr "SDTV &NTSC"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_PAL"
+msgid "SDTV &PAL"
+msgstr "SDTV &PAL"
+
+msgctxt "POPUP"
+msgid "Ambient &Light"
+msgstr "Svjet&lo Okruženja"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
+msgid "&Bright (2.2 Gamma)"
+msgstr "Svijetlo (2.2 Gama)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
+msgid "&Dim (2.35 Gamma)"
+msgstr "Prigušeno (2.35 Gama)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
+msgid "D&ark (2.4 Gamma)"
+msgstr "T&amno (2.4 Gama)"
+
+msgctxt "POPUP"
+msgid "&Rendering Intent"
+msgstr "Namjera &Renderiranja"
+
+msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
+msgid "&Perceptual"
+msgstr "&Po osjećaju"
+
+msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
+msgid "&Relative Colorimetric"
+msgstr "&Relativna metrika boje"
+
+msgctxt "ID_VIEW_CM_INTENT_SATURATION"
+msgid "&Saturation"
+msgstr "Za&sićenje"
+
+msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
+msgid "&Absolute Colorimetric"
+msgstr "&Apsolutna metrika boje"
+
+msgctxt "POPUP"
+msgid "&VSync"
+msgstr "&VSinhronizacija"
+
+msgctxt "ID_VIEW_VSYNC"
+msgid "&VSync"
+msgstr "&VSinhronizacija"
+
+msgctxt "ID_VIEW_VSYNCACCURATE"
+msgid "&Accurate VSync"
+msgstr "Preciz&an VSync"
+
+msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
+msgid "A&lternative VSync"
+msgstr "A&lternativni VSync"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
+msgid "&Decrease VSync Offset"
+msgstr "Smanji VSync Offset"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
+msgid "&Increase VSync Offset"
+msgstr "Povećaj VSync Offset"
+
+msgctxt "POPUP"
+msgid "&GPU Control"
+msgstr "&GPU Kontrola"
+
+msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
+msgid "Flush GPU &before VSync"
+msgstr "Isprazni GPU prije VSync"
+
+msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
+msgid "Flush GPU &after Present"
+msgstr "Isprazni GPU n&akon Trenutnog"
+
+msgctxt "ID_VIEW_FLUSHGPU_WAIT"
+msgid "&Wait for flushes"
+msgstr "Sačekaj na pražnjenja"
+
+msgctxt "POPUP"
+msgid "R&eset"
+msgstr "R&esetuj"
+
+msgctxt "ID_VIEW_RESET_DEFAULT"
+msgid "Reset to &default renderer settings"
+msgstr "Resetuj na po&drazumijevana podešenja rendereriranja"
+
+msgctxt "ID_VIEW_RESET_OPTIMAL"
+msgid "Reset to &optimal renderer settings"
+msgstr "Resetuj na &optimalna podešenja rendereriranja"
+
+msgctxt "POPUP"
+msgid "Video &Frame"
+msgstr "Video Isječak"
+
+msgctxt "ID_VIEW_VF_HALF"
+msgid "&Half Size"
+msgstr "Pola Veličine"
+
+msgctxt "ID_VIEW_VF_NORMAL"
+msgid "&Normal Size"
+msgstr "&Normalna Veličina"
+
+msgctxt "ID_VIEW_VF_DOUBLE"
+msgid "&Double Size"
+msgstr "&Dvostruka Veličina"
+
+msgctxt "ID_VIEW_VF_STRETCH"
+msgid "&Stretch To Window"
+msgstr "Ra&stegni na veličinu prozora"
+
+msgctxt "ID_VIEW_VF_FROMINSIDE"
+msgid "Touch Window From &Inside"
+msgstr "Dodirni Prozor &Iznutra"
+
+msgctxt "ID_VIEW_VF_ZOOM1"
+msgid "Zoom &1"
+msgstr "Zum &1"
+
+msgctxt "ID_VIEW_VF_ZOOM2"
+msgid "Zoom &2"
+msgstr "Zum &2"
+
+msgctxt "ID_VIEW_VF_FROMOUTSIDE"
+msgid "Touch Window From &Outside"
+msgstr "Dodirni Prozor Izvana"
+
+msgctxt "POPUP"
+msgid "&Aspect Ratio"
+msgstr "Razmjera"
+
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Po&drazumijevano (DAR)"
+
+msgctxt "ID_ASPECTRATIO_4_3"
+msgid "&4:3"
+msgstr "&4:3"
+
+msgctxt "ID_ASPECTRATIO_5_4"
+msgid "&5:4"
+msgstr "&5:4"
+
+msgctxt "ID_ASPECTRATIO_16_9"
+msgid "&16:9"
+msgstr "&16:9"
+
+msgctxt "ID_ASPECTRATIO_235_100"
+msgid "&235:100"
+msgstr "&235:100"
+
+msgctxt "ID_ASPECTRATIO_185_100"
+msgid "1&85:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Podrazumijevano da su kvadratni pik&seli (SAR)"
+
+msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
+msgid "&Correct Monitor/Desktop AR Diff"
+msgstr "Popravi Monitor/Desktop AR Diff"
+
+msgctxt "POPUP"
+msgid "Pa&n&&Scan"
+msgstr "Pa&n&&Scan"
+
+msgctxt "ID_VIEW_INCSIZE"
+msgid "&Increase Size"
+msgstr "Povećaj Veličinu"
+
+msgctxt "ID_VIEW_DECSIZE"
+msgid "&Decrease Size"
+msgstr "Smanji Veličinu"
+
+msgctxt "ID_VIEW_INCWIDTH"
+msgid "I&ncrease Width"
+msgstr "Povećaj Širinu"
+
+msgctxt "ID_VIEW_DECWIDTH"
+msgid "D&ecrease Width"
+msgstr "Smanji Širinu"
+
+msgctxt "ID_VIEW_INCHEIGHT"
+msgid "In&crease Height"
+msgstr "Povećaj Visinu"
+
+msgctxt "ID_VIEW_DECHEIGHT"
+msgid "Decre&ase Height"
+msgstr "Sm&anji Visinu"
+
+msgctxt "ID_PANSCAN_MOVERIGHT"
+msgid "Move &Right"
+msgstr "Pomakni desno"
+
+msgctxt "ID_PANSCAN_MOVELEFT"
+msgid "Move &Left"
+msgstr "Pomakni &Lijevo"
+
+msgctxt "ID_PANSCAN_MOVEUP"
+msgid "Move &Up"
+msgstr "Pomakni Gore"
+
+msgctxt "ID_PANSCAN_MOVEDOWN"
+msgid "Move &Down"
+msgstr "Pomakni &Dole"
+
+msgctxt "ID_PANSCAN_CENTER"
+msgid "Cen&ter"
+msgstr "Cen&triraj"
+
+msgctxt "ID_VIEW_RESET"
+msgid "Re&set"
+msgstr "Re&setuj"
+
+msgctxt "POPUP"
+msgid "On &Top"
+msgstr "Na Vrhu"
+
+msgctxt "ID_ONTOP_DEFAULT"
+msgid "&Default"
+msgstr "Po&drazumijevano"
+
+msgctxt "ID_ONTOP_ALWAYS"
+msgid "&Always"
+msgstr "Uvijek"
+
+msgctxt "ID_ONTOP_WHILEPLAYING"
+msgid "While &Playing"
+msgstr "Tokom Re&produkcije"
+
+msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
+msgid "While Playing &Video"
+msgstr "Tokom Reprodukcije &Videa"
+
+msgctxt "ID_VIEW_OPTIONS"
+msgid "&Options..."
+msgstr "&Opcije..."
+
+msgctxt "POPUP"
+msgid "&Play"
+msgstr "Re&produkcija"
+
+msgctxt "ID_PLAY_PLAYPAUSE"
+msgid "&Play/Pause"
+msgstr "Reprodukuj/&Pauziraj"
+
+msgctxt "ID_PLAY_STOP"
+msgid "&Stop"
+msgstr "Zau&stavi"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "Fra&me Step"
+msgstr "Korak Isječka"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Ponovi"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Zauvijek"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Dokument"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Playlista"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "&Decrease Rate"
+msgstr "Smanji Tempo"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "&Increase Rate"
+msgstr "Povećaj Tempo"
+
+msgctxt "ID_PLAY_RESETRATE"
+msgid "R&eset Rate"
+msgstr "R&esetuj Tempo"
+
+msgctxt "ID_FILTERS"
+msgid "&Filters"
+msgstr "&Filteri"
+
+msgctxt "ID_SHADERS"
+msgid "S&haders"
+msgstr "Sjenčila"
+
+msgctxt "ID_AUDIOS"
+msgid "&Audio Track"
+msgstr "&Audio Zapis"
+
+msgctxt "ID_SUBTITLES"
+msgid "Su&btitle Track"
+msgstr "Zapis Titla"
+
+msgctxt "ID_VIDEO_STREAMS"
+msgid "Vide&o Track"
+msgstr "Vide&o Zapis"
+
+msgctxt "POPUP"
+msgid "&Volume"
+msgstr "Jačina z&vuka"
+
+msgctxt "ID_VOLUME_UP"
+msgid "&Up"
+msgstr "Pojačaj"
+
+msgctxt "ID_VOLUME_DOWN"
+msgid "&Down"
+msgstr "Smanji"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "&Mute"
+msgstr "Isključi ton"
+
+msgctxt "POPUP"
+msgid "Af&ter Playback"
+msgstr "Nakon Reprodukcije"
+
+msgctxt "ID_AFTERPLAYBACK_DONOTHING"
+msgid "Do no&thing"
+msgstr "Ne radi niš&ta"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Pokreni &naredni dokument u direktoriju"
+
+msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
+msgid "Turn off the &monitor"
+msgstr "Isključi &monitor"
+
+msgctxt "ID_AFTERPLAYBACK_EXIT"
+msgid "&Exit"
+msgstr "Izađi"
+
+msgctxt "ID_AFTERPLAYBACK_STANDBY"
+msgid "&Stand By"
+msgstr "&Stani pripravnosti"
+
+msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
+msgid "&Hibernate"
+msgstr "&Hibernacija"
+
+msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
+msgid "Shut&down"
+msgstr "Gašenje"
+
+msgctxt "ID_AFTERPLAYBACK_LOGOFF"
+msgid "Log &Off"
+msgstr "&Odloguj se"
+
+msgctxt "ID_AFTERPLAYBACK_LOCK"
+msgid "&Lock"
+msgstr "Zak&ljučaj"
+
+msgctxt "POPUP"
+msgid "&Navigate"
+msgstr "&Navigacija"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "&Previous"
+msgstr "&Prethodni"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "&Next"
+msgstr "Sljedeći"
+
+msgctxt "ID_NAVIGATE_GOTO"
+msgid "&Go To..."
+msgstr "Idi Na..."
+
+msgctxt "ID_NAVIGATE_TITLEMENU"
+msgid "&Title Menu"
+msgstr "Naslovni Meni"
+
+msgctxt "ID_NAVIGATE_ROOTMENU"
+msgid "&Root Menu"
+msgstr "Ko&rijenski Meni"
+
+msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
+msgid "&Subtitle Menu"
+msgstr "Meni Titlova"
+
+msgctxt "ID_NAVIGATE_AUDIOMENU"
+msgid "&Audio Menu"
+msgstr "&Audio Meni"
+
+msgctxt "ID_NAVIGATE_ANGLEMENU"
+msgid "An&gle Menu"
+msgstr "Meni U&gla"
+
+msgctxt "ID_NAVIGATE_CHAPTERMENU"
+msgid "&Chapter Menu"
+msgstr "Meni Poglavlja"
+
+msgctxt "ID_FAVORITES"
+msgid "F&avorites"
+msgstr "Omiljeni"
+
+msgctxt "POPUP"
+msgid "&Help"
+msgstr "Pomoć"
+
+msgctxt "ID_HELP_HOMEPAGE"
+msgid "&Home Page"
+msgstr "&Home Page"
+
+msgctxt "ID_HELP_CHECKFORUPDATE"
+msgid "Check for &updates"
+msgstr "Provjeri nadgradnje"
+
+msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
+msgid "&Command Line Switches"
+msgstr "Prekidači Komandne Linije"
+
+msgctxt "ID_HELP_TOOLBARIMAGES"
+msgid "Download &Toolbar Images"
+msgstr "Download-uj slike Alatne &Trake"
+
+msgctxt "ID_HELP_DONATE"
+msgid "&Donate"
+msgstr "&Doniraj"
+
+msgctxt "ID_HELP_ABOUT"
+msgid "&About..."
+msgstr "O programu..."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.strings.po
new file mode 100644
index 000000000..d349e79dd
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bs_BA.strings.po
@@ -0,0 +1,3962 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2017 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Samir Gutić <amicussamir@amicus.ba>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-06 08:38+0000\n"
+"Last-Translator: Samir Gutić <amicussamir@amicus.ba>\n"
+"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/mpc-hc/mpc-hc/language/bs_BA/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs_BA\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "IDS_INFOBAR_LOCATION"
+msgid "Location"
+msgstr "Lokacija"
+
+msgctxt "IDS_INFOBAR_VIDEO"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDS_INFOBAR_AUDIO"
+msgid "Audio"
+msgstr "Audio"
+
+msgctxt "IDS_INFOBAR_SUBTITLES"
+msgid "Subtitles"
+msgstr "Titlovi"
+
+msgctxt "IDS_INFOBAR_CHAPTER"
+msgid "Chapter"
+msgstr "Poglavlje"
+
+msgctxt "IDS_CONTROLS_COMPLETING"
+msgid "Completing..."
+msgstr "Završavanje..."
+
+msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
+msgid "Play Video"
+msgstr "Pokreni Video"
+
+msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
+msgid "Play Music"
+msgstr "Pokreni Muziku"
+
+msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
+msgid "Play Audio CD"
+msgstr "Pokreni Audio CD"
+
+msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
+msgid "Play DVD Movie"
+msgstr "Pokreni DVD Film"
+
+msgctxt "IDS_PROPSHEET_PROPERTIES"
+msgid "Properties"
+msgstr "Svojstva"
+
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Dokument"
+
+msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
+msgid "&Default Style"
+msgstr "Podrazumijevani Stil"
+
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Playlista"
+
+msgctxt "IDS_FAVFILES"
+msgid "Files"
+msgstr "Dokumenti"
+
+msgctxt "IDS_FAVDVDS"
+msgid "DVDs"
+msgstr "DVD-ovi"
+
+msgctxt "IDS_INFOBAR_CHANNEL"
+msgid "Channel"
+msgstr "Kanal"
+
+msgctxt "IDS_INFOBAR_TIME"
+msgid "Time"
+msgstr "Vrijeme"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET"
+msgid "Sync Offset"
+msgstr "Pomak za Sinhronizaciju"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
+msgid "avg: %d ms, dev: %d ms"
+msgstr "pros: %d ms, odst: %d ms"
+
+msgctxt "IDS_STATSBAR_JITTER"
+msgid "Jitter"
+msgstr "Prekidanje"
+
+msgctxt "IDS_STATSBAR_BITRATE"
+msgid "Bitrate"
+msgstr "Brzina prijenosa"
+
+msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
+msgid "(avg/cur)"
+msgstr "(pros/tren)"
+
+msgctxt "IDS_STATSBAR_SIGNAL"
+msgid "Signal"
+msgstr "Signal"
+
+msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
+msgid "Strength: %d dB, Quality: %ld%%"
+msgstr "Snaga: %d dB, Kvalitet: %ld%%"
+
+msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
+msgid "Styles"
+msgstr "Stilovi"
+
+msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
+msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
+msgstr "Ako je cilj renderiranja ostavljen nedefinisan, SSA/ASS titlovi će biti renderirani relativno u odnosu na video isječak dok će svi ostali titlovi biti renderirani relativno u odnosu na prozor."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Modus Ponavljanja: Playlista"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Repeat Mode: Dokument"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Ponavljanje Unedogled: Uključeno"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Ponavljanje Unedogled: Isključeno"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Ponavljanje Unedogled"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG0"
+msgid "Never (fastest approach)"
+msgstr "Nikad (najbrži pristup)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG1"
+msgid "Only when switching different video types (default)"
+msgstr "Samo pri prelasku na različite tipove videa (podrazumijevano)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG2"
+msgid "Always (slowest option)"
+msgstr "Uvijek (najsporija opcija)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
+msgid "Not supported by some devices. Two video decoders always present in the filter graph."
+msgstr "Neki uređaji ne podržavaju. Dva video dekodera uvijek prisutna u filter grafikonu."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
+msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
+msgstr "Brzo, osim pri prebacivanju između različitih video tokova. U filter grafikonu je prisutan samo jedan video dekoder."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
+msgid "Not recommended. Only for testing purposes."
+msgstr "Nije preporučeno. Samo u svrhu testiranja."
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG0"
+msgid "Never if possible (fastest, but not supported by most filters)"
+msgstr "Ako je moguće, nikada (najbrže, ali nije podržano od strane većine filtera)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG1"
+msgid "Only when switching different video types (default)"
+msgstr "Samo pri prelasku na različite tipove videa (podrazumijevano)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG2"
+msgid "Always (may be required by some devices)"
+msgstr "Uvijek (može biti obavezno za neke uređaje)"
+
+msgctxt "IDS_INFOBAR_PARENTAL_RATING"
+msgid "Parental rating"
+msgstr "Roditeljsko ocjenjivanje"
+
+msgctxt "IDS_PARENTAL_RATING"
+msgid "%d+"
+msgstr "%d+"
+
+msgctxt "IDS_NO_PARENTAL_RATING"
+msgid "Not rated"
+msgstr "Nije ocijenjeno"
+
+msgctxt "IDS_INFOBAR_CONTENT"
+msgid "Content"
+msgstr "Sadržaj"
+
+msgctxt "IDS_CONTENT_MOVIE_DRAMA"
+msgid "Movie/Drama"
+msgstr "Film/Drama"
+
+msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
+msgid "News/Current affairs"
+msgstr "Vijesti/Trenutna događanja"
+
+msgctxt "IDS_SPEED_UNIT_G"
+msgid "GB/s"
+msgstr "GB/s"
+
+msgctxt "IDS_FILE_FAV_ADDED"
+msgid "File added to favorites"
+msgstr "Dokument je dodan u omiljene"
+
+msgctxt "IDS_DVD_FAV_ADDED"
+msgid "DVD added to favorites"
+msgstr "DVD je dodan u omiljene"
+
+msgctxt "IDS_CAPTURE_SETTINGS"
+msgid "Capture Settings"
+msgstr "Podešenja Snimanja"
+
+msgctxt "IDS_NAVIGATION_BAR"
+msgid "Navigation Bar"
+msgstr "Traka za navigaciju"
+
+msgctxt "IDS_SUBRESYNC_CAPTION"
+msgid "Subresync"
+msgstr "Resinhronizacija titlova"
+
+msgctxt "IDS_SUBRESYNC_CLN_TIME"
+msgid "Time"
+msgstr "Vrijeme"
+
+msgctxt "IDS_SUBRESYNC_CLN_END"
+msgid "End"
+msgstr "Kraj"
+
+msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
+msgid "Preview"
+msgstr "Pogledaj"
+
+msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
+msgid "Vob ID"
+msgstr "Vob ID"
+
+msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
+msgid "Cell ID"
+msgstr "ID ćelije"
+
+msgctxt "IDS_SUBRESYNC_CLN_FORCED"
+msgid "Forced"
+msgstr "Nametnuto"
+
+msgctxt "IDS_SUBRESYNC_CLN_TEXT"
+msgid "Text"
+msgstr "Tekst"
+
+msgctxt "IDS_SUBRESYNC_CLN_STYLE"
+msgid "Style"
+msgstr "Stil"
+
+msgctxt "IDS_SUBRESYNC_CLN_FONT"
+msgid "Font"
+msgstr "Tip slova"
+
+msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
+msgid "Failed to render some of the pins of the DVD Navigator filter"
+msgstr "Nije uspjelo renderiranje nekih pinova DVD Navigacionog filtera"
+
+msgctxt "IDS_DVD_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for DVD playback"
+msgstr "Nije uspio upit za potrebnim sučeljem za DVD reprodukciju"
+
+msgctxt "IDS_CAPTURE_LIVE"
+msgid "Live"
+msgstr "Uživo"
+
+msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
+msgid "Can't add video capture filter to the graph"
+msgstr "Na grafikon nije moguće dodati video filter za snimanje"
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
+msgid "Can't add audio capture filter to the graph"
+msgstr "Na grafikon nije moguće dodati audio filter za snimanje"
+
+msgctxt "IDS_CAPTURE_ERROR_DEVICE"
+msgid "Could not open capture device."
+msgstr "Nije moguće otvoriti uređaj za snimanje."
+
+msgctxt "IDS_INVALID_PARAMS_ERROR"
+msgid "Can't open, invalid input parameters"
+msgstr "Nije moguće otvoriti, neispravni ulazni parametri"
+
+msgctxt "IDS_EDIT_LIST_EDITOR"
+msgid "Edit List Editor"
+msgstr "Izmijeni Uređivač Liste"
+
+msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
+msgid "The entered time is greater than the file duration."
+msgstr "Uneseno vrijeme je veće od trajanja dokumenta."
+
+msgctxt "IDS_MISSING_ICONS_LIB"
+msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
+msgstr "Nedostaje biblioteka ikonica \"mpciconlib.dll\".\nZa asocijacije sa dokumentima će biti korištena podrazumijevana ikonica player-a.\nMolimo ponovo instalirajte MPC-HC da bi dobili \"mpciconlib.dll\"."
+
+msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
+msgid "File"
+msgstr "Dokument"
+
+msgctxt "IDS_SUBDL_DLG_LANGUAGE_COL"
+msgid "Language"
+msgstr "Jezik"
+
+msgctxt "IDS_SUBDL_DLG_FORMAT_COL"
+msgid "Format"
+msgstr "Format"
+
+msgctxt "IDS_SUBDL_DLG_DISC_COL"
+msgid "Disc"
+msgstr "Disk"
+
+msgctxt "IDS_SUBDL_DLG_TITLES_COL"
+msgid "Title(s)"
+msgstr "Naslov(i)"
+
+msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
+msgid "CharSet"
+msgstr "SkupZnakova"
+
+msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
+msgid "Unicode"
+msgstr "Unikod"
+
+msgctxt "IDS_SUBRESYNC_CLN_LAYER"
+msgid "Layer"
+msgstr "Sloj"
+
+msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
+msgid "Actor"
+msgstr "Glumac"
+
+msgctxt "IDS_SUBRESYNC_CLN_EFFECT"
+msgid "Effect"
+msgstr "Efekt"
+
+msgctxt "IDS_PLAYLIST_CAPTION"
+msgid "Playlist"
+msgstr "Playlista"
+
+msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
+msgid "On/Off"
+msgstr "Uključno/Isključeno"
+
+msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
+msgid "From (FPS)"
+msgstr "Od (FPS)"
+
+msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
+msgid "To (FPS)"
+msgstr "Do (FPS)"
+
+msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
+msgid "Display mode (Hz)"
+msgstr "Modus display-a (Hz)"
+
+msgctxt "IDS_PPAGE_FS_DEFAULT"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+msgctxt "IDS_PPAGE_FS_OTHER"
+msgid "Other"
+msgstr "Ostalo"
+
+msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
+msgid "System Default"
+msgstr "Sistemski Podrazumijevano"
+
+msgctxt "IDS_GRAPH_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for playback"
+msgstr "Nije uspio upit za sučeljem potrebnim za reprodukciju"
+
+msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
+msgid "Could not set target window for graph notification"
+msgstr "Nije bilo moguće postaviti prozor za obavještenje grafikona"
+
+msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
+msgid "Failed to render all pins of the DVD Navigator filter"
+msgstr "Nije uspjelo renderiranje svih pinova filtera DVD Navigatora"
+
+msgctxt "IDS_PLAYLIST_OPEN"
+msgid "&Open"
+msgstr "&Otvori"
+
+msgctxt "IDS_PLAYLIST_ADD"
+msgid "A&dd"
+msgstr "&Dodaj"
+
+msgctxt "IDS_PLAYLIST_REMOVE"
+msgid "&Remove"
+msgstr "Ukloni"
+
+msgctxt "IDS_PLAYLIST_CLEAR"
+msgid "C&lear"
+msgstr "Počisti"
+
+msgctxt "IDS_PLAYLIST_COPYTOCLIPBOARD"
+msgid "&Copy to clipboard"
+msgstr "Kopiraj u &clipboard"
+
+msgctxt "IDS_PLAYLIST_SAVEAS"
+msgid "&Save As..."
+msgstr "&Snimi Kao..."
+
+msgctxt "IDS_PLAYLIST_SORTBYLABEL"
+msgid "Sort by &label"
+msgstr "Sortiraj po &labeli"
+
+msgctxt "IDS_PLAYLIST_SORTBYPATH"
+msgid "Sort by &path"
+msgstr "Sortiraj po &putanji"
+
+msgctxt "IDS_PLAYLIST_RANDOMIZE"
+msgid "R&andomize"
+msgstr "Po sluč&ajnom redoslijedu"
+
+msgctxt "IDS_PLAYLIST_RESTORE"
+msgid "R&estore"
+msgstr "Vrati"
+
+msgctxt "IDS_SUBRESYNC_SEPARATOR"
+msgid "&Separator"
+msgstr "&Separator"
+
+msgctxt "IDS_SUBRESYNC_DELETE"
+msgid "&Delete"
+msgstr "Izbriši"
+
+msgctxt "IDS_SUBRESYNC_DUPLICATE"
+msgid "D&uplicate"
+msgstr "D&upliciraj"
+
+msgctxt "IDS_SUBRESYNC_RESET"
+msgid "&Reset"
+msgstr "&Resetuj"
+
+msgctxt "IDS_MPLAYERC_104"
+msgid "Subtitle Delay -"
+msgstr "Kašnjenje Titla -"
+
+msgctxt "IDS_MPLAYERC_105"
+msgid "Subtitle Delay +"
+msgstr "Kašnjenje Titla +"
+
+msgctxt "IDS_FILE_SAVE_THUMBNAILS"
+msgid "Save thumbnails"
+msgstr "Sačuvaj sličice"
+
+msgctxt "IDD_PPAGEPLAYBACK"
+msgid "Playback"
+msgstr "Reprodukcija"
+
+msgctxt "IDD_PPAGEPLAYER"
+msgid "Player"
+msgstr "Player"
+
+msgctxt "IDD_PPAGEDVD"
+msgid "Playback::DVD/OGM"
+msgstr "Reprodukcija::DVD/OGM"
+
+msgctxt "IDD_PPAGESUBTITLES"
+msgid "Subtitles"
+msgstr "Titlovi"
+
+msgctxt "IDD_PPAGEFORMATS"
+msgid "Player::Formats"
+msgstr "Player::Formati"
+
+msgctxt "IDD_PPAGETWEAKS"
+msgid "Tweaks"
+msgstr "Fino podešavanje"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER"
+msgid "Internal Filters::Audio Switcher"
+msgstr "Interni Filteri::Audio Preklopnik"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS"
+msgid "External Filters"
+msgstr "Eksterni Filteri"
+
+msgctxt "IDD_PPAGESHADERS"
+msgid "Playback::Shaders"
+msgstr "Reprodukcija::Sjenčila"
+
+msgctxt "IDD_FILEPROPRES"
+msgid "Resources"
+msgstr "Resursi"
+
+msgctxt "IDD_PPAGEMISC"
+msgid "Miscellaneous"
+msgstr "Razno"
+
+msgctxt "IDD_FILEMEDIAINFO"
+msgid "MediaInfo"
+msgstr "MediaInfo"
+
+msgctxt "IDD_PPAGECAPTURE"
+msgid "Playback::Capture"
+msgstr "Reprodukcija::Snimanje"
+
+msgctxt "IDD_PPAGESYNC"
+msgid "Playback::Sync Renderer Settings"
+msgstr "Reprodukcija::Podešenja Sinhronizacije Renderiranja"
+
+msgctxt "IDD_PPAGEFULLSCREEN"
+msgid "Playback::Fullscreen"
+msgstr "Reprodukcija::Cijeli ekran"
+
+msgctxt "IDD_PPAGEAUDIORENDERER"
+msgid "Internal Filters::Audio Renderer"
+msgstr "Interni Filteri::Audio Renderer"
+
+msgctxt "IDS_AUDIOSWITCHER"
+msgid "Audio Switcher"
+msgstr "Audio Preklopnik"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
+msgid "New version of the icon library"
+msgstr "Nov averzija biblioteke ikonica"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
+msgid "Do you want to reassociate the icons?"
+msgstr "Želite li ponovo dodijeliti ikonice?"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
+msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
+msgstr "Ovo će popraviti ikonice koje nisu ispravno prikazane nakon nadgradnje biblioteke ikonica.\nAsocijacije dokumenata neće biti mijenjane, biće osvježene samo odgovarajuće ikonice."
+
+msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
+msgid "Old Video Renderer"
+msgstr "Stari Video Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
+msgid "Overlay Mixer Renderer"
+msgstr "Overay Mikser Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
+msgid "Video Mixing Renderer 9 (windowed)"
+msgstr "Renderer za Video Miksanje (u prozoru)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
+msgid "Video Mixing Renderer 9 (renderless)"
+msgstr "Renderer za Video Miksanje (bez renderiranja)"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR"
+msgid "Enhanced Video Renderer"
+msgstr "Napredni Video Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
+msgid "Enhanced Video Renderer (custom presenter)"
+msgstr "Napredni Video Renderer (prezenter po mjeri)"
+
+msgctxt "IDS_PPAGE_OUTPUT_DXR"
+msgid "Haali Video Renderer"
+msgstr "Haali Video Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Null (bilo šta)"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Null (bez kompresije)"
+
+msgctxt "IDS_PPAGE_OUTPUT_MADVR"
+msgid "madVR"
+msgstr "madVR"
+
+msgctxt "IDD_PPAGEACCELTBL"
+msgid "Player::Keys"
+msgstr "Player::Tipke"
+
+msgctxt "IDD_PPAGESUBSTYLE"
+msgid "Subtitles::Default Style"
+msgstr "Titlovi::Podrazumijevani Stil"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS"
+msgid "Internal Filters"
+msgstr "Interni Filteri"
+
+msgctxt "IDD_PPAGELOGO"
+msgid "Player::Logo"
+msgstr "Player::Logo"
+
+msgctxt "IDD_PPAGEOUTPUT"
+msgid "Playback::Output"
+msgstr "Reprodukcija::Izlaz"
+
+msgctxt "IDD_PPAGEWEBSERVER"
+msgid "Player::Web Interface"
+msgstr "Player::Web Sučelje"
+
+msgctxt "IDD_FILEPROPDETAILS"
+msgid "Details"
+msgstr "Detalji"
+
+msgctxt "IDD_FILEPROPCLIP"
+msgid "Clip"
+msgstr "Isječak"
+
+msgctxt "IDC_DSSYSDEF"
+msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
+msgstr "Podrazumijevani video renderer filter za DirectShow. Ostali će pasti na ovaj kada ne mogu biti učitani iz nekog razloga. Na Windows XP to je isto što i VMR-7 (u prozoru)."
+
+msgctxt "IDC_DSOLD"
+msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
+msgstr "Ovo je podrazumijevani renderer za Windows 9x/me/2k. Odvisno od vidljivosti video prozora i mogućnosti vaše video kartice, biće dinamički preklapano između GDI, DirectDraw i Overlay modusa renderiranja."
+
+msgctxt "IDC_DSOVERLAYMIXER"
+msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
+msgstr "Uvijek renderira u overlay. Generalno su dozvoljeni samo YUV formati, ali su prezentovani direktno bez bilo kakve konverzije u RGB. Ovo je najbrži metod renderiranja i jedini gdje možete biti sigurni u aktivaciju video miroring-a preko cijelog ekrana na tv izlaz."
+
+msgctxt "IDC_DSVMR9WIN"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Dostupno samo ako imate instaliran DirectX 9. Vrlo stabilan, ali nikada neće koristiti Overlay renderiranje i zbog toga može biti malo sporiji nego Overlay mikser."
+
+msgctxt "IDC_DSVMR9REN"
+msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
+msgstr "Isto kao VMR-9 (u prozoru), ali sa MPC-HC Allocator-Presenter dodatkom za titlovanje. Overlay video mirroring MOŽE raditi. Preporučen jeizbor \"True Color\" za desktop boju. Preporučljivo za Windows XP."
+
+msgctxt "IDC_DSDXR"
+msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
+msgstr "Isto kao i VMR-9 (bez renderiranja), ali koristi dvo-prolaznu bikubnu promjenu veličine."
+
+msgctxt "IDC_DSNULL_COMP"
+msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
+msgstr "Povezuje se sa bilo kojim media tipom koji podsjeća na video i nikuda neće poslati dolazeće uzorke. Koristite ga kada vam nije potreban prikaz videa i želite sačuvati CPU od nepotrebnog rada."
+
+msgctxt "IDC_DSNULL_UNCOMP"
+msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
+msgstr "Isto kao Null renderer, samo što će se ovo konektovatisamo na nekompresovane tipove."
+
+msgctxt "IDC_DSEVR"
+msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
+msgstr "Dostupno samo na Vista ili noviji ili na XP sa instaliranim najmanje .NET Framework 3.5."
+
+msgctxt "IDC_DSEVR_CUSTOM"
+msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
+msgstr "Isto kao EVR, ali sa Allocator-Presenter ili MPC-HC za kreiranje titlova ili postporcesiranje. Preporučeno za Windows Vista ili noviji."
+
+msgctxt "IDC_DSMADVR"
+msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
+msgstr "Renderer visokog kvaliteta, zahtijeva GPU koji podržava D3D9 ilo noviji."
+
+msgctxt "IDC_DSSYNC"
+msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
+msgstr "Isto kao EVR (CP) ali nudi nekoliko opcija za sinhronizaciju tempa videa sa frekvencijom osvježavanja display-a a u svrhu eliminacije preskočenih ili dupliciranih video isječaka."
+
+msgctxt "IDC_RMSYSDEF"
+msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
+msgstr "Real vlastiti renderer. SMIL skripta će raditi ali je malo vjerovatna mogućnost interakcije. Koristi DirectDraw i radi u Overlay načinu kada može."
+
+msgctxt "IDC_RMDX9"
+msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Izlaz Real engine-a renderiran sa DX9-baziranim Allocator-Presenter od VMR-9 (renderless)."
+
+msgctxt "IDC_QTSYSDEF"
+msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
+msgstr "QickTime vlastiti renderer. Postaje malo spor tokom promjene veličine video prozora ili kada je djelimično pokrivne drugim prozorom. Kada Overlay nije dostupan, voli pasti u GDI."
+
+msgctxt "IDC_QTDX9"
+msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Izlaz OickTime engine-a renderiran sa DX9-baziranim Allocator-Presenter od VMR-9 (renderless)."
+
+msgctxt "IDC_REGULARSURF"
+msgid "Video surface will be allocated as a regular offscreen surface."
+msgstr "Video površina će biti alocirana kao regularna površina van ekrana."
+
+msgctxt "IDS_PPAGE_OUTPUT_SYNC"
+msgid "Sync Renderer"
+msgstr "Sinhronizacioni Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
+msgid "Regular offscreen plain surface"
+msgstr "Obična regularna površina izvan ekrana"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
+msgid "2D surfaces"
+msgstr "2D površine"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
+msgid "3D surfaces (recommended)"
+msgstr "3D površine (preporučeno)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
+msgid "Nearest neighbor"
+msgstr "Najbliži susjed"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
+msgid "Bilinear"
+msgstr "Bilinearno"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
+msgid "Bilinear (PS 2.0)"
+msgstr "Bilinearno (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
+msgid "Bicubic A=-0.60 (PS 2.0)"
+msgstr "Bikubno A=-0.60 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
+msgid "Bicubic A=-0.75 (PS 2.0)"
+msgstr "Bikubno A=-0.75 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
+msgid "Bicubic A=-1.00 (PS 2.0)"
+msgstr "Bikubno A=-1 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
+msgid "**unavailable**"
+msgstr "**nije dostupno**"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
+msgid "The selected renderer is not installed."
+msgstr "Izabrani renderer nije instaliran."
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Null (bilo šta)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Null (bez kompresije)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
+msgid "Internal Audio Renderer"
+msgstr "Interni Audio Renderer"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
+msgid "MIME Type"
+msgstr "MIME Tip"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
+msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
+msgstr "Da bi bili u mogućnosti vidjeti ugrađene resurse u vašem web pregledniku morate omogućiti web sučelje.\n\nKoristite dugme \"Snimi Kao\" ako želite samo da sačuvate informacije."
+
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Download-uj Titlove..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Upload-uj Titlove..."
+
+msgctxt "IDS_SUBFILE_DELAY"
+msgid "Delay (ms):"
+msgstr "Odgoda (ms):"
+
+msgctxt "IDS_SPEEDSTEP_AUTO"
+msgid "Auto"
+msgstr "Automatski"
+
+msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
+msgid "There are no customized keys to export."
+msgstr "Ne postoje podešene tipke za export."
+
+msgctxt "IDS_RFS_NO_FILES"
+msgid "No media files found in the archive"
+msgstr "U arhivi nema media dokumenata"
+
+msgctxt "IDS_RFS_COMPRESSED"
+msgid "Compressed files are not supported"
+msgstr "Kompresovani dokumenti nisu podržani"
+
+msgctxt "IDS_RFS_ENCRYPTED"
+msgid "Encrypted files are not supported"
+msgstr "Kriptovani dokumenti nisu podržani"
+
+msgctxt "IDS_RFS_MISSING_VOLS"
+msgid "Couldn't find all archive volumes"
+msgstr "Nije bilo moguće pronaći sve dijelove arhive"
+
+msgctxt "IDC_TEXTURESURF2D"
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Video površina će biti alocirana kao tekstura ali će i dalje druge funkcije biti korištene za kopiranje i razvlačenje u backbuffer-e. Zahtijeva video karticu koja može alocirati 32-bitni, RGBA, tekstura čija veličina nije nije-potencija-broja-dva i barem u rezoluciji videa."
+
+msgctxt "IDC_TEXTURESURF3D"
+msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
+msgstr "Video površina će biti alocirana kao tekstura i iscrtana kao dva trokuta unutar 3-ćeg. Antialiasing uključen na display-u može imati loš efekat na brzinu renderiranja."
+
+msgctxt "IDC_DX9RESIZER_COMBO"
+msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
+msgstr "Ako nema podrške za Pixel Shader 2.0, automatski će biti korišten jednostavni bilinearni."
+
+msgctxt "IDC_DSVMR9LOADMIXER"
+msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
+msgstr "Postavlja VMR-9 (renderless) u mikser modus, što znači da će većina kontrola na njegovoj stranici karakteristika biti u funkciji i da će koristiti posebnnu radnu nit za renderiranje isječaka."
+
+msgctxt "IDC_DSVMR9YUVMIXER"
+msgid "Improves performance at the cost of some compatibility of the renderer."
+msgstr "Popravlja performanse na štetu kompatibilnosti ili renderiranja."
+
+msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "Reduces tearing but prevents the toolbar from being shown."
+msgstr "Smanjuje trganje ali sprječava prikazivanje trake sa alatima."
+
+msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Reduces tearing by bypassing the default VSync built into D3D."
+msgstr "Smanjuje trganje premoštavanjem podrazumijevanog VSync ugrađenog u D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Skeniranje tunera"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Titlovi nisu učitani ili renderer nije podržan."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Smiješta kompajlirana sjenila u lokalni AppData da ubrza vrijeme učitavanja."
+
+msgctxt "IDS_SRC_VTS"
+msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
+msgstr "Otvori VTS_xx_0.ifo za učitavanje VTS_xx_x.vob dokumenata u jednom komadu"
+
+msgctxt "IDS_SRC_RFS"
+msgid "Based on RARFileSource, doesn't support compressed files"
+msgstr "Na osnovu RARFileSource, ne podržava kompresovane dokumente"
+
+msgctxt "IDS_INTERNAL_LAVF"
+msgid "Uses LAV Filters"
+msgstr "Koristi LAV Filtere"
+
+msgctxt "IDS_INTERNAL_LAVF_WMV"
+msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
+msgstr "Koristi LAV Filters. Podrazumijevano je onemogućeno budući da su Microsoft filteri stabilniji za te formate.\nAko izaberete da koristite interne filtere, omogućite ih za oboje - izvor i dekodiranje da bi imali bolju reprodukciju."
+
+msgctxt "IDS_AG_TOGGLE_NAVIGATION"
+msgid "Toggle Navigation Bar"
+msgstr "Prikaži/Sakrij Traku za Navigaciju"
+
+msgctxt "IDS_AG_VSYNCACCURATE"
+msgid "Accurate VSync"
+msgstr "Precizan VSync"
+
+msgctxt "IDC_CHECK_RELATIVETO"
+msgid "If the rendering target is left undefined, it will be inherited from the default style."
+msgstr "Ako su mete renderiranja ostavljene nedefinisane, biće naslijeđene od podrazumijevanog stila."
+
+msgctxt "IDC_CHECK_NO_SUB_ANIM"
+msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
+msgstr "Onemogući animaciju titlova. Uključivanje ove opcije će smanjiti opterećenje CPU. Možete koristiti ovu opciju ako primijetite bljeskanje titlova."
+
+msgctxt "IDC_SUBPIC_TO_BUFFER"
+msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
+msgstr "Povećanje broja buffer-ovanih podslika bi, uopšteno, trebalo popraviti poerformanse renderiranja na štetu veće upotrebe RAM-a i GPU."
+
+msgctxt "IDC_BUTTON_EXT_SET"
+msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
+msgstr "Nakon klika na ovo dugme, označenost grupe formata će oslikavati stvarne asocijacije dokumenata za MPC-HC. Novododane ekstenzije će obično biti sive pa ne zaboravite d aih ponovo uključite prije zatvaranja ovog dijaloga."
+
+msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
+msgstr "Onemogućivanje ove opcije će spriječiti treptanje titlova, ali može uzrokovatai da video renderer preskoči neke video sličice."
+
+msgctxt "ID_PLAY_PLAY"
+msgid "Play\nPlay"
+msgstr "Reprodukuj\nReprodukuj"
+
+msgctxt "ID_PLAY_PAUSE"
+msgid "Pause\nPause"
+msgstr "Pauziraj\nPauziraj"
+
+msgctxt "ID_PLAY_STOP"
+msgid "Stop\nStop"
+msgstr "Zaustavi\nZaustavi"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "Step\nStep"
+msgstr "Korak\nKorak"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "Decrease speed\nDecrease speed"
+msgstr "Smanji brzinu\nSmanji brzinu"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "Increase speed\nIncrease speed"
+msgstr "Povećaj brzinu\nPovećaj brzinu"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "Mute"
+msgstr "Isključi ton"
+
+msgctxt "ID_VOLUME_MUTE_OFF"
+msgid "Unmute"
+msgstr "Uključi ton"
+
+msgctxt "ID_VOLUME_MUTE_DISABLED"
+msgid "No audio"
+msgstr "Nema zvuka"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "Skip back\nSkip back"
+msgstr "Preskoči unazad\nPreskoči unazad"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "Skip forward\nSkip forward"
+msgstr "Preskoči unaprijed\nPreskoči unaprijed"
+
+msgctxt "IDS_SUBRESYNC_ORIGINAL"
+msgid "&Original"
+msgstr "&Original"
+
+msgctxt "IDS_SUBRESYNC_CURRENT"
+msgid "&Current"
+msgstr "Trenutno"
+
+msgctxt "IDS_SUBRESYNC_EDIT"
+msgid "&Edit"
+msgstr "Izmij&eni"
+
+msgctxt "IDS_SUBRESYNC_YES"
+msgid "&Yes"
+msgstr "Da"
+
+msgctxt "IDS_SUBRESYNC_NO"
+msgid "&No"
+msgstr "&Ne"
+
+msgctxt "IDS_SUBRESYNC_DECREASE"
+msgid "&Decrease"
+msgstr "Umanji"
+
+msgctxt "IDS_SUBRESYNC_INCREASE"
+msgid "&Increase"
+msgstr "Povećaj"
+
+msgctxt "IDS_OPTIONS_CAPTION"
+msgid "Options"
+msgstr "Opcije"
+
+msgctxt "IDS_SHADERS_SELECT"
+msgid "&Select Shaders..."
+msgstr "Izaberi &Sjenčila"
+
+msgctxt "IDS_SHADERS_DEBUG"
+msgid "&Debug Shaders..."
+msgstr "Otklanjanje Grešaka Sjenčila"
+
+msgctxt "IDS_FAVORITES_ADD"
+msgid "&Add to Favorites..."
+msgstr "Dodaj u Omiljene"
+
+msgctxt "IDS_FAVORITES_ORGANIZE"
+msgid "&Organize Favorites..."
+msgstr "Uredi Omiljene..."
+
+msgctxt "IDS_PLAYLIST_SHUFFLE"
+msgid "Sh&uffle"
+msgstr "Napr&eskak"
+
+msgctxt "IDS_PLAYLIST_SHOWFOLDER"
+msgid "Ope&n file location"
+msgstr "Otvori lokaciju dokume&nta"
+
+msgctxt "IDS_CONTROLS_CLOSING"
+msgid "Closing..."
+msgstr "Zatvaranje..."
+
+msgctxt "IDS_CONTROLS_PLAYING"
+msgid "Playing"
+msgstr "Reprodukcija"
+
+msgctxt "IDS_CONTROLS_PAUSED"
+msgid "Paused"
+msgstr "Pauzirano"
+
+msgctxt "IDS_AG_EDL_NEW_CLIP"
+msgid "EDL new clip"
+msgstr "EDL novi isječak"
+
+msgctxt "IDS_RECENT_FILES_CLEAR"
+msgid "&Clear list"
+msgstr "Pobriši listu"
+
+msgctxt "IDS_RECENT_FILES_QUESTION"
+msgid "Are you sure that you want to delete recent files list?"
+msgstr "Da li ste sigurni da želite da pobriete listu skorašnjih dokumenata?"
+
+msgctxt "IDS_AG_EDL_SAVE"
+msgid "EDL save"
+msgstr "EDL snimi"
+
+msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time Correction"
+msgstr "Omogući Korekciju Vremena Isječka"
+
+msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
+msgid "Toggle EDL window"
+msgstr "Uključi/Isključi EDL prozor"
+
+msgctxt "IDS_AG_EDL_IN"
+msgid "EDL set In"
+msgstr "EDL upostavljen"
+
+msgctxt "IDS_AG_EDL_OUT"
+msgid "EDL set Out"
+msgstr "EDL pokrenut"
+
+msgctxt "IDS_AG_PNS_ROTATEX_M"
+msgid "PnS Rotate X-"
+msgstr "PnS Rotacija X-"
+
+msgctxt "IDS_AG_PNS_ROTATEY_P"
+msgid "PnS Rotate Y+"
+msgstr "PnS Rotacija Y+"
+
+msgctxt "IDS_AG_PNS_ROTATEY_M"
+msgid "PnS Rotate Y-"
+msgstr "PnS Rotacija Y-"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_P"
+msgid "PnS Rotate Z+"
+msgstr "PnS Rotacija Z+"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_M"
+msgid "PnS Rotate Z-"
+msgstr "PnS Rotacija Z-"
+
+msgctxt "IDS_AG_TEARING_TEST"
+msgid "Tearing Test"
+msgstr "Test Trganja"
+
+msgctxt "IDS_SCALE_16_9"
+msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "Skaliraj na 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_WIDESCREEN"
+msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zumiraj na Widescreen,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_ULTRAWIDE"
+msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zumiraj na Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_PLAYLIST_HIDEFS"
+msgid "&Hide on Fullscreen"
+msgstr "Sakrij u prikazu preko Cijelog ekrana"
+
+msgctxt "IDS_CONTROLS_STOPPED"
+msgid "Stopped"
+msgstr "Zaustavljeno"
+
+msgctxt "IDS_CONTROLS_BUFFERING"
+msgid "Buffering... (%d%%)"
+msgstr "Bafering... (%d%%)"
+
+msgctxt "IDS_CONTROLS_CAPTURING"
+msgid "Capturing..."
+msgstr "Snimanje..."
+
+msgctxt "IDS_CONTROLS_OPENING"
+msgid "Opening..."
+msgstr "Otvaranje..."
+
+msgctxt "IDS_CONTROLS_CLOSED"
+msgid "Closed"
+msgstr "Zatvoreno"
+
+msgctxt "IDS_SUBTITLES_OPTIONS"
+msgid "&Options..."
+msgstr "&Opcije..."
+
+msgctxt "IDS_SUBTITLES_STYLES"
+msgid "&Styles..."
+msgstr "&Stilovi..."
+
+msgctxt "IDS_SUBTITLES_RELOAD"
+msgid "&Reload"
+msgstr "Ponovo učitaj"
+
+msgctxt "IDS_SUBTITLES_ENABLE"
+msgid "&Enable"
+msgstr "Omogući"
+
+msgctxt "IDS_PANSCAN_EDIT"
+msgid "&Edit..."
+msgstr "Izmijeni..."
+
+msgctxt "IDS_INFOBAR_TITLE"
+msgid "Title"
+msgstr "Naslov"
+
+msgctxt "IDS_INFOBAR_AUTHOR"
+msgid "Author"
+msgstr "Autor"
+
+msgctxt "IDS_INFOBAR_COPYRIGHT"
+msgid "Copyright"
+msgstr "Autorska prava"
+
+msgctxt "IDS_INFOBAR_RATING"
+msgid "Rating"
+msgstr "Ocjena"
+
+msgctxt "IDS_INFOBAR_DESCRIPTION"
+msgid "Description"
+msgstr "Opis"
+
+msgctxt "IDS_INFOBAR_DOMAIN"
+msgid "Domain"
+msgstr "Domena"
+
+msgctxt "IDS_AG_CLOSE"
+msgid "Close"
+msgstr "Zatvori"
+
+msgctxt "IDS_AG_NONE"
+msgid "None"
+msgstr "Ništa"
+
+msgctxt "IDS_AG_COMMAND"
+msgid "Command"
+msgstr "Komanda"
+
+msgctxt "IDS_AG_KEY"
+msgid "Key"
+msgstr "Tipka"
+
+msgctxt "IDS_AG_MOUSE"
+msgid "Mouse Windowed"
+msgstr "Miš u Prozoru"
+
+msgctxt "IDS_AG_MOUSE_FS"
+msgid "Mouse Fullscreen"
+msgstr "Miš Cijeli Ekran"
+
+msgctxt "IDS_AG_APP_COMMAND"
+msgid "App Command"
+msgstr "Komanda Programa"
+
+msgctxt "IDS_AG_MEDIAFILES"
+msgid "Media files (all types)"
+msgstr "Media dokumenti (svi tipovi)"
+
+msgctxt "IDS_AG_ALLFILES"
+msgid "All files (*.*)|*.*|"
+msgstr "Svi dokumenti (*.*)|*.*|"
+
+msgctxt "IDS_AG_AUDIOFILES"
+msgid "Audio files (all types)"
+msgstr "Audio dokumenti (svi tipovi)"
+
+msgctxt "IDS_AG_NOT_KNOWN"
+msgid "Not known"
+msgstr "Nije poznato"
+
+msgctxt "IDS_MPLAYERC_0"
+msgid "Quick Open File"
+msgstr "Brzo Otvaranje Dokumenta"
+
+msgctxt "IDS_AG_OPEN_FILE"
+msgid "Open File"
+msgstr "Otvori Dokument"
+
+msgctxt "IDS_AG_OPEN_DVD"
+msgid "Open DVD/BD"
+msgstr "Otvori DVD/BD"
+
+msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
+msgid "Failed to set post-resize shaders"
+msgstr "Nije uspjelo podešavanje sjenčila za post-promjenu veličine"
+
+msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
+msgid "Failed to set both pre-resize and post-resize shaders"
+msgstr "Nije uspjelo podešavanje oba sjenčila za prije i post-promjenu veličine"
+
+msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
+msgid "Shaders are recompiled automatically when the corresponding files are modified."
+msgstr "Sjenčila su ponovo kompajlirana automatski nakon modifikacije odgovarajućih dokumenata."
+
+msgctxt "IDS_SHADER_DLL_ERR_0"
+msgid "Cannot load %s, pixel shaders will not work."
+msgstr "Nij emoguće učitati %s, sjenila za piksele neće raditi."
+
+msgctxt "IDS_SHADER_DLL_ERR_1"
+msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
+msgstr "Nije moguće pronaći potrebne ulazne tačke za funkcije u %s, sjenila za piksele neće raditi."
+
+msgctxt "IDS_OSD_SHADERS_PRESET"
+msgid "Shader preset: %s"
+msgstr "Podešenja sjenila: %s"
+
+msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
+msgid "Next Shader Preset"
+msgstr "Sljedeće Podešenje Sjenila"
+
+msgctxt "IDS_AG_SHADERS_PRESET_PREV"
+msgid "Prev Shader Preset"
+msgstr "Prethodno Podešenje Sjenila"
+
+msgctxt "IDS_STRING_COLON"
+msgid "%s:"
+msgstr "%s:"
+
+msgctxt "IDS_RECORD_START"
+msgid "Record"
+msgstr "Snimi"
+
+msgctxt "IDS_RECORD_STOP"
+msgid "Stop"
+msgstr "Zaustavi"
+
+msgctxt "IDS_BALANCE"
+msgid "L = R"
+msgstr "L = D"
+
+msgctxt "IDS_BALANCE_L"
+msgid "L +%d%%"
+msgstr "L +%d%%"
+
+msgctxt "IDS_BALANCE_R"
+msgid "R +%d%%"
+msgstr "D +%d%%"
+
+msgctxt "IDS_VOLUME"
+msgid "%d%%"
+msgstr "%d%%"
+
+msgctxt "IDS_BOOST"
+msgid "+%d%%"
+msgstr "+%d%%"
+
+msgctxt "IDS_PLAYLIST_ADDFOLDER"
+msgid "Add containing &folder"
+msgstr "Dodaj &folder u kome se nalazi"
+
+msgctxt "IDS_HW_INDICATOR"
+msgid "[H/W]"
+msgstr "[H/W]"
+
+msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
+msgid "Software Decoding"
+msgstr "Softversko Dekodiranje"
+
+msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
+msgid "Playback rate"
+msgstr "Tempo Reprodukcije"
+
+msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
+msgid "&Copy filters list to clipboard"
+msgstr "Kopiraj listu filtera u clipboard"
+
+msgctxt "IDS_CREDENTIALS_SERVER"
+msgid "Enter server credentials"
+msgstr "Unesi akreditive za server"
+
+msgctxt "IDS_CREDENTIALS_CONNECT"
+msgid "Enter your credentials to connect"
+msgstr "Unesite svoje akreditive za konekciju"
+
+msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
+msgid "Save custom style"
+msgstr "Snimi vlastiti stil"
+
+msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
+msgid "Education/Science/Factual topics"
+msgstr "Obrazovanje/Nauka/Činjenične teme"
+
+msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
+msgid "Hides controls and panels also in windowed mode."
+msgstr "Sakrij kontrole i panele takođe i u prozorskom modusu"
+
+msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
+msgid "Prevent external subtitle renderer to be loaded when internal is in use."
+msgstr "Spriječi učitavanje eksternog renderera titlova kada se koristi interni."
+
+msgctxt "IDS_PPAGEADVANCED_COL_NAME"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
+msgid "Value"
+msgstr "Vrijednost"
+
+msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
+msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
+msgstr "Maksimalan broj dokumenata prikazanih u meniu \"Skorašnji dokumenti\" za koje je potencijalno sačuvana pozicija."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
+msgid "Remember file position only for files longer than N minutes."
+msgstr "Zapamti poziciju reprodukcije dokumenta samo za dokumente duže od N minuta."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
+msgid "Remember file position also for audio files."
+msgstr "Zapamti poziciju dokumenta takođe i za audio dokumente."
+
+msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
+msgid "Do Nothing"
+msgstr "Ne radi Ništa"
+
+msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
+msgid "Play next file in the folder"
+msgstr "Pokreni sljedeći dokument u folderu"
+
+msgctxt "IDS_AFTER_PLAYBACK_REWIND"
+msgid "Rewind current file"
+msgstr "Premotaj trenutni dokument"
+
+msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
+msgid "Close"
+msgstr "Zatvori"
+
+msgctxt "IDS_AFTER_PLAYBACK_EXIT"
+msgid "Exit"
+msgstr "Izlaz"
+
+msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
+msgid "Turn off the monitor"
+msgstr "Isključi monitor"
+
+msgctxt "IDS_IMAGE_JPEG_QUALITY"
+msgid "JPEG Image"
+msgstr "JPEG Slika"
+
+msgctxt "IDS_IMAGE_QUALITY"
+msgid "Quality (%):"
+msgstr "Kvalitet (%):"
+
+msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
+msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
+msgstr "Maksimalna veličina (NxNpx) slike sa omota učitane samo u audio modusu."
+
+msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
+msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
+msgstr "Odgoda titlova će biti smanjena/povećana za ovu vrijednost svaki puta kada je pritisnuta odgovarajuća tipka (%s/%s)."
+
+msgctxt "IDS_HOTKEY_NOT_DEFINED"
+msgid "<not defined>"
+msgstr "<nije definisano>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Gledaj"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Pomakni Naviše"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Premakni Naniže"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sortiraj po LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Ukloni sve"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Da li ste sigurni da želite ukloniti sve kanale iz liste?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nema dostupnih informacija"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Molimo sačekajte, u toku je analiza..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
+msgctxt "IDS_PPAGEADVANCED_LOGGER"
+msgid "Enables logging to file (requires restart)"
+msgstr "Omogućava logovanje u dokument (zahtijeva restart)"
+
+msgctxt "IDS_TIMER_REMAINING_TIME"
+msgid "Remaining time"
+msgstr "Preostalo vrijeme"
+
+msgctxt "IDS_TIMER_HIGH_PRECISION"
+msgid "High precision"
+msgstr "Visoka preciznost"
+
+msgctxt "IDS_AFTERPLAYBACK_REWIND"
+msgid "After Playback: Rewind current file"
+msgstr "Nakon reprodukcije: Premotaj trenutni dokument"
+
+msgctxt "IDS_AFTERPLAYBACK_CLOSE"
+msgid "After Playback: Close"
+msgstr "Nakon Reprodukcije: Zatvori"
+
+msgctxt "IDS_FRAME_INIT_FAILED"
+msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
+msgstr "MPC-HC je doživio problem tokom inicijalizacije. Uz vašu pomoću bićemo u mogućnosti da popravimo ovaj problem.\nŽelite li ga prijaviti?"
+
+msgctxt "IDS_TIME_SHIFT_TOOLTIP"
+msgid "Enter a positive value if the audio is early, a negative value if it is late."
+msgstr "Uneiste pozitivnu vrijednost ako zvuk prednjači, a negativnu ako kasni."
+
+msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
+msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
+msgstr "Pregled je trenutno onemogućen. Možete ga uključiti u opcijama MPC-HC-a."
+
+msgctxt "IDS_WEBUI_PREVIEW_WARNING"
+msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
+msgstr "Ova opcija može biti korištena za pregled media dokumenata sa udaljene lokacije. Koristite ovu opciju samo na ispravno osiguranoj privatnoj mreži.\n\nDa li zaista želite omogućiti ovu opciju?"
+
+msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
+msgid "Internal Subtitle Renderer"
+msgstr "Interni Renderer Titlova"
+
+msgctxt "IDS_AG_OPEN_DEVICE"
+msgid "Open Device"
+msgstr "Otvori Uređaj"
+
+msgctxt "IDS_AG_SAVE_AS"
+msgid "Save As"
+msgstr "Snimi Kao"
+
+msgctxt "IDS_AG_SAVE_IMAGE"
+msgid "Save Image"
+msgstr "Snimi Sliku"
+
+msgctxt "IDS_MPLAYERC_6"
+msgid "Save Image (auto)"
+msgstr "Snimi Sliku (automatski)"
+
+msgctxt "IDS_OSD_IMAGE_SAVED"
+msgid "Image saved successfully"
+msgstr "Slika je uspješno snimljena"
+
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Učitaj Titlove..."
+
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Snimi Titlove..."
+
+msgctxt "IDS_AG_PROPERTIES"
+msgid "Properties"
+msgstr "Svojstva"
+
+msgctxt "IDS_AG_EXIT"
+msgid "Exit"
+msgstr "Izlaz"
+
+msgctxt "IDS_AG_PLAYPAUSE"
+msgid "Play/Pause"
+msgstr "Pokreni/Pauziraj"
+
+msgctxt "IDS_AG_PLAY"
+msgid "Play"
+msgstr "Reprodukuj"
+
+msgctxt "IDS_AG_STOP"
+msgid "Stop"
+msgstr "Zaustavi"
+
+msgctxt "IDS_AG_FRAMESTEP"
+msgid "Frame-step"
+msgstr "Okvir-korak"
+
+msgctxt "IDS_MPLAYERC_16"
+msgid "Frame-step back"
+msgstr "Okvir-korak nazad"
+
+msgctxt "IDS_AG_GO_TO"
+msgid "Go To"
+msgstr "Idi Na"
+
+msgctxt "IDS_AG_INCREASE_RATE"
+msgid "Increase Rate"
+msgstr "Povećaj Tempo"
+
+msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
+msgid "Show/Game show"
+msgstr "Show/Igra show"
+
+msgctxt "IDS_CONTENT_SPORTS"
+msgid "Sports"
+msgstr "Sportovi"
+
+msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
+msgid "Children's/Youth programmes"
+msgstr "Dječji/Omladinski programi"
+
+msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
+msgid "Music/Ballet/Dance"
+msgstr "Muzika/Balet/Ples"
+
+msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
+msgid "Arts/Culture"
+msgstr "Umjetnost/Kultura"
+
+msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
+msgid "Social/Political issues/Economics"
+msgstr "Društvo/Politička događanja/Ekonomija"
+
+msgctxt "IDS_CONTENT_LEISURE"
+msgid "Leisure hobbies"
+msgstr "Hobiji u slobodno vrijeme"
+
+msgctxt "IDS_FILE_RECYCLE"
+msgid "Move to Recycle Bin"
+msgstr "Makni u Korpu za Otpatke"
+
+msgctxt "IDS_AG_SAVE_COPY"
+msgid "Save a Copy"
+msgstr "Sačuvaj Kopiju"
+
+msgctxt "IDS_FASTSEEK_LATEST"
+msgid "Latest keyframe"
+msgstr "Zadnja sličica"
+
+msgctxt "IDS_FASTSEEK_NEAREST"
+msgid "Nearest keyframe"
+msgstr "Najbliža sličica"
+
+msgctxt "IDS_HOOKS_FAILED"
+msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
+msgstr "MPC-HC je naišao na problem tokom inicijalizacije. DVD reprodukcija možda neće ispravno raditi. Ovo može biti izazvano nekim nekompatibilnostima sa određenim sigurnosnim alatima.\nŽelite li prijaviti ovaj problem?"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
+msgid "Never show"
+msgstr "Ne prikazuj nikada"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
+msgid "Show when moving the cursor, hide after:"
+msgstr "Prikaži kada se kursor pomijera, poslije sakrij:"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
+msgid "Show when hovering control, hide after:"
+msgstr "Prikaži kada kontrole lebde, poslije sakrij:"
+
+msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
+msgid "Failed to set pre-resize shaders"
+msgstr "Nije uspjelo podešavanje prije podešenih sjenčila"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
+msgid "Frame Time Correction: On"
+msgstr "Korekcija Vremena Okvira: Uključeno"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
+msgid "Frame Time Correction: Off"
+msgstr "Korekcija Vremena Okvira: Isključeno"
+
+msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
+msgid "Target VSync Offset: %.1f"
+msgstr "Ciljni VSync Offset: %.1f"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
+msgid "VSync Offset: %d"
+msgstr "VSync Offset: %d"
+
+msgctxt "IDS_OSD_SPEED"
+msgid "Speed: %.2lfx"
+msgstr "Brzina: %.2lfx"
+
+msgctxt "IDS_OSD_THUMBS_SAVED"
+msgid "Thumbnails saved successfully"
+msgstr "Sličica j euspješno snimljena"
+
+msgctxt "IDS_MENU_VIDEO_STREAM"
+msgid "Vide&o Track"
+msgstr "Vide&o Zapis"
+
+msgctxt "IDS_MENU_VIDEO_ANGLE"
+msgid "Video Ang&le"
+msgstr "Video Ugao"
+
+msgctxt "IDS_RESET_SETTINGS"
+msgid "Reset settings"
+msgstr "Resetuj podešenja"
+
+msgctxt "IDS_RESET_SETTINGS_WARNING"
+msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
+msgstr "Da li ste sigurni da žeite resetovati MPC-HC na njegova podrazumijevana podešenja?\nUpozorenje - SVA vaša trenutna podešenja će biti izgubljena."
+
+msgctxt "IDS_RESET_SETTINGS_MUTEX"
+msgid "Please close all instances of MPC-HC so that the default settings can be restored."
+msgstr "Molimo zatvorite sve instance MPC-HC tako da mogu biti vraćene podrazumijevane postavke."
+
+msgctxt "IDS_EXPORT_SETTINGS"
+msgid "Export settings"
+msgstr "Eksportuj podešenja"
+
+msgctxt "IDS_EXPORT_SETTINGS_WARNING"
+msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
+msgstr "Neke izmjene još nisu bile sačuvane.\nDa li ih želite sačuvati prije eksporta?"
+
+msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
+msgid "The settings have been successfully exported."
+msgstr "Podešenja su uspješno eksportovana."
+
+msgctxt "IDS_EXPORT_SETTINGS_FAILED"
+msgid "The export failed! This can happen when you don't have the correct rights."
+msgstr "Eksport nije uspio! Ovo se može desiti ako nemate odgovarajuća prava."
+
+msgctxt "IDS_BDA_ERROR"
+msgid "BDA Error"
+msgstr "BDA Greška"
+
+msgctxt "IDS_AG_DECREASE_RATE"
+msgid "Decrease Rate"
+msgstr "Smanji tempo"
+
+msgctxt "IDS_AG_RESET_RATE"
+msgid "Reset Rate"
+msgstr "Resetuj Tempo"
+
+msgctxt "IDS_MPLAYERC_21"
+msgid "Audio Delay +10 ms"
+msgstr "Audio Odgoda +10 ms"
+
+msgctxt "IDS_MPLAYERC_22"
+msgid "Audio Delay -10 ms"
+msgstr "Audio Odgoda -10 ms"
+
+msgctxt "IDS_MPLAYERC_23"
+msgid "Jump Forward (small)"
+msgstr "Skoči Unaprijed (malo)"
+
+msgctxt "IDS_MPLAYERC_24"
+msgid "Jump Backward (small)"
+msgstr "Skoči Unazad (malo)"
+
+msgctxt "IDS_MPLAYERC_25"
+msgid "Jump Forward (medium)"
+msgstr "Skoči Unaprijed (srednje)"
+
+msgctxt "IDS_MPLAYERC_26"
+msgid "Jump Backward (medium)"
+msgstr "Skoči Unazad (srednje)"
+
+msgctxt "IDS_MPLAYERC_27"
+msgid "Jump Forward (large)"
+msgstr "Skoči Unaprijed (puno)"
+
+msgctxt "IDS_MPLAYERC_28"
+msgid "Jump Backward (large)"
+msgstr "Skoči Unazad (puno)"
+
+msgctxt "IDS_MPLAYERC_29"
+msgid "Jump Forward (keyframe)"
+msgstr "Skoči Unaprijed (isječak)"
+
+msgctxt "IDS_MPLAYERC_30"
+msgid "Jump Backward (keyframe)"
+msgstr "Skoči Unazad (isječak)"
+
+msgctxt "IDS_AG_NEXT"
+msgid "Next"
+msgstr "Sljedeći"
+
+msgctxt "IDS_AG_PREVIOUS"
+msgid "Previous"
+msgstr "Prethodni"
+
+msgctxt "IDS_AG_NEXT_FILE"
+msgid "Next File"
+msgstr "Naredni Dokument"
+
+msgctxt "IDS_AG_PREVIOUS_FILE"
+msgid "Previous File"
+msgstr "Prethodni Dokument"
+
+msgctxt "IDS_MPLAYERC_99"
+msgid "Toggle Direct3D fullscreen"
+msgstr "Uključi/Isključi Direct3D prikaz na cijeli ekran"
+
+msgctxt "IDS_MPLAYERC_100"
+msgid "Goto Prev Subtitle"
+msgstr "Idi na Preth. Titl"
+
+msgctxt "IDS_MPLAYERC_101"
+msgid "Goto Next Subtitle"
+msgstr "Idi na Naredni Titl"
+
+msgctxt "IDS_MPLAYERC_102"
+msgid "Shift Subtitle Left"
+msgstr "Pomakni Titl Lijevo"
+
+msgctxt "IDS_MPLAYERC_103"
+msgid "Shift Subtitle Right"
+msgstr "Pomakni Titl Desno"
+
+msgctxt "IDS_AG_SEEKSET"
+msgid "Jump to Beginning"
+msgstr "Skoči na Početak"
+
+msgctxt "IDS_OSD_SHOW_FILENAME"
+msgid "OSD: Show File Name"
+msgstr "OSD: Prikaži Ime Dokumenta"
+
+msgctxt "IDS_PLAY_DVD"
+msgid "Play DVD"
+msgstr "Pokreni DVD"
+
+msgctxt "IDS_PLAY_BD"
+msgid "Play BD"
+msgstr "Pokreni BD"
+
+msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
+msgid "OSD: Display Renderer Statistics"
+msgstr "OSD: Prikaži Statistiku Renderera"
+
+msgctxt "IDS_OSD_RESET_RENDERER_STATS"
+msgid "OSD: Reset Renderer Statistics"
+msgstr "OSD: Resetuj Statistiku Renderera"
+
+msgctxt "IDD_PPAGESUBMISC"
+msgid "Subtitles::Misc"
+msgstr "Titlovi::Razno"
+
+msgctxt "IDS_VIEW_BORDERLESS"
+msgid "Hide &borders"
+msgstr "Sakrij granice"
+
+msgctxt "IDS_VIEW_FRAMEONLY"
+msgid "Fra&me Only"
+msgstr "Samo Okvir"
+
+msgctxt "IDS_VIEW_CAPTIONMENU"
+msgid "Sho&w Caption&&Menu"
+msgstr "Prikaži Naslov i Meni"
+
+msgctxt "IDS_VIEW_HIDEMENU"
+msgid "Hide &Menu"
+msgstr "Sakrij &Meni"
+
+msgctxt "IDD_PPAGEADVANCED"
+msgid "Advanced"
+msgstr "Napredno"
+
+msgctxt "IDS_AG_VIEW_MINIMAL"
+msgid "View Minimal"
+msgstr "Prikaži Minimalno"
+
+msgctxt "IDS_AG_VIEW_COMPACT"
+msgid "View Compact"
+msgstr "Prikaži Kompaktno"
+
+msgctxt "IDS_AG_VIEW_NORMAL"
+msgid "View Normal"
+msgstr "Prikaži Normalno"
+
+msgctxt "IDS_AG_FULLSCREEN"
+msgid "Fullscreen"
+msgstr "Cijeli ekran"
+
+msgctxt "IDS_MPLAYERC_39"
+msgid "Fullscreen (w/o res.change)"
+msgstr "Cijeli ekran (w/o rez. promjena)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT"
+msgid "Zoom Auto Fit"
+msgstr "Automatsko Podešavanje Zuma"
+
+msgctxt "IDS_AG_VIDFRM_HALF"
+msgid "VidFrm Half"
+msgstr "VidFrm Polovica"
+
+msgctxt "IDS_AG_VIDFRM_NORMAL"
+msgid "VidFrm Normal"
+msgstr "VidFrm Normalno"
+
+msgctxt "IDS_AG_VIDFRM_DOUBLE"
+msgid "VidFrm Double"
+msgstr "VidFrm Dvostruko"
+
+msgctxt "IDS_AG_ALWAYS_ON_TOP"
+msgid "Always On Top"
+msgstr "Uvijek Na Vrhu"
+
+msgctxt "IDS_AG_PNS_INC_SIZE"
+msgid "PnS Inc Size"
+msgstr "PnS Pov. Veličinu"
+
+msgctxt "IDS_AG_PNS_INC_WIDTH"
+msgid "PnS Inc Width"
+msgstr "PnS Pov. Širinu"
+
+msgctxt "IDS_MPLAYERC_47"
+msgid "PnS Inc Height"
+msgstr "PnS Pov. Visinu"
+
+msgctxt "IDS_AG_PNS_DEC_SIZE"
+msgid "PnS Dec Size"
+msgstr "PnS Smanji Veličinu"
+
+msgctxt "IDS_AG_PNS_DEC_WIDTH"
+msgid "PnS Dec Width"
+msgstr "PnS Smanji Širinu"
+
+msgctxt "IDS_MPLAYERC_50"
+msgid "PnS Dec Height"
+msgstr "PnS Smanji Visinu"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
+msgid "Downloading [%s] \"%s\""
+msgstr "Download-ovanje [%s] \"%s\""
+
+msgctxt "IDS_SUBDL_DLG_PARSING"
+msgid "Parsing list..."
+msgstr "Lista za raščlanjivanje..."
+
+msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
+msgid "No subtitles found."
+msgstr "Nisu pronađeni titlovi."
+
+msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
+msgid "%d subtitle(s) available."
+msgstr "Dostupno je %d titlova."
+
+msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
+msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
+msgstr "Da li želite da periodično provjerite postoji li nova verzija MPC-HC?\n\nOva opcija može biti onemogućena kasnije sa Razno stranice u opcijama."
+
+msgctxt "IDS_ZOOM_50"
+msgid "50%"
+msgstr "50%"
+
+msgctxt "IDS_ZOOM_100"
+msgid "100%"
+msgstr "100%"
+
+msgctxt "IDS_ZOOM_200"
+msgid "200%"
+msgstr "200%"
+
+msgctxt "IDS_ZOOM_AUTOFIT"
+msgid "Auto Fit"
+msgstr "Auto Fit"
+
+msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (Larger Only)"
+msgstr "Automatsko Podešavanje (Samo Veći)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
+msgid "Zoom Auto Fit (Larger Only)"
+msgstr "Automatsko Podešavanje Zuma (Samo veći)"
+
+msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
+msgid "Zoom: Auto (Larger Only)"
+msgstr "Zum: Automatsko Podešavanje (Samo veći)"
+
+msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
+msgid "Double click to open file location"
+msgstr "Dvoklik da otvorite lokaciju"
+
+msgctxt "IDS_TOOLTIP_REMAINING_TIME"
+msgid "Toggle between elapsed and remaining time"
+msgstr "Naizmjenično mijenjaj prikaz proteklog i preostalog vremena."
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
+msgid "Invalid delay"
+msgstr "Odgoda nije ispravna"
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
+msgid "Please enter a number between 1 and 365."
+msgstr "Molimo unesite broj između 1 i 365."
+
+msgctxt "IDS_AG_PNS_CENTER"
+msgid "PnS Center"
+msgstr "PnS Centar"
+
+msgctxt "IDS_AG_PNS_LEFT"
+msgid "PnS Left"
+msgstr "PnS Lijevo"
+
+msgctxt "IDS_AG_PNS_RIGHT"
+msgid "PnS Right"
+msgstr "PnS Desno"
+
+msgctxt "IDS_AG_PNS_UP"
+msgid "PnS Up"
+msgstr "PnS Gore"
+
+msgctxt "IDS_AG_PNS_DOWN"
+msgid "PnS Down"
+msgstr "PnS Dole"
+
+msgctxt "IDS_AG_PNS_UPLEFT"
+msgid "PnS Up/Left"
+msgstr "PnS Gore/Lijevo"
+
+msgctxt "IDS_AG_PNS_UPRIGHT"
+msgid "PnS Up/Right"
+msgstr "PnS Gore/Desno"
+
+msgctxt "IDS_AG_PNS_DOWNLEFT"
+msgid "PnS Down/Left"
+msgstr "PnS Dole/Lijevo"
+
+msgctxt "IDS_MPLAYERC_59"
+msgid "PnS Down/Right"
+msgstr "PnS Dole/Desno"
+
+msgctxt "IDS_AG_VOLUME_UP"
+msgid "Volume Up"
+msgstr "Pojačaj zvuk"
+
+msgctxt "IDS_AG_VOLUME_DOWN"
+msgid "Volume Down"
+msgstr "Smanji zvuk"
+
+msgctxt "IDS_AG_VOLUME_MUTE"
+msgid "Volume Mute"
+msgstr "Isključi Zvuk"
+
+msgctxt "IDS_MPLAYERC_63"
+msgid "DVD Title Menu"
+msgstr "DVD Naslovni Meni"
+
+msgctxt "IDS_AG_DVD_ROOT_MENU"
+msgid "DVD Root Menu"
+msgstr "DVD Korijenski meni"
+
+msgctxt "IDS_MPLAYERC_65"
+msgid "DVD Subtitle Menu"
+msgstr "DVD Meni Titlova"
+
+msgctxt "IDS_MPLAYERC_66"
+msgid "DVD Audio Menu"
+msgstr "DVD Audio Meni"
+
+msgctxt "IDS_MPLAYERC_67"
+msgid "DVD Angle Menu"
+msgstr "DVD Meni Ugla"
+
+msgctxt "IDS_MPLAYERC_68"
+msgid "DVD Chapter Menu"
+msgstr "DVD Meni Poglavlja"
+
+msgctxt "IDS_AG_DVD_MENU_LEFT"
+msgid "DVD Menu Left"
+msgstr "DVD Meni Lijevo"
+
+msgctxt "IDS_MPLAYERC_70"
+msgid "DVD Menu Right"
+msgstr "DVD Meni Desno"
+
+msgctxt "IDS_AG_DVD_MENU_UP"
+msgid "DVD Menu Up"
+msgstr "DVD Meni Gore"
+
+msgctxt "IDS_AG_DVD_MENU_DOWN"
+msgid "DVD Menu Down"
+msgstr "DVD Meni Dole"
+
+msgctxt "IDS_MPLAYERC_73"
+msgid "DVD Menu Activate"
+msgstr "DVD Meni Aktiviraj"
+
+msgctxt "IDS_AG_DVD_MENU_BACK"
+msgid "DVD Menu Back"
+msgstr "DVD Meni Nazad"
+
+msgctxt "IDS_MPLAYERC_75"
+msgid "DVD Menu Leave"
+msgstr "DVD Meni Napusti"
+
+msgctxt "IDS_AG_BOSS_KEY"
+msgid "Boss key"
+msgstr "Šef tipka"
+
+msgctxt "IDS_MPLAYERC_77"
+msgid "Player Menu"
+msgstr "Player Meni"
+
+msgctxt "IDS_MPLAYERC_78"
+msgid "Player Menu (full)"
+msgstr "Player Meni (kompletan)"
+
+msgctxt "IDS_AG_FILTERS_MENU"
+msgid "Filters Menu"
+msgstr "Filter Meni"
+
+msgctxt "IDS_AG_OPTIONS"
+msgid "Options"
+msgstr "Opcije"
+
+msgctxt "IDS_AG_NEXT_AUDIO"
+msgid "Next Audio Track"
+msgstr "Sljedeći Audio Zapis"
+
+msgctxt "IDS_AG_PREV_AUDIO"
+msgid "Prev Audio Track"
+msgstr "Prethodni Audio Zapis"
+
+msgctxt "IDS_AG_NEXT_SUBTITLE"
+msgid "Next Subtitle Track"
+msgstr "Sljedeći Zapis Titla"
+
+msgctxt "IDS_AG_PREV_SUBTITLE"
+msgid "Prev Subtitle Track"
+msgstr "Prethodni Zapis Titla"
+
+msgctxt "IDS_MPLAYERC_85"
+msgid "On/Off Subtitle"
+msgstr "Titlovi Uklj./Isklj."
+
+msgctxt "IDS_MPLAYERC_86"
+msgid "Reload Subtitles"
+msgstr "Ponovo učitaj Titlove"
+
+msgctxt "IDS_MPLAYERC_91"
+msgid "Next Angle (DVD)"
+msgstr "Sljedeći Ugao (DVD)"
+
+msgctxt "IDS_MPLAYERC_92"
+msgid "Prev Angle (DVD)"
+msgstr "Prethodni Ugao (DVD)"
+
+msgctxt "IDS_MPLAYERC_93"
+msgid "Next Audio Track (DVD)"
+msgstr "Sljedeći Audio Zapis (DVD)"
+
+msgctxt "IDS_MPLAYERC_94"
+msgid "Prev Audio Track (DVD)"
+msgstr "Prethodni Audio Zapis (DVD)"
+
+msgctxt "IDS_MPLAYERC_95"
+msgid "Next Subtitle Track (DVD)"
+msgstr "Sljedeći Zapis Titla (DVD)"
+
+msgctxt "IDS_MPLAYERC_96"
+msgid "Prev Subtitle Track (DVD)"
+msgstr "Prethodni Zapis Titla (DVD)"
+
+msgctxt "IDS_MPLAYERC_97"
+msgid "On/Off Subtitle (DVD)"
+msgstr "Titlovi Uklj./Isklj. (DVD)"
+
+msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
+msgid "OSD: Display Current Time"
+msgstr "OSD: Prikaži Trenutno Vrijeme"
+
+msgctxt "IDS_PPAGEWEBSERVER_0"
+msgid "Select the directory"
+msgstr "Izaberi direktorij"
+
+msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
+msgid "Quick add favorite"
+msgstr "Brzo dodaj omiljeni"
+
+msgctxt "IDS_DVB_CHANNEL_NUMBER"
+msgid "N"
+msgstr "B"
+
+msgctxt "IDS_DVB_CHANNEL_NAME"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "IDS_DVB_CHANNEL_FREQUENCY"
+msgid "Frequency"
+msgstr "Frekvencija"
+
+msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
+msgid "Encrypted"
+msgstr "Kriptovano"
+
+msgctxt "IDS_YES"
+msgid "Yes"
+msgstr "Da"
+
+msgctxt "IDS_NO"
+msgid "No"
+msgstr "Ne"
+
+msgctxt "IDS_DVB_CHANNEL_START_SCAN"
+msgid "Start"
+msgstr "Pokreni"
+
+msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
+msgid "Stop"
+msgstr "Zaustavi"
+
+msgctxt "IDS_DVB_TVNAV_SEERADIO"
+msgid "Radio stations"
+msgstr "Radio stanice"
+
+msgctxt "IDS_DVB_TVNAV_SEETV"
+msgid "TV stations"
+msgstr "TV stanice"
+
+msgctxt "IDS_DVB_CHANNEL_FORMAT"
+msgid "Format"
+msgstr "Format"
+
+msgctxt "IDS_MAINFRM_2"
+msgid "Focus lost to: %s - %s"
+msgstr "Izgubljen fokus na: %s - %s"
+
+msgctxt "IDS_AG_SUBTITLES_SAVED"
+msgid "Subtitles saved"
+msgstr "Titl je snimljen"
+
+msgctxt "IDS_MAINFRM_4"
+msgid "Cannot save subtitles"
+msgstr "Nije moguće snimiti titlove"
+
+msgctxt "IDS_AG_FRAMERATE"
+msgid "Frame rate"
+msgstr "Broj sličica u sekundi"
+
+msgctxt "IDS_MAINFRM_6"
+msgid "drawn: %d, dropped: %d"
+msgstr "iscrtano: %d, odbačeno: %d"
+
+msgctxt "IDS_AG_FRAMES"
+msgid "Frames"
+msgstr "Sličica"
+
+msgctxt "IDS_AG_BUFFERS"
+msgid "Buffers"
+msgstr "Buffer-i"
+
+msgctxt "IDS_MAINFRM_9"
+msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
+msgstr "Jačina zvuka: %02lu/%02lu, Naslov: %02lu/%02lu, Poglavlje: %02lu/%02lu"
+
+msgctxt "IDS_MAINFRM_10"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Ugao: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+
+msgctxt "IDS_MAINFRM_11"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bita %d %s"
+
+msgctxt "IDS_ADD_TO_PLAYLIST"
+msgid "Add to MPC-HC Playlist"
+msgstr "Dodaj u MPC-HC Playlistu"
+
+msgctxt "IDS_OPEN_WITH_MPC"
+msgid "Play with MPC-HC"
+msgstr "Pokreni sa MPC-HC"
+
+msgctxt "IDS_CANNOT_CHANGE_FORMAT"
+msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
+msgstr "MPC-HC nema dovoljne privilegije da bi promijenio asocijacije formata dokumenata. Molimo kliknite na dugme \"Pokreni kao administrator\"."
+
+msgctxt "IDS_APP_DESCRIPTION"
+msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
+msgstr "MPC-HC media player vrlo lake kategorije za Windows-e. Podržava sve uobičajene video i audio file formate. Mi smo 100% bez spyware-a, bez reklama i bez toolbar-ova."
+
+msgctxt "IDS_MAINFRM_12"
+msgid "channel"
+msgstr "kanal"
+
+msgctxt "IDS_MAINFRM_13"
+msgid "channels"
+msgstr "kanali"
+
+msgctxt "IDS_AG_TITLE"
+msgid "Title %u"
+msgstr "Naslov %u"
+
+msgctxt "IDS_MAINFRM_16"
+msgid "DVD: Unexpected error"
+msgstr "DVD: Neočekivana greška"
+
+msgctxt "IDS_MAINFRM_17"
+msgid "DVD: Copy-Protect Fail"
+msgstr "DVD: Neuspjeh zbog zaštite od kopiranja"
+
+msgctxt "IDS_MAINFRM_18"
+msgid "DVD: Invalid DVD 1.x Disc"
+msgstr "DVD: Pogrešan DVD 1.x Disk"
+
+msgctxt "IDS_MAINFRM_19"
+msgid "DVD: Invalid Disc Region"
+msgstr "DVD: Pogrešan Disk Region"
+
+msgctxt "IDS_MAINFRM_20"
+msgid "DVD: Low Parental Level"
+msgstr "DVD: Nizak Nivo Roditeljske Zaštite"
+
+msgctxt "IDS_MAINFRM_21"
+msgid "DVD: Macrovision Fail"
+msgstr "DVD: Macrovision Nije Uspio"
+
+msgctxt "IDS_MAINFRM_22"
+msgid "DVD: Incompatible System And Decoder Regions"
+msgstr "DVD: Nekomaptibilan Sistem I Regije Dekodera"
+
+msgctxt "IDS_MAINFRM_23"
+msgid "DVD: Incompatible Disc And Decoder Regions"
+msgstr "DVD: Nekomaptibilan Disk I Regije Dekodera"
+
+msgctxt "IDS_D3DFS_WARNING"
+msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
+msgstr "Ova opcija je dizajnirana da se izbjegne trganje. Međutim, to će takođe spriječiti MPC-HC da prikazuje meni ili bilo kakav dijalog tokom reprodukcije.\n\nDa li zaista želite aktivirati ovu opciju?"
+
+msgctxt "IDS_MAINFRM_139"
+msgid "Sub delay: %ld ms"
+msgstr "Odgoda titla: %ld ms"
+
+msgctxt "IDS_AG_TITLE2"
+msgid "Title: %02d/%02d"
+msgstr "Naslov: %02d/%02d"
+
+msgctxt "IDS_REALVIDEO_INCOMPATIBLE"
+msgid "Filename contains unsupported characters (use only A-Z, 0-9)"
+msgstr "Ime dokumenta sadrži znakove koji nisu podržani (koristite samo A-Z, 0-9)"
+
+msgctxt "IDS_THUMB_ROWNUMBER"
+msgid "Rows:"
+msgstr "Vrsta:"
+
+msgctxt "IDS_THUMB_COLNUMBER"
+msgid "Columns:"
+msgstr "Kolona:"
+
+msgctxt "IDS_THUMB_IMAGE_WIDTH"
+msgid "Image width"
+msgstr "Širina slike"
+
+msgctxt "IDS_AG_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "Razmjera"
+
+msgctxt "IDS_MAINFRM_37"
+msgid ", Total: %ld, Dropped: %ld"
+msgstr ", Ukupno %ld, Odbačeno: %ld"
+
+msgctxt "IDS_MAINFRM_38"
+msgid ", Size: %I64d KB"
+msgstr ", Veličina: %I64d KB"
+
+msgctxt "IDS_MAINFRM_39"
+msgid ", Size: %I64d MB"
+msgstr ", Veličina: %I64d MB"
+
+msgctxt "IDS_MAINFRM_40"
+msgid ", Free: %I64d KB"
+msgstr ", Slobodno: %I64d KB"
+
+msgctxt "IDS_MAINFRM_41"
+msgid ", Free: %I64d MB"
+msgstr ", Slobodno: %I64d MB"
+
+msgctxt "IDS_MAINFRM_42"
+msgid ", Free V/A Buffers: %03d/%03d"
+msgstr ", Slobodno V/A Buferi %03d/%03d"
+
+msgctxt "IDS_AG_ERROR"
+msgid "Error"
+msgstr "Greška"
+
+msgctxt "IDS_SUBTITLE_STREAM_OFF"
+msgid "Subtitle: off"
+msgstr "Titl: isključeno"
+
+msgctxt "IDS_SUBTITLE_STREAM"
+msgid "Subtitle: %s"
+msgstr "Titl: %s"
+
+msgctxt "IDS_MAINFRM_46"
+msgid "Select the path for the DVD/BD:"
+msgstr "Izaberite putanju za DVD/BD:"
+
+msgctxt "IDS_SUB_LOADED_SUCCESS"
+msgid " loaded successfully"
+msgstr "uspješno učitano"
+
+msgctxt "IDS_ALL_FILES_FILTER"
+msgid "All files (*.*)|*.*||"
+msgstr "Svi dokumenti (*.*)|*.*||"
+
+msgctxt "IDS_GETDIB_FAILED"
+msgid "GetDIB failed, hr = %08x"
+msgstr "GetDIB nije uspio, hr = %08x"
+
+msgctxt "IDS_GETCURRENTIMAGE_FAILED"
+msgid "GetCurrentImage failed, hr = %08x"
+msgstr "GetCurrentImage nije uspjelo, hr = %08x"
+
+msgctxt "IDS_SCREENSHOT_ERROR"
+msgid "Cannot create file"
+msgstr "Nije moguće kreirati dokument"
+
+msgctxt "IDS_THUMBNAILS_NO_DURATION"
+msgid "Cannot create thumbnails for files with no duration"
+msgstr "Nij emoguće kreirati sličice za dokumente koji nemaju trajanje"
+
+msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
+msgid "Failed to get video frame size"
+msgstr "Nije uspjelo dobijanje veličine video isječka"
+
+msgctxt "IDS_OUT_OF_MEMORY"
+msgid "Out of memory, go buy some more!"
+msgstr "Manjak memorije, idite i kupite još!"
+
+msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
+msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
+msgstr "Neispravan format slike, iz %d bpp dibs nije moguće kreirati sličice."
+
+msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
+msgid "File Size: %s (%s bytes)\\N"
+msgstr "Veličina Dokumenta: %s (%s bytes)\\N"
+
+msgctxt "IDS_THUMBNAILS_INFO_HEADER"
+msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Ime Dokumenta: %s\\N%sRezolucija: %dx%d %s\\NTrajanje: %02d:%02d:%02d"
+
+msgctxt "IDS_THUMBNAIL_TOO_SMALL"
+msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
+msgstr "Sličice će biti suviše male. Nije moguće kreirati dokument.\n\nProbajte smanjiti broj sličica ili povećati ukupnu veličinu."
+
+msgctxt "IDS_CANNOT_LOAD_SUB"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Da bi učitali titlove morate promijeniti tip video renderera i ponovo otvoriti dokument.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR ili Haali\n- RealMedia: Specijalni renderer za RealMedia, ili otvoriti kroz DirectShow\n- QuickTime: DX7 ili DX9 renderer za QuickTime\n- ShockWave: Nije podržano"
+
+msgctxt "IDS_SUBTITLE_FILES_FILTER"
+msgid "Subtitle files"
+msgstr "Dokumenti titlova"
+
+msgctxt "IDS_MAINFRM_68"
+msgid "Aspect Ratio: %ld:%ld"
+msgstr "Razmjera: %ld:%ld"
+
+msgctxt "IDS_MAINFRM_69"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Razmjera: Podrazumijevano (DAR)"
+
+msgctxt "IDS_MAINFRM_70"
+msgid "Audio delay: %I64d ms"
+msgstr "Audio odgoda: %I64d ms"
+
+msgctxt "IDS_AG_CHAPTER"
+msgid "Chapter %d"
+msgstr "Poglavlje %d"
+
+msgctxt "IDS_AG_OUT_OF_MEMORY"
+msgid "Out of memory"
+msgstr "Manjak memorije"
+
+msgctxt "IDS_MAINFRM_77"
+msgid "Error: Adobe Flash Player for Internet Explorer is required"
+msgstr "Greška: Potreban je Adobe Flash Player za Internet Explorer"
+
+msgctxt "IDS_MAINFRM_78"
+msgid "QuickTime not yet supported for X64 (apple library not available)"
+msgstr "QuickTime još uvijek nije podržan za X64 (apple biblioteka nije dostupna)"
+
+msgctxt "IDS_MAINFRM_80"
+msgid "Failed to create the filter graph object"
+msgstr "Nije uspjelo kreiranje objekta grafika filtera"
+
+msgctxt "IDS_MAINFRM_81"
+msgid "Invalid argument"
+msgstr "Neispravan argument"
+
+msgctxt "IDS_MAINFRM_82"
+msgid "Opening aborted"
+msgstr "Otvaranje je otkazano"
+
+msgctxt "IDS_MAINFRM_83"
+msgid "Failed to render the file"
+msgstr "Nije uspjelo renderiranje dokumenta"
+
+msgctxt "IDS_AG_CHAPTER2"
+msgid "Chapter: "
+msgstr "Poglavlje:"
+
+msgctxt "IDS_VOLUME_OSD"
+msgid "Vol: %d%%"
+msgstr "Zvuk: %d%%"
+
+msgctxt "IDS_BOOST_OSD"
+msgid "Boost: +%u%%"
+msgstr "Pojačanje: +%u%%"
+
+msgctxt "IDS_BALANCE_OSD"
+msgid "Balance: %s"
+msgstr "Balans: %s"
+
+msgctxt "IDS_FULLSCREENMONITOR_CURRENT"
+msgid "Current"
+msgstr "Trenutno"
+
+msgctxt "IDS_MAINFRM_DIR_TITLE"
+msgid "Select Directory"
+msgstr "Izaberi Folder"
+
+msgctxt "IDS_MAINFRM_DIR_CHECK"
+msgid "Include subdirectories"
+msgstr "Uključi Podfoldere"
+
+msgctxt "IDS_AG_PAUSE"
+msgid "Pause"
+msgstr "Pauza"
+
+msgctxt "IDS_AG_TOGGLE_CAPTION"
+msgid "Toggle Caption&Menu"
+msgstr "Prikaži/Sakrij Naslovni &Meni"
+
+msgctxt "IDS_AG_TOGGLE_SEEKER"
+msgid "Toggle Seek Bar"
+msgstr "Prikaži/Sakrij Traku za Traženje"
+
+msgctxt "IDS_AG_TOGGLE_CONTROLS"
+msgid "Toggle Controls"
+msgstr "Prikaži/Sakrij Kontrole"
+
+msgctxt "IDS_MAINFRM_84"
+msgid "Invalid file name"
+msgstr "Neispravno ime dokumenta"
+
+msgctxt "IDS_MAINFRM_86"
+msgid "Cannot connect the filters"
+msgstr "Nije moguća konekcija sa filterima"
+
+msgctxt "IDS_MAINFRM_87"
+msgid "Cannot load any source filter"
+msgstr "Nije moguće učitati nijedan izvorni filter"
+
+msgctxt "IDS_MAINFRM_88"
+msgid "Cannot render the file"
+msgstr "Nije moguće renderiranje dokumenta"
+
+msgctxt "IDS_MAINFRM_89"
+msgid "Invalid file format"
+msgstr "Neispravan format dokumenta"
+
+msgctxt "IDS_MAINFRM_90"
+msgid "File not found"
+msgstr "Dokument nije pronađen"
+
+msgctxt "IDS_MAINFRM_91"
+msgid "Unknown file type"
+msgstr "Nepoznat tip dokumenta"
+
+msgctxt "IDS_MAINFRM_92"
+msgid "Unsupported stream"
+msgstr "Tok nije podržan"
+
+msgctxt "IDS_MAINFRM_93"
+msgid "Cannot find DVD directory"
+msgstr "Nije moguće pronaći DVD direktorij"
+
+msgctxt "IDS_MAINFRM_94"
+msgid "Can't create the DVD Navigator filter"
+msgstr "Nije moguće kreirati DVD Navigacioni filter"
+
+msgctxt "IDS_AG_FAILED"
+msgid "Failed"
+msgstr "Nije uspjelo"
+
+msgctxt "IDS_MAINFRM_96"
+msgid "Can't create video capture filter"
+msgstr "Nije moguće kreirati filter za snimanje videa"
+
+msgctxt "IDS_MAINFRM_98"
+msgid "No capture filters"
+msgstr "Nema filtera za snimanje"
+
+msgctxt "IDS_MAINFRM_99"
+msgid "Can't create capture graph builder object"
+msgstr "Nije moguće kreirati gradivni objekt za grafik snimanja"
+
+msgctxt "IDS_MAINFRM_108"
+msgid "Couldn't open any device"
+msgstr "Zvuk"
+
+msgctxt "IDS_AG_SOUND"
+msgid "Sound"
+msgstr "Zvuk"
+
+msgctxt "IDS_MAINFRM_114"
+msgid "%s was not found, please insert media containing this file."
+msgstr "%s nije pronađen, molimo ubacite medij koji sadrži ovaj dokument."
+
+msgctxt "IDS_AG_ABORTED"
+msgid "Aborted"
+msgstr "Prekinuto"
+
+msgctxt "IDS_MAINFRM_116"
+msgid "&Properties..."
+msgstr "Karakteristike"
+
+msgctxt "IDS_MAINFRM_117"
+msgid " (pin) properties..."
+msgstr " (pin) karakteristike..."
+
+msgctxt "IDS_AG_UNKNOWN_STREAM"
+msgid "Unknown Stream"
+msgstr "Nepoznat Tok"
+
+msgctxt "IDS_AG_UNKNOWN"
+msgid "Unknown %u"
+msgstr "Nepoznato %u"
+
+msgctxt "IDS_AG_VSYNC"
+msgid "VSync"
+msgstr "VSync"
+
+msgctxt "IDS_MAINFRM_121"
+msgid " (Director Comments 1)"
+msgstr " (Komentar Režisera 1)"
+
+msgctxt "IDS_MAINFRM_122"
+msgid " (Director Comments 2)"
+msgstr " (Komentar Režisera 2)"
+
+msgctxt "IDS_DVD_SUBTITLES_ENABLE"
+msgid "Enable DVD subtitles"
+msgstr "Omogući DVD titlove"
+
+msgctxt "IDS_AG_ANGLE"
+msgid "Angle %u"
+msgstr "Ugao %u"
+
+msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
+msgid "Increase VSync Offset"
+msgstr "Povećaj VSync Offset"
+
+msgctxt "IDS_AG_DISABLED"
+msgid "Disabled"
+msgstr "Onemogućeno"
+
+msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
+msgid "Decrease VSync Offset"
+msgstr "Smanji VSync Offset"
+
+msgctxt "IDS_MAINFRM_136"
+msgid "MPC-HC D3D Fullscreen"
+msgstr "MPC-HC D3D Cijeli ekran"
+
+msgctxt "IDS_MAINFRM_137"
+msgid "Unknown format"
+msgstr "Nepoznat format"
+
+msgctxt "IDS_MAINFRM_138"
+msgid "Sub shift: %ld ms"
+msgstr "Pomak titla: %ld ms"
+
+msgctxt "IDS_VOLUME_BOOST_INC"
+msgid "Volume boost increase"
+msgstr "Povećanje pojačanja zvuka"
+
+msgctxt "IDS_VOLUME_BOOST_DEC"
+msgid "Volume boost decrease"
+msgstr "Smanjenje pojačanja zvuka"
+
+msgctxt "IDS_VOLUME_BOOST_MIN"
+msgid "Volume boost Min"
+msgstr "Pojačanje zvuka Min"
+
+msgctxt "IDS_VOLUME_BOOST_MAX"
+msgid "Volume boost Max"
+msgstr "Pojačanje zvuka Max"
+
+msgctxt "IDS_USAGE"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Upotreba: mpc-hc.exe \"putanja\" [prekidači]"
+
+msgctxt "IDS_UNKNOWN_SWITCH"
+msgid "Unrecognized switch(es) found in command line string: \n\n"
+msgstr "U stringu komandne linije su pronađeni nepoznati prekidači: \n\n"
+
+msgctxt "IDS_AG_TOGGLE_INFO"
+msgid "Toggle Information"
+msgstr "Prikaži/Sakrij Informacije"
+
+msgctxt "IDS_AG_TOGGLE_STATS"
+msgid "Toggle Statistics"
+msgstr "Prikaži/Sakrij Statistiku"
+
+msgctxt "IDS_AG_TOGGLE_STATUS"
+msgid "Toggle Status"
+msgstr "Prikaži/Sakrij Status"
+
+msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
+msgid "Toggle Subresync Bar"
+msgstr "Prikaži/Sakrij Subresync Traku"
+
+msgctxt "IDS_AG_TOGGLE_PLAYLIST"
+msgid "Toggle Playlist Bar"
+msgstr "Prikaži/Sakrij Traku Playliste"
+
+msgctxt "IDS_AG_TOGGLE_CAPTURE"
+msgid "Toggle Capture Bar"
+msgstr "Prikaži/Sakrij Traku za Snimanje"
+
+msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
+msgid "Toggle Debug Shaders"
+msgstr "Prikaži/Sakrij Sjenila Otklanjanja Grešaka"
+
+msgctxt "IDS_AG_ZOOM_50"
+msgid "Zoom 50%"
+msgstr "Zum 50%"
+
+msgctxt "IDS_AG_ZOOM_100"
+msgid "Zoom 100%"
+msgstr "Zum 100%"
+
+msgctxt "IDS_AG_ZOOM_200"
+msgid "Zoom 200%"
+msgstr "Zum 200%"
+
+msgctxt "IDS_AG_NEXT_AR_PRESET"
+msgid "Next AR Preset"
+msgstr "Sljedeće AR Podešenje"
+
+msgctxt "IDS_AG_VIDFRM_STRETCH"
+msgid "VidFrm Stretch"
+msgstr "VidFrm Razvlačenje"
+
+msgctxt "IDS_AG_VIDFRM_INSIDE"
+msgid "VidFrm Inside"
+msgstr "VidFrm Unutra"
+
+msgctxt "IDS_AG_VIDFRM_OUTSIDE"
+msgid "VidFrm Outside"
+msgstr "VidFrm Vani"
+
+msgctxt "IDS_AG_PNS_RESET"
+msgid "PnS Reset"
+msgstr "PnS Reset"
+
+msgctxt "IDS_AG_PNS_ROTATEX_P"
+msgid "PnS Rotate X+"
+msgstr "PnS Rotacija X+"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM1"
+msgid "VidFrm Zoom 1"
+msgstr "VidFrm Zum 1"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM2"
+msgid "VidFrm Zoom 2"
+msgstr "VidFrm Zum 2"
+
+msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
+msgid "VidFrm Switch Zoom"
+msgstr "VidFrm Zamijeni Zum"
+
+msgctxt "IDS_ENABLE_ALL_FILTERS"
+msgid "&Enable all filters"
+msgstr "Omogući sv&e filtere"
+
+msgctxt "IDS_LOGO_AUTHOR"
+msgid "Author unknown. Contact us if you made this logo!"
+msgstr "Autor je nepoznat. Kontaktirajte nas ako ste vi kreirali ovaj logo!"
+
+msgctxt "IDS_NO_MORE_MEDIA"
+msgid "No more media in the current folder."
+msgstr "U trenutnom folderu nema više media dokumenata."
+
+msgctxt "IDS_FIRST_IN_FOLDER"
+msgid "The first file of the folder is already loaded."
+msgstr "Već je učitan prvi dokument u folderu."
+
+msgctxt "IDS_LAST_IN_FOLDER"
+msgid "The last file of the folder is already loaded."
+msgstr "Već je učitan posljednji dokument u folderu."
+
+msgctxt "IDS_FRONT_LEFT"
+msgid "Front Left"
+msgstr "Naprijed Lijevo"
+
+msgctxt "IDS_FRONT_RIGHT"
+msgid "Front Right"
+msgstr "Naprijed Desno"
+
+msgctxt "IDS_FRONT_CENTER"
+msgid "Front Center"
+msgstr "Naprijed Centar"
+
+msgctxt "IDS_LOW_FREQUENCY"
+msgid "Low Frequency"
+msgstr "Niska Frekvencija"
+
+msgctxt "IDS_BACK_LEFT"
+msgid "Back Left"
+msgstr "Nazad Lijevo"
+
+msgctxt "IDS_BACK_RIGHT"
+msgid "Back Right"
+msgstr "Nazad Desno"
+
+msgctxt "IDS_FRONT_LEFT_OF_CENTER"
+msgid "Front Left of Center"
+msgstr "Naprijed Lijevo ili Centar"
+
+msgctxt "IDS_FRONT_RIGHT_OF_CENTER"
+msgid "Front Right of Center"
+msgstr "Naprijed Deno ili Centar"
+
+msgctxt "IDS_BACK_CENTER"
+msgid "Back Center"
+msgstr "Nazad Centar"
+
+msgctxt "IDS_SIDE_LEFT"
+msgid "Side Left"
+msgstr "Na stranu Lijevo"
+
+msgctxt "IDS_SIDE_RIGHT"
+msgid "Side Right"
+msgstr "Na stranu Desno"
+
+msgctxt "IDS_TOP_CENTER"
+msgid "Top Center"
+msgstr "Vrh Centar"
+
+msgctxt "IDS_TOP_FRONT_LEFT"
+msgid "Top Front Left"
+msgstr "Vrh Naprijed Lijevo"
+
+msgctxt "IDS_TOP_FRONT_CENTER"
+msgid "Top Front Center"
+msgstr "Vrh Naprijed Centar"
+
+msgctxt "IDS_TOP_FRONT_RIGHT"
+msgid "Top Front Right"
+msgstr "Vrh Naprijed Desno"
+
+msgctxt "IDS_TOP_BACK_LEFT"
+msgid "Top Back Left"
+msgstr "Vrh Nazad Lijevo"
+
+msgctxt "IDS_TOP_BACK_CENTER"
+msgid "Top Back Center"
+msgstr "Vrh Nazad Centar"
+
+msgctxt "IDS_TOP_BACK_RIGHT"
+msgid "Top Back Right"
+msgstr "Vrh Nazad Desno"
+
+msgctxt "IDS_TIME_TOOLTIP_ABOVE"
+msgid "Above seek bar"
+msgstr "Iznad trake za traženje"
+
+msgctxt "IDS_TIME_TOOLTIP_BELOW"
+msgid "Below seek bar"
+msgstr "Ispod trake za traženje"
+
+msgctxt "IDS_VIDEO_STREAM"
+msgid "Video: %s"
+msgstr "Video: %s"
+
+msgctxt "IDS_APPLY"
+msgid "Apply"
+msgstr "Primijeni"
+
+msgctxt "IDS_CLEAR"
+msgid "Clear"
+msgstr "Počisti"
+
+msgctxt "IDS_CANCEL"
+msgid "Cancel"
+msgstr "Otkaži"
+
+msgctxt "IDS_THUMB_THUMBNAILS"
+msgid "Layout"
+msgstr "Raspored"
+
+msgctxt "IDS_THUMB_PIXELS"
+msgid "Pixels:"
+msgstr "Piksela:"
+
+msgctxt "IDS_TEXTFILE_ENC"
+msgid "Encoding:"
+msgstr "Kodiranje:"
+
+msgctxt "IDS_DISABLE_ALL_FILTERS"
+msgid "&Disable all filters"
+msgstr "Onemogući sve filtere"
+
+msgctxt "IDS_ENABLE_AUDIO_FILTERS"
+msgid "Enable all audio decoders"
+msgstr "Omogući sve audio dekodere"
+
+msgctxt "IDS_DISABLE_AUDIO_FILTERS"
+msgid "Disable all audio decoders"
+msgstr "Onemogući sve audio dekodere"
+
+msgctxt "IDS_ENABLE_VIDEO_FILTERS"
+msgid "Enable all video decoders"
+msgstr "Omogući sve video dekodere"
+
+msgctxt "IDS_DISABLE_VIDEO_FILTERS"
+msgid "Disable all video decoders"
+msgstr "Onemogući sve video dekodere"
+
+msgctxt "IDS_STRETCH_TO_WINDOW"
+msgid "Stretch To Window"
+msgstr "Razvuci Na Prozor"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
+msgid "Touch Window From Inside"
+msgstr "Dodirni Prozor Iznutra"
+
+msgctxt "IDS_ZOOM1"
+msgid "Zoom 1"
+msgstr "Zum 1"
+
+msgctxt "IDS_ZOOM2"
+msgid "Zoom 2"
+msgstr "Zum 2"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
+msgid "Touch Window From Outside"
+msgstr "Dodirni Prozor Izvana"
+
+msgctxt "IDS_AUDIO_STREAM"
+msgid "Audio: %s"
+msgstr "Audio: %s"
+
+msgctxt "IDS_AG_REOPEN"
+msgid "Reopen File"
+msgstr "Ponovo Otovri Dokument"
+
+msgctxt "IDS_MFMT_AVI"
+msgid "AVI"
+msgstr "AVI"
+
+msgctxt "IDS_MFMT_MPEG"
+msgid "MPEG"
+msgstr "MPEG"
+
+msgctxt "IDS_MFMT_MPEGTS"
+msgid "MPEG-TS"
+msgstr "MPEG-TS"
+
+msgctxt "IDS_MFMT_DVDVIDEO"
+msgid "DVD-Video"
+msgstr "DVD-Video"
+
+msgctxt "IDS_MFMT_MKV"
+msgid "Matroska"
+msgstr "Matroska"
+
+msgctxt "IDS_MFMT_WEBM"
+msgid "WebM"
+msgstr "WebM"
+
+msgctxt "IDS_MFMT_MP4"
+msgid "MP4"
+msgstr "MP4"
+
+msgctxt "IDS_MFMT_MOV"
+msgid "QuickTime Movie"
+msgstr "QuickTime Film"
+
+msgctxt "IDS_MFMT_3GP"
+msgid "3GP"
+msgstr "3GP"
+
+msgctxt "IDS_MFMT_3G2"
+msgid "3G2"
+msgstr "3G2"
+
+msgctxt "IDS_MFMT_FLV"
+msgid "Flash Video"
+msgstr "Flash Video"
+
+msgctxt "IDS_MFMT_OGM"
+msgid "Ogg Media"
+msgstr "Ogg Media"
+
+msgctxt "IDS_MFMT_RM"
+msgid "Real Media"
+msgstr "Real Media"
+
+msgctxt "IDS_MFMT_RT"
+msgid "Real Script"
+msgstr "Real Script"
+
+msgctxt "IDS_MFMT_WMV"
+msgid "Windows Media Video"
+msgstr "Windows Media Video"
+
+msgctxt "IDS_MFMT_BINK"
+msgid "Smacker/Bink Video"
+msgstr "Smacker/Bink Video"
+
+msgctxt "IDS_MFMT_FLIC"
+msgid "FLIC Animation"
+msgstr "FLIC Animaticija"
+
+msgctxt "IDS_MFMT_DSM"
+msgid "DirectShow Media"
+msgstr "DirectShow Media"
+
+msgctxt "IDS_MFMT_IVF"
+msgid "Indeo Video Format"
+msgstr "Indeo Video Format"
+
+msgctxt "IDS_MFMT_OTHER"
+msgid "Other"
+msgstr "Ostalo"
+
+msgctxt "IDS_MFMT_SWF"
+msgid "Shockwave Flash"
+msgstr "Shockwave Flash"
+
+msgctxt "IDS_MFMT_OTHER_AUDIO"
+msgid "Other Audio"
+msgstr "Neki Drugi Audio"
+
+msgctxt "IDS_MFMT_AC3"
+msgid "AC-3"
+msgstr "AC-3"
+
+msgctxt "IDS_MFMT_AIFF"
+msgid "AIFF"
+msgstr "AIFF"
+
+msgctxt "IDS_MFMT_ALAC"
+msgid "Apple Lossless"
+msgstr "Apple Lossless"
+
+msgctxt "IDS_MFMT_WAV"
+msgid "WAV"
+msgstr "WAV"
+
+msgctxt "IDS_MFMT_WMA"
+msgid "Windows Media Audio"
+msgstr "Windows Media Audio"
+
+msgctxt "IDS_MFMT_WV"
+msgid "WavPack"
+msgstr "WavPack"
+
+msgctxt "IDS_MFMT_OPUS"
+msgid "Opus Audio Codec"
+msgstr "Opus Audio Codec"
+
+msgctxt "IDS_MFMT_DTS"
+msgid "DTS/DTS-HD"
+msgstr "DTS/DTS-HD"
+
+msgctxt "IDS_MFMT_AMR"
+msgid "AMR"
+msgstr "AMR"
+
+msgctxt "IDS_MFMT_APE"
+msgid "Monkey's Audio"
+msgstr "Monkey's Audio"
+
+msgctxt "IDS_MFMT_AU"
+msgid "AU/SND"
+msgstr "AU/SND"
+
+msgctxt "IDS_MFMT_CDA"
+msgid "Audio CD track"
+msgstr "Audio CD track"
+
+msgctxt "IDS_MFMT_FLAC"
+msgid "FLAC"
+msgstr "FLAC"
+
+msgctxt "IDS_MFMT_M4A"
+msgid "MPEG-4 Audio"
+msgstr "MPEG-4 Audio"
+
+msgctxt "IDS_MFMT_MIDI"
+msgid "MIDI"
+msgstr "MIDI"
+
+msgctxt "IDS_MFMT_MKA"
+msgid "Matroska audio"
+msgstr "Matroska audio"
+
+msgctxt "IDS_MFMT_MP3"
+msgid "MP3"
+msgstr "MP3"
+
+msgctxt "IDS_MFMT_MPA"
+msgid "MPEG audio"
+msgstr "MPEG audio"
+
+msgctxt "IDS_MFMT_MPC"
+msgid "Musepack"
+msgstr "Musepack"
+
+msgctxt "IDS_MFMT_OFR"
+msgid "OptimFROG"
+msgstr "OptimFROG"
+
+msgctxt "IDS_MFMT_OGG"
+msgid "Ogg Vorbis"
+msgstr "Ogg Vorbis"
+
+msgctxt "IDS_MFMT_RA"
+msgid "Real Audio"
+msgstr "Real Audio"
+
+msgctxt "IDS_MFMT_TAK"
+msgid "TAK"
+msgstr "TAK"
+
+msgctxt "IDS_MFMT_TTA"
+msgid "True Audio"
+msgstr "True Audio"
+
+msgctxt "IDS_MFMT_PLS"
+msgid "Playlist"
+msgstr "Playlista"
+
+msgctxt "IDS_MFMT_BDPLS"
+msgid "Blu-ray playlist"
+msgstr "Blu-ray playlista"
+
+msgctxt "IDS_MFMT_RAR"
+msgid "RAR Archive"
+msgstr "RAR Arhiva"
+
+msgctxt "IDS_DVB_CHANNEL_FPS"
+msgid "FPS"
+msgstr "FPS"
+
+msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
+msgid "Resolution"
+msgstr "Rezolucija"
+
+msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "Razmjera"
+
+msgctxt "IDS_OSD_RS_VSYNC_ON"
+msgid "VSync: On"
+msgstr "VSync: Uključeno"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFF"
+msgid "VSync: Off"
+msgstr "VSync: Isključeno"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
+msgid "Accurate VSync: On"
+msgstr "Tačni VSync: Uključeno"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
+msgid "Accurate VSync: Off"
+msgstr "Tačni VSync: Isključeno"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
+msgid "Synchronize Video to Display: On"
+msgstr "Sinhronizuj Video sa Display-em: Uključeno"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
+msgid "Synchronize Video to Display: Off"
+msgstr "Sinhronizuj Video sa Display-em: Isključeno"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
+msgid "Synchronize Display to Video: On"
+msgstr "Sinhronizuj Display sa Videom: Uključeno"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
+msgid "Synchronize Display to Video: Off"
+msgstr "Sinhronizuj Display sa Videom: Isključeno"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
+msgid "Present at Nearest VSync: On"
+msgstr "Prisutno kod najbližeg VSync-a: Uključeno"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
+msgid "Present at Nearest VSync: Off"
+msgstr "Prisutno kod najbližeg VSync-a: Isključeno"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
+msgid "Color Management: On"
+msgstr "Upravljanje Bojom: Uključeno"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
+msgid "Color Management: Off"
+msgstr "Upravljanje Bojom: Isključeno"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
+msgid "Input Type: Auto-Detect"
+msgstr "Tip Ulaza: Auto-Detekcija"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
+msgid "Input Type: HDTV"
+msgstr "Tip Ulaza: HDTV"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
+msgid "Input Type: SDTV NTSC"
+msgstr "Tip Ulaza: SDTV NTSC"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
+msgid "Input Type: SDTV PAL"
+msgstr "Tip Ulaza: SDTV PAL"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
+msgid "Ambient Light: Bright (2.2 Gamma)"
+msgstr "Svjetlo Okruženja: Svijetlo (2.2 Gamma)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
+msgid "Ambient Light: Dim (2.35 Gamma)"
+msgstr "Svjetlo Okruženja: Prigušeno (2.2 Gamma)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
+msgid "Ambient Light: Dark (2.4 Gamma)"
+msgstr "Svjetlo Okruženja: Tamno (2.2 Gamma)"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
+msgid "Rendering Intent: Perceptual"
+msgstr "Namjera Renderiranja: Po osjećaju"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
+msgid "Rendering Intent: Relative Colorimetric"
+msgstr "Namjera Renderiranja: Relativno Po bojama"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
+msgid "Rendering Intent: Saturation"
+msgstr "Namjera Renderiranja: Zasićenost"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
+msgid "Rendering Intent: Absolute Colorimetric"
+msgstr "Namjera Renderiranja: Apsolutno Po bojama"
+
+msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
+msgid "Output Range: %s"
+msgstr "Raspon Izlaza: %s"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
+msgid "Flush GPU before VSync: On"
+msgstr "Počisti GPU prije VSync: Uključeno"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
+msgid "Flush GPU before VSync: Off"
+msgstr "Počisti GPU prije VSync: Isključeno"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
+msgid "Flush GPU after Present: On"
+msgstr "Počisti GPU nakon Trenutnog: Uključeno"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
+msgid "Flush GPU after Present: Off"
+msgstr "Počisti GPU nakon Trenutnog: Isključeno"
+
+msgctxt "IDS_OSD_RS_WAIT_ON"
+msgid "Wait for GPU Flush: On"
+msgstr "Čekaj na GPU čišćenje: Uključeno"
+
+msgctxt "IDS_OSD_RS_WAIT_OFF"
+msgid "Wait for GPU Flush: Off"
+msgstr "Čekaj na GPU čišćenje: Isključeno"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
+msgid "D3D Fullscreen: On"
+msgstr "D3D na Cijeli ekran: Uključeno"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
+msgid "D3D Fullscreen: Off"
+msgstr "D3D na Cijeli ekran: Isključeno"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
+msgid "Disable desktop composition: On"
+msgstr "Onemogući desktop kompoziciju: Uključeno"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
+msgid "Disable desktop composition: Off"
+msgstr "Onemogući desktop kompoziciju: Isključeno"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
+msgid "Alternative VSync: On"
+msgstr "Alternativni VSync: Ujključeno"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
+msgid "Alternative VSync: Off"
+msgstr "Alternativni VSync: Isjključeno"
+
+msgctxt "IDS_OSD_RS_RESET_DEFAULT"
+msgid "Renderer settings reset to default"
+msgstr "Reset podešenja renderera na podrazumijevana"
+
+msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
+msgid "Renderer settings reset to optimal"
+msgstr "Reset podešenja renderera na optimalna"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
+msgid "D3D Fullscreen GUI Support: On"
+msgstr "GUI Podrška za D3D Prikaz preko cijelog ekrana: : Uključeno"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
+msgid "D3D Fullscreen GUI Support: Off"
+msgstr "GUI Podrška za D3D Prikaz preko cijelog ekrana: : Isključeno"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
+msgid "10-bit RGB Output: On"
+msgstr "10-bit RGB Izlaz: Uključeno"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
+msgid "10-bit RGB Output: Off"
+msgstr "10-bit RGB Izlaz: Isključeno"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
+msgid "Force 10-bit RGB Input: On"
+msgstr "Nametnuti 10-bit RGB Ulaz: Uključeno"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
+msgid "Force 10-bit RGB Input: Off"
+msgstr "Nametnuti 10-bit RGB Ulaz: Isključeno"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
+msgid "Full Floating Point Processing: On"
+msgstr "Puno Procesiranje Realnih Brojeva: Uključeno"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
+msgid "Full Floating Point Processing: Off"
+msgstr "Puno Procesiranje Realnih Brojeva: Isključeno"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
+msgid "Half Floating Point Processing: On"
+msgstr "Polu Procesiranje Realnih Brojeva: Uključeno"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
+msgid "Half Floating Point Processing: Off"
+msgstr "Polu Procesiranje Realnih Brojeva: Isključeno"
+
+msgctxt "IDS_BRIGHTNESS_DEC"
+msgid "Brightness decrease"
+msgstr "Smanji osvijetljenost"
+
+msgctxt "IDS_CONTRAST_INC"
+msgid "Contrast increase"
+msgstr "Povećaj kontrast"
+
+msgctxt "IDS_CONTRAST_DEC"
+msgid "Contrast decrease"
+msgstr "Smanji kontrast"
+
+msgctxt "IDS_HUE_INC"
+msgid "Hue increase"
+msgstr "Povećaj nijanse"
+
+msgctxt "IDS_HUE_DEC"
+msgid "Hue decrease"
+msgstr "Smanji nijanse"
+
+msgctxt "IDS_SATURATION_INC"
+msgid "Saturation increase"
+msgstr "Povećaj zasićenje"
+
+msgctxt "IDS_SATURATION_DEC"
+msgid "Saturation decrease"
+msgstr "Smanji zasićenje"
+
+msgctxt "IDS_RESET_COLOR"
+msgid "Reset color settings"
+msgstr "Resetuj podešenja za boju"
+
+msgctxt "IDS_USING_LATEST_STABLE"
+msgid "\nYou are already using the latest stable version."
+msgstr "\nVeć koristite zadnju stabilnu verziju."
+
+msgctxt "IDS_USING_NEWER_VERSION"
+msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
+msgstr "Vaša trenutna verzija je v%s.\n\nZadnja stabilna verzija je v%s."
+
+msgctxt "IDS_NEW_UPDATE_AVAILABLE"
+msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
+msgstr "Dostupan je MPC-HC v%s. Vi koristite v%s.\n\nDa li želite posjetiti web stranicu MPC-HC-a da preuzmete novu verziju?"
+
+msgctxt "IDS_UPDATE_ERROR"
+msgid "Update server not found.\n\nPlease check your internet connection or try again later."
+msgstr "Update server nije pronađen.\n\nMolimo provjerite svoju internet konekciju ili kasnije pokušajte ponovo."
+
+msgctxt "IDS_UPDATE_CLOSE"
+msgid "&Close"
+msgstr "Zatvori"
+
+msgctxt "IDS_OSD_ZOOM"
+msgid "Zoom: %.0lf%%"
+msgstr "Zum: %.0lf%%"
+
+msgctxt "IDS_OSD_ZOOM_AUTO"
+msgid "Zoom: Auto"
+msgstr "Zum: Auto"
+
+msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
+msgid "Toggle custom channel mapping"
+msgstr "Uključi/Isključi mapiranje kanala po mjeri"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
+msgid "Custom channel mapping: On"
+msgstr "Mapiranje kanala po mjeri: Uključeno"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
+msgid "Custom channel mapping: Off"
+msgstr "Mapiranje kanala po mjeri: Isključeno"
+
+msgctxt "IDS_NORMALIZE"
+msgid "Toggle normalization"
+msgstr "Uključi/Isključi normalizaciju"
+
+msgctxt "IDS_OSD_NORMALIZE_ON"
+msgid "Normalization: On"
+msgstr "Normalizacija: Uključeno"
+
+msgctxt "IDS_OSD_NORMALIZE_OFF"
+msgid "Normalization: Off"
+msgstr "Normalizacija: Isključeno"
+
+msgctxt "IDS_REGAIN_VOLUME"
+msgid "Toggle regain volume"
+msgstr "Uključi/Isključi vraćanje jačine zvuka"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
+msgid "Regain volume: On"
+msgstr "Vraćanje jačine zvuka: Uključeno"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
+msgid "Regain volume: Off"
+msgstr "Vraćanje jačine zvuka: Isključeno"
+
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bajta"
+
+msgctxt "IDS_SIZE_UNIT_K"
+msgid "KB"
+msgstr "KB"
+
+msgctxt "IDS_SIZE_UNIT_M"
+msgid "MB"
+msgstr "MB"
+
+msgctxt "IDS_SIZE_UNIT_G"
+msgid "GB"
+msgstr "GB"
+
+msgctxt "IDS_SPEED_UNIT_K"
+msgid "KB/s"
+msgstr "KB/s"
+
+msgctxt "IDS_SPEED_UNIT_M"
+msgid "MB/s"
+msgstr "MB/s"
+
+msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
+msgid "Could not create the tuner."
+msgstr "Nije bilo moguće kreirati tuner."
+
+msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
+msgid "Could not create the receiver."
+msgstr "Nije bilo moguće kreirati prijemnik."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
+msgid "Could not connect the network and the tuner."
+msgstr "Nije bilo moguće povezati mrežu i tuner."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
+msgid "Could not connect the tuner and the receiver."
+msgstr "Nije bilo moguće povezati tuner i prijemnik."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
+msgid "Could not connect the tuner."
+msgstr "Nije bilo moguće povezati tuner."
+
+msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
+msgid "Could not create the demultiplexer."
+msgstr "Nije bilo moguće kreirati demultiplekser."
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
+msgid "Error parsing the entered time!"
+msgstr "Greška pri raščlanjivanju vremena!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TEXT"
+msgid "Error parsing the entered text!"
+msgstr "Greška pri raščlanjivanju unešenog teksta!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
+msgid "Error parsing the entered frame rate!"
+msgstr "Greška pri raščlanjivanju unesenog tempa!"
+
+msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
+msgid "Cannot frame-step, try a different video renderer."
+msgstr "Nije moguće pomijeranje po sličicama, probajte drugi video renderer."
+
+msgctxt "IDS_SCREENSHOT_ERROR_REAL"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
+msgstr "Finkcije \"Sačuvaj Sliku\" i \"Sačuvaj Sličice\" ne rade sa podrazumijevanim video rendererom za RealMedia.\nIzaberite jedan od DirectX renderera za RealMedia u opcijama izlaza za MPC-HC i ponovo otvorite dokument."
+
+msgctxt "IDS_SCREENSHOT_ERROR_QT"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
+msgstr "Finkcije \"Sačuvaj Sliku\" i \"Sačuvaj Sličice\" ne rade sa podrazumijevanim video rendererom za QuickTime.\nIzaberite jedan od DirectX renderera za QuickTime u opcijama izlaza za MPC-HC i ponovo otvorite dokument."
+
+msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
+msgstr "Funkcije \"Snimi Sliku\" i \"Snimi Sličice\" ne rade za Shockwave dokumente."
+
+msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
+msgstr "Finkcije \"Sačuvaj Sliku\" i \"Sačuvaj Sličice\" ne rade sa Overlay Mixer video rendererom.\nZamijenite video renderer u opcijama izlaza za MPC i ponovo otvorite dokument."
+
+msgctxt "IDS_MB_SHOW_EDL_EDITOR"
+msgid "Do you want to activate the EDL editor?"
+msgstr "Želite li da aktivirate EDL editor?"
+
+msgctxt "IDS_CAPTURE_ERROR"
+msgid "Capture Error"
+msgstr "Greška pri Snimanju."
+
+msgctxt "IDS_CAPTURE_ERROR_VIDEO"
+msgid "video"
+msgstr "video"
+
+msgctxt "IDS_CAPTURE_ERROR_AUDIO"
+msgid "audio"
+msgstr "audio"
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
+msgid "Can't add the %s buffer filter to the graph."
+msgstr "Na grafikon nije moguće dodati %s buffer."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
+msgid "Can't connect the %s buffer filter to the graph."
+msgstr "Nije moguće povezati %s buffer filter sa grafikonom."
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
+msgid "Can't add the %s encoder filter to the graph."
+msgstr "Nije moguće dodati %s enkoder filter na grafikon."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
+msgid "Can't connect the %s encoder filter to the graph."
+msgstr "Nije moguće povezati %s enkoder filter sa grafikonom."
+
+msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
+msgid "Can't set the compression format on the %s encoder filter."
+msgstr "Nije moguće postaviti format kompresije %s na enkoder filter."
+
+msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
+msgid "Can't connect the %s stream to the multiplexer filter."
+msgstr "Nije moguća konekcija %s toka na filter multipleksera."
+
+msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
+msgid "No video capture pin was found."
+msgstr "Nije pronađen pin za snimanje videa."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
+msgid "No audio capture pin was found."
+msgstr "Nije pronađen pin za snimanje audia."
+
+msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
+msgid "Error initializing the output file."
+msgstr "Greška pri inicijalizaciji izlaznog dokumenta."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
+msgid "Error initializing the audio output file."
+msgstr "Greška pri inicijlizaciji izlaznog audio dokumenta."
+
+msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
+msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
+msgstr "Ispravan format vremena je [-]hh:mm:ss.ms (npr. 01:23:45.678)."
+
+msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
+msgid "This type is already in the list!"
+msgstr "Tip je već u listi!"
+
+msgctxt "IDS_WEBSERVER_ERROR_TEST"
+msgid "You need to apply the new settings before testing them."
+msgstr "Prije testiranja morate priomijeniti nova podešenja."
+
+msgctxt "IDS_AFTERPLAYBACK_EXIT"
+msgid "After Playback: Exit"
+msgstr "Nakon Reprodukcije: Izlaz"
+
+msgctxt "IDS_AFTERPLAYBACK_STANDBY"
+msgid "After Playback: Stand By"
+msgstr "Nakon Reprodukcije: Na Čekanju"
+
+msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
+msgid "After Playback: Hibernate"
+msgstr "Nakon Reprodukcije: Hibernacija"
+
+msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
+msgid "After Playback: Shutdown"
+msgstr "Nakon Reprodukcije: Gašenje"
+
+msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
+msgid "After Playback: Log Off"
+msgstr "Nakon Reprodukcije: Odloguj se"
+
+msgctxt "IDS_AFTERPLAYBACK_LOCK"
+msgid "After Playback: Lock"
+msgstr "Nakon Reprodukcije: Zaključaj"
+
+msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
+msgid "After Playback: Turn off the monitor"
+msgstr "Nakon Reprodukcija: Isključi monitor"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Nakon Reprodukcije: Pokreni sljedeći dokument u folderu"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Nakon Reprodukcije: Ne radi ništa"
+
+msgctxt "IDS_OSD_BRIGHTNESS"
+msgid "Brightness: %s"
+msgstr "Osvijetljenost: %s"
+
+msgctxt "IDS_OSD_CONTRAST"
+msgid "Contrast: %s"
+msgstr "Kontrast: %s"
+
+msgctxt "IDS_OSD_HUE"
+msgid "Hue: %s°"
+msgstr "Nijansa %s°"
+
+msgctxt "IDS_OSD_SATURATION"
+msgid "Saturation: %s"
+msgstr "Zasićenje: %s"
+
+msgctxt "IDS_OSD_RESET_COLOR"
+msgid "Color settings restored"
+msgstr "Obnovljena su podešenja boje"
+
+msgctxt "IDS_OSD_NO_COLORCONTROL"
+msgid "Color control is not supported"
+msgstr "Kontrola boje nije podržana"
+
+msgctxt "IDS_BRIGHTNESS_INC"
+msgid "Brightness increase"
+msgstr "Povećanje osvijetljenosti"
+
+msgctxt "IDS_LANG_PREF_EXAMPLE"
+msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
+msgstr "Ovdje unesite preferirane jezike.\nNa primjer, upišite:\"eng jap swe\""
+
+msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
+msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
+msgstr "Eksterni spliteri mogu imati svoje opcije jezika, stoga MPC-HC podrazumijevano ponašanje je da ne mijenja njihov izbor.\nOmogućite ovu opciju ako želite da MPC-HC kontroliše eksterne splitere."
+
+msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
+msgid "&Blu-Ray playlists"
+msgstr "&Blu-Ray playliste"
+
+msgctxt "IDS_NAVIGATE_PLAYLIST"
+msgid "&Playlist"
+msgstr "&Playlista"
+
+msgctxt "IDS_NAVIGATE_CHAPTERS"
+msgid "&Chapters"
+msgstr "Poglavlja"
+
+msgctxt "IDS_NAVIGATE_TITLES"
+msgid "&Titles"
+msgstr "Naslovi"
+
+msgctxt "IDS_NAVIGATE_CHANNELS"
+msgid "&Channels"
+msgstr "Kanali"
+
+msgctxt "IDC_FASTSEEK_CHECK"
+msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
+msgstr "Ako je izabrano \"zadnji isječak\", traži do prvog isječka prije stvarne tačke traženja.\nAko je izabrano \"najbliži isječak\", traži do prvog isječka prije ili poslije tačke traženja, odvisno od toga koji je najbliži."
+
+msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
+msgid "Associate with all formats"
+msgstr "Poveži sa svim formatima"
+
+msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
+msgid "Associate with video formats only"
+msgstr "Poveži samo sa video formatima"
+
+msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
+msgid "Associate with audio formats only"
+msgstr "Poveži samo sa audio formatima"
+
+msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
+msgid "Clear all associations"
+msgstr "Počisti sve asocijacije"
+
+msgctxt "IDS_FILTER_SETTINGS_CAPTION"
+msgid "Settings"
+msgstr "Podešenja"
+
+msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
+msgid "VSFilter / DirectVobSub"
+msgstr "VSFilter / DirectVobSub"
+
+msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
+msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Dobavljač usluge"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Osoba sa oštećenim sluhom"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Download-i"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Rezultat"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Online traženje titlova nije uspjelo."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Online traženje titlova je otkazano."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Online traženje titlova je završeno, pronađeno je %d titlova."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Završena je online pretraga titlova. Nisu pronađeni titlovi."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Download titlove"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Online traženje titlova, molimo sačekajte..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Otkazivanje online traženja titlova..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Korisničko ime"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Spreman..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Nije implementirano."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Upload-ovanje..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Titlovi su uspješno upload-ovani."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Upload titlova nije uspio."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Upload titlova je otkazan."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Titlovi već postoje."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Upload titlova, molimo sačekajte..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Upload je završen."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Upload je otkazan."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Upload nije uspio."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Download-uj I Otvori"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Podešavanje"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Resetuj"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Pomakni Naviše"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Premakni Naniže"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Otvori URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Jezici"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "GREŠKA: Nije moguće uspostaviti internet konekciju."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Unesite akreditive za web stranicu"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Unesite svoje akreditive da se povežete:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Razmjera: Pretpostavi kvadratne piksele (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Download-ovano [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Upload-uj titlove"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Da li ste sigurni da želite upload-ovati titl \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Dobijanje podržanih jezika..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Nije uspjelo logiranje na \"%S\" sa korisničkim imenom \"%S\".\n\nMolimo unesite ispravno korisničko ime i šifru ili resetujte akreditive da se ulogujete kao anonimni korisnik."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatsko traženje i download će biti onemogućeno za sve media dokumente čija putanja sadrži bilo koji od uzoraka unesenih ovdje.\nNa primjer, unesite: \"privatno dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"putanja\"\tGlavni direktorij koji će biti učitan\n\t\t(dozvoljeni su zamjenski znakovi, \"-\" označava standardni unos)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dub ime\"\tUčitaj dodatni audio dokument"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"dokument\"\tUčitaj dodatni audio dokument pomaknut za XXms\n\t\t(ako dokument sadrži \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tPokreni renderiranje u D3D modusu preko cijelog ekrana"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"ime titla\"\tUčitaj dodatni titl dokument"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"ime filtera\"\tUčitaj DirectShow filtere iz DLL-a (dozvoljeni su zamjenski znakovi)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tPokreni u DVD modusu, \"uanja\" označava DVD folder (opciono)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tPokreni reprodukciju od naslova T, poglavlja C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tPokreni reprodukciju na poglavlju T, pozicija P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tUčitaj sve audio zapise sa Audio CD-a ili (S)VCD,\n\t\t\"putanja\" označava putanju do diska (opciono)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\tOtvori podarazumijevani video uređaj"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOtvori dokument, ne pokreći reprodukciju automatski"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tPokreni reprodukciju odmah po pokretanju player-a"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tZatvori player nakon reprodukcije (radi samo zajedno sa /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tIsključi operativni sistem nakon reprodukcije"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPostavi operativni sistem u standby nakon reprodukcije"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tPostavi operativni sistem u hibernaciju nakon reprodukcije"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tOdloguj korisnika nakon reprodukcije"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tZaključaj radnu stanicu nakon reprodukcije"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tIsključi monitor nakon reprodukcije"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOtvori sljedeći dokument u direktoriju nakon reprodukcije"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tStartaj u modusu preko cijelog ekrana"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tStartaj minimiziran"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tKoristi novu instancu player-a"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tDodaj \"putanja\" u playlistu, može biti kombinovano sa /open i /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tReprodukcija po slučajnom redoslijedu"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tKreiraj asocijacije za video dokumente"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tKreiraj asocijacije za audio dokumente"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tKreiraj asocijacije za playliste"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tKreiraj asocijacije za sve podržane tipove dokumenata"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tUkloni sve asocijacije dokumenata"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tPokreni reprodukciju na \"ms\" (= milisekundi)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tPokreni reprodukciju na poziciji hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tPodesi fiksnu veličinu prozora"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tPokreni player na monitoru N, gdje N starta od 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tPri startu koristi audiorenderer N, gdje N starta od 1 (pogledaj \"Izlaz\" podešenja)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tPri startu koristi \"Pr\" podešenja sjenčila"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"ime\"\tSpecificiraj ime Pan&Scan podešenja koj eće biti korišteno"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tObnovi asocijacije ikonica formata"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOtvori MPC-HC u pozadini"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tPokreni web sučelje na na izabranom portu"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tPrkaži informacije za ispravljanje grešaka na OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tOnemogući slanje izvještaja o greškama"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tKoristi MPC-HC kao roba (slave)"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tPodesi indeks GPU-a koji se koristi za hardversko dekodiranje.\n\t\tDostupno samo za CUVID i DXVA2 (kopiraj-nazad)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tVrati podrazumijevana podešenja"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tPrikaži pomoć o prekidačima komandne linije"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Granična vrijednost za ocjenu titlova koji će biti automatski download-ovani. Viša vrijednost znači da će biti učitani titlovi koji tačnije odgovaraju, dok niža vrijednost može rezultirati učitavanjem pogrešnih titlova. Međutim, ne postoji savršena vrijednost. Izaberite onu vrijednost koja vam najbolje odgovara."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audio Odgoda (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Veličina podrazumijevane alatne trake u pikselima."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Koristi staru alatnu traku umjesto nove vektorizovane."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
index 6650fcb93..c448d38e3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
@@ -1,18 +1,22 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
-# papu <papu@openmailbox.org>, 2014-2015
-# papu <papu@openmailbox.org>, 2014
+# Adolfo Jayme-Barrientos, 2015
+# Adolfo Jayme-Barrientos, 2015
+# Adolfo Jayme-Barrientos, 2014
+# papu, 2014-2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016-2017
+# Roger <roger.espolet@gmail.com>, 2016
+# papu, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-12 12:01+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-17 12:28+0000\n"
+"Last-Translator: Roger <roger.espolet@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mpc-hc/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -78,7 +82,7 @@ msgstr "Enregistra"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Activa l'interruptor del filtre d'àudio intern (cal que inicialitzeu)"
+msgstr "Activa filtre commutador d'àudio integrat (cal reiniciar)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -86,7 +90,7 @@ msgstr "Normalitza"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr "Amplificació màx.:"
+msgstr "Amplificació màxima:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
@@ -94,7 +98,7 @@ msgstr "%"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
msgid "Regain volume"
-msgstr "Guany de volum"
+msgstr "Recupera les pèrdues del volum"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
msgid "Boost:"
@@ -110,7 +114,7 @@ msgstr "Desplaçament de l'àudio (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Activa l' assignació de canal personalitzat"
+msgstr "Activa l'assignació de canals personalitzada"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
@@ -122,7 +126,7 @@ msgstr "canals d’entrada:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Manteniu la techa shift en fer clic a les opcions per aplicar-les al moment"
+msgstr "Manteniu premuda la tecla Maj en fer clic per aplicar els canvis immediatament"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -130,7 +134,7 @@ msgstr "Vés a…"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Introduïu un codi de temps en el format [hh:] mm: ss.ms per saltar-hi directament. No cal escriure els signes separadors de forma explícita."
+msgstr "Introdueixi un codi de temps amb el format [hh]:mm:ss.ms per saltar-hi directament. No cal escriure els signes separadors explícitament."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -142,7 +146,7 @@ msgstr "Vés-hi"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Escriu dos números per accedir a un fotograma específic, el primer es el nombre de fotogrames i el segon la velocitat de fotograma."
+msgstr "Introdueixi dos números per accedir a un fotograma específic; el primer és el nombre de fotogrames i el segon la taxa de fotogrames per segon."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -158,7 +162,7 @@ msgstr "Obre"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Escriu el camí del fitxer multimèdia (a Internet o al ordinador) y el reproductor l’obrirà per vós."
+msgstr "Escrigui la ruta del fitxer multimèdia (d'Internet o de l'ordinador) i el reproductor l'obrirà per vostè."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -166,7 +170,7 @@ msgstr "Obre:"
msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Explora..."
+msgstr "Navega..."
msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
msgid "Dub:"
@@ -174,7 +178,7 @@ msgstr "Doblatge:"
msgctxt "IDD_OPEN_DLG_IDC_BUTTON2"
msgid "Browse..."
-msgstr "Explora..."
+msgstr "Navega..."
msgctxt "IDD_OPEN_DLG_IDOK"
msgid "OK"
@@ -186,15 +190,15 @@ msgstr "Cancel·la"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
-msgstr "Afegeix a la Llista de reproducció sense obrir"
+msgstr "Afegeix-ho a la llista de reproducció sense obrir-ho"
msgctxt "IDD_ABOUTBOX_CAPTION"
msgid "About"
msgstr "Quant a"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 Vegeu el fitxer Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 Vegeu el fitxer Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -202,7 +206,7 @@ msgstr "Aquest programa és gratuït i distribuït sota la Llicència Pública G
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traducció al català per l’Enric, l’Adolf i altres"
+msgstr "Traducció al català feta per l’Enric, l’Adolf, el Roger i altres"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -218,7 +222,7 @@ msgstr "Compilador:"
msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
msgid "Not used"
-msgstr "No s'utilitza"
+msgstr "Sense utilitzar"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
@@ -246,11 +250,11 @@ msgstr "Opcions d’obertura"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "Usa el mateix reproductor per a cada fitxer de mitjans que es reprodueixi"
+msgstr "Utilitza el mateix reproductor per a cada fitxer multimèdia"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
-msgstr "Obre un nou reproductor per cada fitxer de mitjans que es reprodueixi"
+msgstr "Obre un reproductor nou per a cada fitxer multimèdia"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
@@ -270,11 +274,11 @@ msgstr "Només el nom del fitxer"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "No mostris res"
+msgstr "No prefixis res"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Substituir el nom del fixer pel títol"
+msgstr "Substitueix el nom del fixer pel seu títol"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -282,23 +286,23 @@ msgstr "Altres"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
msgid "Tray icon"
-msgstr "Icona a la safata del sistema"
+msgstr "Icona de la safata del sistema"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "Mostra OSD (cal que inicialitzeu)"
+msgstr "Mostra OSD (cal que reinicieu)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
-msgstr "Bloca les proporcions de la finestra de vídeo"
+msgstr "Bloqueja les proporcions en redimensionar la finestra"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
-msgstr "Ajusta a les vores de l'escriptori"
+msgstr "Atreu la finestra a les vores de l'escriptori"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Desa els paràmetres a un fitxer .ini"
+msgstr "Desa els paràmetres en un fitxer .ini"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
@@ -306,11 +310,11 @@ msgstr "Inhabilita el menú «Obre el disc»"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "Més prioritat pel procés"
+msgstr "Més prioritat al procés per sobre el normal"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "Activa el suport de l'art de les portades"
+msgstr "Activa el suport per a les caràtules"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -318,7 +322,7 @@ msgstr "Historial"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
-msgstr "Manté l'historial dels fitxers oberts"
+msgstr "Mantén historial dels fitxers oberts recentment"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
@@ -338,27 +342,27 @@ msgstr "Recorda la posició de la finestra"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
-msgstr "Recorda el tamany de la finestra"
+msgstr "Recorda la mida de la finestra"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Recorda l'últim Zoom de Pan-n-Scan"
+msgstr "Recorda el darrer zoom de reenquadrament"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr "Comportament de \"Llença un DVD/BD\""
+msgstr "Comportament de \"Obre un DVD/BD\""
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
-msgstr "Pregunta per la ubicació"
+msgstr "Sol·licita la ubicació"
msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
msgid "Always open the default location:"
-msgstr "Sembre obre la ubicació per defecte:"
+msgstr "Obre sempre la ubicació per defecte:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Idioma preferit pel menú del DVD i l'OGM Splitter extern"
+msgstr "Idioma preferit pel menú del DVD i el divisor extern de l'OGM"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -374,11 +378,11 @@ msgstr "Subtítols"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Additional settings"
-msgstr "Ajustos addicionals"
+msgstr "Configuracions addicionals"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Permet subtítols amb \"Line 21 Decoder\""
+msgstr "Permet subtítols per a sords en el filtre \"Line 21 Decoder\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -402,7 +406,7 @@ msgstr "Balanç"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "L"
-msgstr "I"
+msgstr "L"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "R"
@@ -422,15 +426,19 @@ msgstr "Repeteix indefinidament"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
-msgstr "cops"
+msgstr "cop(s)"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Mode de repetició:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Després de reproducció"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Sortida"
+msgid "Default zoom"
+msgstr "Zoom per defecte"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -438,7 +446,7 @@ msgstr "Zoom automàtic:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
-msgstr "Factor de zoom automàtic:"
+msgstr "Factor de l'autoajustament:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
@@ -446,7 +454,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Pista per defecte"
+msgstr "Preferències de la pista per defecte"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -458,7 +466,7 @@ msgstr "Àudio:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Anul·la les opcions de maquinari forà o splitter"
+msgstr "Permet elecció manual del divisor o \"splitter\" extern"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -466,15 +474,15 @@ msgstr "Paràmetres d’obertura"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Ajuda en la construcció del Filter Graph"
+msgstr "Utilitza subprocés de treball per construir el diagrama de filtres"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Reporta els conectors que no volen funcionar"
+msgstr "Informa d'etapes (del diagrama de filtres) que no aconsegueixin renderitzar "
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "Carga automàticament l'àudio"
+msgstr "Carrega fitxers d'àudio automàticament"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
@@ -482,7 +490,7 @@ msgstr "Controls"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume step:"
-msgstr "Pas de Volum:"
+msgstr "Salt de volum:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "%"
@@ -490,11 +498,11 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Speed step:"
-msgstr "Pas d'Acceleració:"
+msgstr "Salt de velocitat:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
msgid "Override placement"
-msgstr "Reescriure l'ubicació"
+msgstr "Posicionament manual"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
msgid "Horizontal:"
@@ -514,7 +522,7 @@ msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
-msgstr "Pas de retart"
+msgstr "Grau de retard"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
@@ -522,11 +530,11 @@ msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Opcions de textura (es necessari reobrir el fitxer perque tingui efecte)"
+msgstr "Opcions de textura (es necessari reobrir el fitxer per veure els canvis)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
-msgstr "Nombre de subtítols a la memòria intermèdia:"
+msgstr "Nombre de subtítols a la memòria intermèdia:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
@@ -534,19 +542,19 @@ msgstr "Resolució màxima de la textura:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
-msgstr "Mai permetre animació als subtítols"
+msgstr "No permetis animació als subtítols"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Renderitza en el"
+msgstr "Renderitza el"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
-msgstr "% de la animació"
+msgstr "% de l'animació"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr "Anima en el"
+msgstr "Anima el"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
@@ -554,7 +562,7 @@ msgstr "% de les imatges per segon del vídeo"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Permete la pèrdua d'algunes subimatges si la cua s'està enderrerint"
+msgstr "Permet la pèrdua d'alguns subtítols pre-renderitzats si la cua va amb retard"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -569,8 +577,8 @@ msgid "Warning"
msgstr "Advertència"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Si actives l'antialiasing a pantalla completa en les opcions de la tarja gràfica, els subtítols no es veuran millor i exigirant força CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Si activa manualment el suavitzat (antialiasing) a pantalla completa en alguna de les opcions de la seva targeta gràfica, segurament es dissiparà l'ús de la CPU sense aconseguir cap millora en l'aspecte dels subtítols."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -582,7 +590,7 @@ msgstr "Per defecte"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
msgid "Set"
-msgstr "Fixar"
+msgstr "Estableix"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
msgid "Association"
@@ -590,7 +598,7 @@ msgstr "Associació"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr "Utilitzeu les icones del format específic"
+msgstr "Utilitza les icones específiques del format"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
@@ -602,7 +610,7 @@ msgstr "Estableix com a programa per &defecte"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Gestor del Protocol de Transmisions en Temps Real (per rtsp://... URLs)"
+msgstr "Gestor del protocol de transmissions en temps real (per a URL rtsp://)"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -618,7 +626,7 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Segons l'extensió del fitxer"
+msgstr "Comprova primer l'extensió del fitxer"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -662,43 +670,43 @@ msgstr "Original"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
-msgstr "Desplaçament Ràpid(al fotograma clau)"
+msgstr "Desplaçament ràpid (al fotograma clau)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
-msgstr "Mostra la posició dels capítols dins de la barra de desplaçament"
+msgstr "Mostra les marques dels capítols a la barra de desplaçament"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "Mostra el títol \"En reproducció\" en els missatges d'estat d'ànim del Skype"
+msgstr "Mostra el títol del que s'estigui reproduïnt al missatge d'estat d'ànim de l'Skype"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "Evita de MINIMITZAR quan s'està en pantalla completa al monitor secundari"
+msgstr "Evita minimitzar el reproductor quan està en pantalla completa al utilitzar un altre monitor"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr "Usa les característiques de la barra de tasques millorada"
+msgstr "Utilitza les característiques de la barra de tasques millorada"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Obre el fitxer de la carpeta següent/anterior amb \"Skip back/forward\" quan només hi ha un element de llista de reproducció"
+msgstr "Obre el fitxer anterior/següent de la carpeta amb els botons \"Retrocedeix/Avança\" quan només hi hagi un element a la llista de reproducció"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
-msgstr "Usa la descripció emergent de temps:"
+msgstr "Mostra l'etiqueta emergent de temps:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
-msgstr "Estil del OSD:"
+msgstr "Tipus de lletra de la sobreimpressió (OSD):"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Activa el suport LCD per teclat Logitech (experimental)"
+msgstr "Activa la compatibilitat amb LCD de Logitech (teclat amb pantalla) (experimental)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr "Amaga automàticament el punter del ratolí durant la reproducció en mode de finestra"
+msgstr "Amaga automàticament el punter del ratolí durant la reproducció en mode finestra"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -710,7 +718,7 @@ msgstr "Elimina"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO1"
msgid "Prefer"
-msgstr "Preferir"
+msgstr "Prefereix"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO2"
msgid "Block"
@@ -718,7 +726,7 @@ msgstr "Bloqueja"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO3"
msgid "Set merit:"
-msgstr "Fixar Mèrit:"
+msgstr "Estableix mèrit:"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
msgid "Up"
@@ -730,11 +738,11 @@ msgstr "Avall"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Afegeix un Tipus..."
+msgstr "Afegeix un tipus de mitjà..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Afegeix un Subtipus..."
+msgstr "Afegeix un subtipus..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -742,7 +750,7 @@ msgstr "Suprimeix"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
-msgstr "Inicialitza la Llista"
+msgstr "Restableix la llista"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Type:"
@@ -754,15 +762,15 @@ msgstr "Mida:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Media length:"
-msgstr "Duració:"
+msgstr "Durada:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Video size:"
-msgstr "Mida del vídeo:"
+msgstr "Resolució:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
-msgstr "Creat:"
+msgstr "Creació:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Clip:"
@@ -790,11 +798,11 @@ msgstr "Descripció:"
msgctxt "IDD_FAVADD_CAPTION"
msgid "Add Favorite"
-msgstr "Afegeix una Adreça d'Interès"
+msgstr "Afegeix-ho a Preferits"
msgctxt "IDD_FAVADD_IDC_STATIC"
msgid "Choose a name for your shortcut:"
-msgstr "Escull un nom per la drecera de teclat:"
+msgstr "Triï un nom per a l'accés directe:"
msgctxt "IDD_FAVADD_IDC_CHECK1"
msgid "Remember position"
@@ -814,19 +822,19 @@ msgstr "Unitat relativa"
msgctxt "IDD_FAVORGANIZE_CAPTION"
msgid "Organize Favorites"
-msgstr "Organitzeu les Adreces d'Interès"
+msgstr "Organitza els Preferits"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
-msgstr "Reanomena"
+msgstr "Canvia el nom"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
-msgstr "Pujar"
+msgstr "Amunt"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
msgid "Move Down"
-msgstr "Baixar"
+msgstr "Avall"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
@@ -838,7 +846,7 @@ msgstr "D’acord"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Mode Pan&Scan"
+msgstr "Modes de reenquadrament (pan&scan)"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -850,15 +858,15 @@ msgstr "Suprimeix"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
msgid "Up"
-msgstr "Pujar"
+msgstr "Puja"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
msgid "Down"
-msgstr "Baixar"
+msgstr "Baixa"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
msgid "&Set"
-msgstr "&Posar"
+msgstr "&Estableix"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
@@ -878,15 +886,15 @@ msgstr "Zoom: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
-msgstr "Tecles Multimèdia globals"
+msgstr "Tecles multimèdia globals"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
-msgstr "Selecciona-ho tot"
+msgstr "Selecciona-les totes"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
-msgstr "Inicialitza la Selecció"
+msgstr "Restableix les seleccionades"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
@@ -894,11 +902,11 @@ msgstr "Advertència"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC no pot renderitzar alguns dels conectors de l'esquema, potser no tens els còdecs o filtres necessàris instal·lats al sistema."
+msgstr "L'MPC-HC no pot renderitzar algunes de les etapes del diagrama de filtres, potser no té instal·lats els còdecs o filtres necessaris al sistema."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
-msgstr "Els seguents conectors no han trobat un filtre conectable:"
+msgstr "Les següents etapes no han pogut trobar un filtre connectable:"
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
@@ -922,7 +930,7 @@ msgstr "Codificació:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "Delay:"
-msgstr "Retart:"
+msgstr "Retard:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "ms"
@@ -934,7 +942,7 @@ msgstr "Desa l’estil personalitzat"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr "Qualitat JPEG:"
+msgstr "Qualitat del JPEG:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Thumbnails:"
@@ -942,7 +950,7 @@ msgstr "Miniatures:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "rows"
-msgstr "fileres"
+msgstr "files"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "columns"
@@ -950,7 +958,7 @@ msgstr "columnes"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Image width:"
-msgstr "Ample:"
+msgstr "Amplada de la imatge:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "pixels"
@@ -962,7 +970,7 @@ msgstr "Trieu un filtre"
msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Explora..."
+msgstr "Navega..."
msgctxt "IDD_ADDREGFILTER_IDOK"
msgid "OK"
@@ -982,7 +990,7 @@ msgstr "Tipus de lletra"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Spacing"
-msgstr "Espai"
+msgstr "Espaiat"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Angle (z,°)"
@@ -998,7 +1006,7 @@ msgstr "Escala (y,%)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Border Style"
-msgstr "Estil de les vores"
+msgstr "Estil de la vora"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
msgid "Outline"
@@ -1018,7 +1026,7 @@ msgstr "Ombra"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Screen Alignment && Margins"
-msgstr "Alienació i Marges"
+msgstr "Alineament en pantalla i marges"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
@@ -1038,7 +1046,7 @@ msgstr "Sota"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "Posició dels subtítols relativa a la imatge"
+msgstr "Posiciona els subtítols en relació al fotograma"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1070,15 +1078,15 @@ msgstr "Vincula els canals alfa"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Si preferiu utilitzar les versions independents d'aquets filtres o algún altre reemplaçament, desactiveu-los aquí."
+msgstr "Si desitja utilitzar les versions individuals d'aquests filtres o algun altre substitut, desactiveu-los aquí."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
-msgstr "Filtres Font"
+msgstr "Filtres de fonts"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Filtres de Transformació"
+msgstr "Filtres de transformació"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
@@ -1086,11 +1094,11 @@ msgstr "Configuració dels LAV Filters interns"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
-msgstr "Splitter"
+msgstr "Desmultiplexor (Splitter)"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr "Descodificador de Vídeo"
+msgstr "Descodificador de vídeo"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
@@ -1106,7 +1114,7 @@ msgstr "Extern:"
msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
msgid "Browse..."
-msgstr "Explora..."
+msgstr "Navega..."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
@@ -1122,11 +1130,11 @@ msgstr "Vídeo QuickTime"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "Renderitzador d'Àudio"
+msgstr "Renderitzador d'àudio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Configuració del VMR-7/VMR-9 (sense renderitzar) i del EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Configuració del VMR-9 (sense renderitzat) i de l'EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1134,7 +1142,7 @@ msgstr "Superfície:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Resizer:"
-msgstr "Interpolació:"
+msgstr "Redimensionador:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
@@ -1142,15 +1150,15 @@ msgstr "Selecciona el dispositiu de D3D9"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Restableix quant canviï la pantalla"
+msgstr "Restableix en canviar la pantalla"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
-msgstr "Pantalla completa amb D3D"
+msgstr "D3D a pantalla completa"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "VSync alternatiu"
+msgstr "Sincronització Vertical alternativa"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
@@ -1186,7 +1194,11 @@ msgstr "Gir"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr "Renderitzador de Subtítols"
+msgstr "Renderitzador dels subtítols"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Emmagatzema els shaders compilats a la memòria cau"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1194,19 +1206,19 @@ msgstr "Port que rep les conexions:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Llença dins del navegador web..."
+msgstr "Obre-ho al navegador web..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
-msgstr "Activa la compresió"
+msgstr "Activa la compressió"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
-msgstr "Permet l'accés només des del host local"
+msgstr "Permet l'accés només des d'aquest ordinador (localhost)"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr "Activa la vista prèvia"
+msgstr "Activa la previsualització"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1214,11 +1226,11 @@ msgstr "Imprimeix la informació de depuració"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
msgid "Serve pages from:"
-msgstr "Serveix les pàginas des de:"
+msgstr "Serveix les pàgines des de:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Explora..."
+msgstr "Navega..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
msgid "Deploy..."
@@ -1233,16 +1245,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Gestors del CGI: (.ext1=ruta1;.ext2=ruta2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtítols disponibles en línia"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Baixa i obre’ls"
+msgid "Download subtitles"
+msgstr "Descarrega els subtítols"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Reemplaça els subtítols actuals"
+msgstr "Reemplaça els subtítols carregats actualment"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Descarrega"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Actualitza"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Cancel·la"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opcions"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Penja els subtítols"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Penja"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Cancel·la"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opcions"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1250,7 +1290,7 @@ msgstr "Anomena i desa…"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
-msgstr "Control de color (pel VMR-9, EVR i madVR)"
+msgstr "Controls de color (pel VMR-9, EVR i madVR)"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Brightness"
@@ -1262,7 +1302,7 @@ msgstr "Contrast"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Hue"
-msgstr "Tint"
+msgstr "To"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Saturation"
@@ -1270,7 +1310,7 @@ msgstr "Saturació"
msgctxt "IDD_PPAGEMISC_IDC_RESET"
msgid "Reset"
-msgstr "Inicialitza"
+msgstr "Restableix"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
@@ -1282,7 +1322,7 @@ msgstr "Activa la comprovació automàtica d'actualitzacions"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
-msgstr "Comprovar cada:"
+msgstr "Comprova cada:"
msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
msgid "day(s)"
@@ -1290,11 +1330,11 @@ msgstr "dies"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Settings management"
-msgstr "Gestió de configuracions"
+msgstr "Gestió de la configuració"
msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
msgid "Reset"
-msgstr "Inicialitza"
+msgstr "Reinicia"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
msgid "Export"
@@ -1302,7 +1342,7 @@ msgstr "Exporta"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr "Exporta les Dreceres"
+msgstr "Exporta les tecles"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
@@ -1318,7 +1358,7 @@ msgstr "Cancel·la"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. Start"
-msgstr "Freqüència inicial"
+msgstr "Freq. inicial"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Bandwidth"
@@ -1326,11 +1366,11 @@ msgstr "Amplada de banda"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. End"
-msgstr "Freqüència final"
+msgstr "Freq. final"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
msgid "Ignore encrypted channels"
-msgstr "Ignorar canals encriptats"
+msgstr "Ignora els canals encriptats"
msgctxt "IDD_TUNER_SCAN_ID_SAVE"
msgid "Save"
@@ -1346,7 +1386,7 @@ msgstr "Q"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
msgid "Use an offset"
-msgstr "Usa un desajustament \"offset\""
+msgstr "Utilitza un desfasament"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
@@ -1394,7 +1434,7 @@ msgstr "Receptor"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
msgid "Channel switching approach:"
-msgstr "Ajust de la commutació de Canals"
+msgstr "Ajust de la commutació entre canals:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
@@ -1430,11 +1470,11 @@ msgstr "columnes"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "Presenta a la Vsync més propera"
+msgstr "Presenta a la sincronització vertical més propera"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Desajustament del Vsync:"
+msgstr "Objectiu de l'òfset de la sincronitizació:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1454,11 +1494,11 @@ msgstr "ms"
msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
msgid "Changes take effect after the playback has been closed and restarted."
-msgstr "Els canvis tindran efecte després de tencar i reiniciar la reproducció."
+msgstr "Els canvis tindran efecte després de tancar i reiniciar la reproducció."
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
-msgstr "Executa fitxers a pantalla completa"
+msgstr "Obre els fitxers en pantalla completa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
@@ -1478,11 +1518,11 @@ msgstr "Surt de la pantalla completa en acabar"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
-msgstr "Monitor a Pantalla completa"
+msgstr "Monitor a pantalla completa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "Usa el mode de monitor a pantalla completa automàtic"
+msgstr "Utilitza el mode de canvi automàtic a pantalla completa del monitor"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1490,15 +1530,15 @@ msgstr "Afegeix"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
-msgstr "Borrar"
+msgstr "Elimina"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
msgid "Up"
-msgstr "Amunt"
+msgstr "Puja"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON4"
msgid "Down"
-msgstr "Avall"
+msgstr "Baixa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
@@ -1510,7 +1550,7 @@ msgstr "Restaura la resolució en sortir"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Delay"
-msgstr "Retart"
+msgstr "Retard"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
msgid "s"
@@ -1522,39 +1562,51 @@ msgstr "Informació"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
msgid "Scan"
-msgstr "Sintonitzar"
+msgstr "Analitza"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "Prefereix pistes de subtítols forçats per defecte"
+msgstr "Prefereix pistes de subtítols forçades/per defecte"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Subtítols externs per defecte si hi són"
+msgstr "Prefereix subtítols externs als incrustats"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Ignora els subtítols encastats"
+msgstr "Ignora els subtítols incrustats"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
-msgstr "Camins de càrrega automàtica"
+msgstr "Carrega les rutes automàticament"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
-msgstr "Inicialitza"
+msgstr "Restableix"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Base de dades en línia"
+msgid "Online search, download and upload subtitles"
+msgstr "Cerca en línia, descàrrega i pujada dels subtítols"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Cerca i descarrega subtítols automàticament si no se'n troba cap localment."
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Prefereix subtítols per a problemes d'audició (quan ho indiqui el proveïdor)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignora els fitxers que continguin les següents paraules:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "L’URL de la base de dades de subtítols en línia"
+msgid "Languages in order of preference:"
+msgstr "Idiomes en ordre de preferència:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Prova"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Penja els subtítols actius automàticament en finalitzar la reproducció"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1574,11 +1626,11 @@ msgstr "&Ignora aquesta actualització"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Els \"shaders o pixel shaders o P.S\" contenen efectes especials que es poden afegir al procés de renderització del vídeo."
+msgstr "Els \"shaders\" o \"pixel shaders (PS)\" contenen efectes especials que poden afegir-se al procés de renderització del vídeo."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "Afegeix un fitxer P.S"
+msgstr "Afegeix un fitxer PS"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1594,7 +1646,7 @@ msgstr "Afegeix al post-redimensionament"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Preestableix els P.S"
+msgstr "Preajustaments dels PS"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1610,11 +1662,11 @@ msgstr "Suprimeix"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "Activa el pre-redimenionament dels P.S"
+msgstr "Activa el pre-redimensionament dels PS"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "Activa el post-redimensionament dels P.S"
+msgstr "Activa el post-redimensionament dels PS"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
@@ -1642,11 +1694,11 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Configuració avançada, no la editeu sino sabeu el que esteu fent."
+msgstr "Configuració avançada, no l'editeu si no sabeu el que esteu fent."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
-msgstr "Verdader"
+msgstr "Vertader"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
@@ -1654,7 +1706,7 @@ msgstr "Fals"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
-msgstr "Per Defecte"
+msgstr "Original"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
@@ -1662,7 +1714,7 @@ msgstr "Dispositiu"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr "Mode Exclusiu"
+msgstr "Mode exclusiu"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
@@ -1686,7 +1738,7 @@ msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr "Tallar:"
+msgstr "Tall:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
@@ -1698,7 +1750,7 @@ msgstr "Nota"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr "Per minimitzar la distorsió de l'àudio, es recomana mantenir el volum del reproductor al voltant del 85% durant la reproducció de contingut codificat amb pèrdua de volum elevat."
+msgstr "Per minimitzar la distorsió de l'àudio, se recomana mantenir el volum del reproductor al voltant del 85% durant la reproducció d'un contingut codificat amb pèrdua de volum elevat."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1714,15 +1766,15 @@ msgstr "D’acord"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr "Informe de Fallades"
+msgstr "Informe d'errors"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr "Ho sentim, sembla MPC-HC ha fallat. :("
+msgstr "Ho sentim, sembla que l'MPC-HC ha fallat. :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr "Envia un informe d'error per ajudar a diagnosticar i solucionar el problema."
+msgstr "Envia un informe de l'error per ajudar-nos a diagnosticar i solucionar el problema."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
@@ -1730,7 +1782,7 @@ msgstr "informació opcional"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr "Correu Electrònic:"
+msgstr "Correu electrònic:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
@@ -1738,13 +1790,13 @@ msgstr "La seva adreça de correu electrònic és opcional i només s'utilitzar
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr "Descripció del problema( useu només l'Anglès):"
+msgstr "Descripció del problema (només en anglès):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr "Reinicia el MPC-HC"
+msgstr "Reinicia l'MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr "Surt del MPC-HC"
+msgstr "Surt de l'MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
index bfb08f9b8..92b88781c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
@@ -1,18 +1,21 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
-# papu <papu@openmailbox.org>, 2014-2015
-# papu <papu@openmailbox.org>, 2014
+# Adolfo Jayme-Barrientos, 2015
+# Adolfo Jayme-Barrientos, 2015
+# Adolfo Jayme-Barrientos, 2014
+# papu, 2014-2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016
+# papu, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-26 21:50+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-11-17 12:02+0000\n"
+"Last-Translator: Roger <roger.espolet@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mpc-hc/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,7 +29,7 @@ msgstr "&Fitxer"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "Obre un fitxer &ràpid…"
+msgstr "Obertura &ràpida de fitxer..."
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
@@ -38,15 +41,15 @@ msgstr "Obre un &DVD/BD…"
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
-msgstr "Obre el Dis&positiu..."
+msgstr "Obre el dis&positiu..."
msgctxt "ID_FILE_OPENDIRECTORY"
msgid "Open Dir&ectory..."
-msgstr "Obre un Di&rectori..."
+msgstr "Obre un di&rectori..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
-msgstr "Obre un Di&sc"
+msgstr "Obre un di&sc"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
@@ -62,35 +65,31 @@ msgstr "&Desa una còpia..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
-msgstr "Desa una &Imatge..."
+msgstr "Desa la &imatge..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Desa les &Miniatures..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Carga el &Subtítol..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Desa el S&ubtítol..."
+msgstr "Desa les &miniatures..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Base de Dades dels Subtítols"
+msgid "S&ubtitles"
+msgstr "S&ubtítols"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Carrega els subtítols..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Cerca…"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Desa els s&ubtítols..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Pen&ja..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Descarrega els subtítols..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Baixa…"
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Penja els subtítols..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -102,19 +101,19 @@ msgstr "&Surt"
msgctxt "POPUP"
msgid "&View"
-msgstr "&Visualitza"
+msgstr "&Visualització"
msgctxt "ID_VIEW_CAPTIONMENU"
msgid "Caption&&Menu"
-msgstr "Menú &i llegenda"
+msgstr "Barra del títol &i menú"
msgctxt "ID_VIEW_SEEKER"
msgid "See&k Bar"
-msgstr "Barra de &Cerca"
+msgstr "Barra de despla&çament"
msgctxt "ID_VIEW_CONTROLS"
msgid "&Controls"
-msgstr "Cont&rols"
+msgstr "&Controls"
msgctxt "ID_VIEW_INFORMATION"
msgid "&Information"
@@ -134,7 +133,7 @@ msgstr "&Resincronització dels subtítols"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
-msgstr "&Llista de Reproducció"
+msgstr "&Llista de reproducció"
msgctxt "ID_VIEW_CAPTURE"
msgid "Captu&re"
@@ -146,7 +145,7 @@ msgstr "&Navegació"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Depuració dels Shaders"
+msgstr "&Depuració dels shaders"
msgctxt "POPUP"
msgid "&Presets..."
@@ -154,7 +153,7 @@ msgstr "&Interfície..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
-msgstr "&Mínim"
+msgstr "&Mínima"
msgctxt "ID_VIEW_PRESETS_COMPACT"
msgid "&Compact"
@@ -190,43 +189,43 @@ msgstr "&Ajust automàtic"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "A&just automàtic (Si es massa Gran)"
+msgstr "Ajusta automàticament (si és massa &gran)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "Ajustos del Renderit&zador"
+msgstr "Configuració del renderit&zador"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "Prova de &Pipelleig"
+msgstr "Prova de &pipelleig"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr "&Visualitza les Estadístiques"
+msgstr "&Visualitza les estadístiques"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Visualitza el T&emps Actual"
+msgstr "Visualitza el t&emps actual"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr "Mostra el &Nom del Fixer"
+msgstr "Mostra el &nom del fixer"
msgctxt "POPUP"
msgid "&Output Range"
-msgstr "&Rang de Sortida"
+msgstr "&Rang de sortida"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
-msgstr "Pr&esentació"
+msgstr "&Presentació"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
@@ -242,7 +241,7 @@ msgstr "So&rtida a RGB 10-bits"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "For&ça l'Entrada a RGB 10-bits"
+msgstr "Força l'&entrada a RGB de 10-bits"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
@@ -254,15 +253,15 @@ msgstr "Processa&ment en coma flotant parcial"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
-msgstr "Desactiva la &Composició de l'escriptori(Aero)"
+msgstr "Desactiva la &composició de l'escriptori(&Aero)"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Activa la Correcció Temporal de &Fotograma"
+msgstr "Activa la correcció temporal de &fotograma"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "&Gestió de Colors"
+msgstr "&Gestió de colors"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
@@ -270,11 +269,11 @@ msgstr "&Activa"
msgctxt "POPUP"
msgid "&Input Type"
-msgstr "&Tipus d'Entrada"
+msgstr "&Tipus d'entrada"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
-msgstr "&Autodetecció"
+msgstr "&Detecta automàticament"
msgctxt "ID_VIEW_CM_INPUT_HDTV"
msgid "&HDTV"
@@ -290,7 +289,7 @@ msgstr "SDTV &PAL"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "&Llum d'Ambient"
+msgstr "&Llum ambient"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
@@ -306,7 +305,7 @@ msgstr "&Fosc (2.4 Gamma)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "Tipus de &Renderització"
+msgstr "Tipus de &renderització"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
@@ -314,7 +313,7 @@ msgstr "&Perceptiu"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "Colorimetria &Relativa"
+msgstr "Colorimetria &relativa"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
@@ -322,31 +321,31 @@ msgstr "&Saturació"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "Colorimetria &Absoluta"
+msgstr "Colorimetria &absoluta"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "&VSync (Sincronia Vertical)"
+msgstr "&Sincronització vertical"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "&VSync (Sincronia Vertical)"
+msgstr "&Sincronització vertical"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "VSync &Precisa"
+msgstr "Sincronització vertical &precisa"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "VSync &Alternativa"
+msgstr "Sincronització vertical &alternativa"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Disminuieix la compensació del vsync"
+msgstr "&Disminuieix l'òfset de la \"vsync\""
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "&Augmenta la Compensació del Vsync"
+msgstr "&Augmenta l'òfset de la \"vsync\""
msgctxt "POPUP"
msgid "&GPU Control"
@@ -358,7 +357,7 @@ msgstr "Buida la GPU &abans de la VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Buida la GPU &després de Present"
+msgstr "Buida la GPU &després de presentar (Present)"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
@@ -366,31 +365,31 @@ msgstr "Espera al &buidat"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Re&inicialitza"
+msgstr "Re&stableix"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Reinicialitza els ajustos &per defecte del renderitzador"
+msgstr "Restableix les configuracions &per defecte del renderitzador"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Reinicialitza els ajustos òpti&ms del renderitzador"
+msgstr "Restableix les configuracions òpti&mes del renderitzador"
msgctxt "POPUP"
msgid "Video &Frame"
-msgstr "&Finestra del Vídeo"
+msgstr "&Fotograma"
msgctxt "ID_VIEW_VF_HALF"
msgid "&Half Size"
-msgstr "&Meitat del Tamany"
+msgstr "&Meitat de la mida"
msgctxt "ID_VIEW_VF_NORMAL"
msgid "&Normal Size"
-msgstr "Tamany &Original"
+msgstr "Mida &normal"
msgctxt "ID_VIEW_VF_DOUBLE"
msgid "&Double Size"
-msgstr "&Tamany Doble"
+msgstr "Mida &doble"
msgctxt "ID_VIEW_VF_STRETCH"
msgid "&Stretch To Window"
@@ -398,7 +397,7 @@ msgstr "&Ajusta a la finestra"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "Tocar finestra des de D&ins"
+msgstr "&Toca la finestra des de dins"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
@@ -410,87 +409,87 @@ msgstr "Zoom&2"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "Tocar finestra des de F&ora"
-
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Ma&nté la Relació d'Aspecte o AR"
+msgstr "Toca la finestra des de &fora"
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Força la Relació d'Aspecte Específica"
+msgid "&Aspect Ratio"
+msgstr "Relació d'&aspecte"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Original"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Per &defecte (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
-msgstr "4:3"
+msgstr "&4:3"
msgctxt "ID_ASPECTRATIO_5_4"
msgid "&5:4"
-msgstr "5:4"
+msgstr "&5:4"
msgctxt "ID_ASPECTRATIO_16_9"
msgid "&16:9"
-msgstr "16:9"
+msgstr "&16:9"
msgctxt "ID_ASPECTRATIO_235_100"
msgid "&235:100"
-msgstr "235:100"
+msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Adopta píxels &quadrats (SAR)"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "Corregeix la diferència de &Relació d'Aspecte del Monitor/Escriptori"
+msgstr "Corregeix la diferència de &relació d'aspecte del monitor/escriptori"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Pan&&S&can"
+msgstr "Reenquadrament (pan&scan)"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
-msgstr "&Augmenta el Tamany"
+msgstr "&Augmenta la mida"
msgctxt "ID_VIEW_DECSIZE"
msgid "&Decrease Size"
-msgstr "&Disminueix el Tamany"
+msgstr "&Disminueix la mida"
msgctxt "ID_VIEW_INCWIDTH"
msgid "I&ncrease Width"
-msgstr "Au&gmenta l''Amplada"
+msgstr "Au&gmenta l'amplada"
msgctxt "ID_VIEW_DECWIDTH"
msgid "D&ecrease Width"
-msgstr "Dis&minueix l'Amplada"
+msgstr "Dis&minueix l'amplada"
msgctxt "ID_VIEW_INCHEIGHT"
msgid "In&crease Height"
-msgstr "Augmenta l'Al&çada"
+msgstr "Augmenta l'al&çada"
msgctxt "ID_VIEW_DECHEIGHT"
msgid "Decre&ase Height"
-msgstr "Dismi&nueix l'Alçada"
+msgstr "Dismi&nueix l'alçada"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
-msgstr "Mou ca&p a la Dreta"
+msgstr "Mou cap a la &dreta"
msgctxt "ID_PANSCAN_MOVELEFT"
msgid "Move &Left"
-msgstr "Mou cap a l'Es&querra"
+msgstr "Mou cap a l'&esquerra"
msgctxt "ID_PANSCAN_MOVEUP"
msgid "Move &Up"
-msgstr "Mo&u cap Amunt"
+msgstr "Mo&u cap amunt"
msgctxt "ID_PANSCAN_MOVEDOWN"
msgid "Move &Down"
-msgstr "Mou cap A&vall"
+msgstr "Mou cap a&vall"
msgctxt "ID_PANSCAN_CENTER"
msgid "Cen&ter"
@@ -498,11 +497,11 @@ msgstr "Centr&a"
msgctxt "ID_VIEW_RESET"
msgid "Re&set"
-msgstr "R&einicia"
+msgstr "Re&stableix"
msgctxt "POPUP"
msgid "On &Top"
-msgstr "Sempre &Visible"
+msgstr "Sempre &visible"
msgctxt "ID_ONTOP_DEFAULT"
msgid "&Default"
@@ -518,7 +517,7 @@ msgstr "&Durant la reproducció"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
-msgstr "Durant la reproducció de &Vídeo"
+msgstr "Durant la reproducció de &vídeo"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
@@ -526,7 +525,7 @@ msgstr "&Opcions..."
msgctxt "POPUP"
msgid "&Play"
-msgstr "&Reprodueix"
+msgstr "&Reproducció"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
@@ -537,24 +536,40 @@ msgid "&Stop"
msgstr "&Atura"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "Avança un &Fotograma"
+msgid "Fra&me Step"
+msgstr "Avança un &fotograma"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Repeteix"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "In&definidament"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Fitxer"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Llista de reproducció"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
-msgstr "Au&gmenta la Velocitat"
+msgstr "&Redueix la velocitat"
msgctxt "ID_PLAY_INCRATE"
msgid "&Increase Rate"
-msgstr "&Disminueix la Velocitat"
+msgstr "&Augmenta la velocitat"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "Re&inicia la Velocitat"
+msgstr "R&estableix la velocitat"
msgctxt "ID_FILTERS"
msgid "&Filters"
-msgstr "Fi&ltres"
+msgstr "&Filtres"
msgctxt "ID_SHADERS"
msgid "S&haders"
@@ -562,35 +577,35 @@ msgstr "S&haders"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
-msgstr "Pista d' &Àudio"
+msgstr "Pista d'&àudio"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr "Pista de Su&títols"
+msgstr "Pista de su&btítols"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "Pista de &Vídeo"
+msgid "Vide&o Track"
+msgstr "Pista de &vídeo"
msgctxt "POPUP"
msgid "&Volume"
-msgstr "Vol&umen"
+msgstr "&Volum"
msgctxt "ID_VOLUME_UP"
msgid "&Up"
-msgstr "&Amunt"
+msgstr "&Apuja"
msgctxt "ID_VOLUME_DOWN"
msgid "&Down"
-msgstr "A&vall"
+msgstr "&Abaixa"
msgctxt "ID_VOLUME_MUTE"
msgid "&Mute"
-msgstr "&Mutis"
+msgstr "&Silencia"
msgctxt "POPUP"
msgid "Af&ter Playback"
-msgstr "Després de la Re&producció"
+msgstr "Des&prés de la reproducció"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
@@ -598,7 +613,7 @@ msgstr "No facis &res"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
-msgstr "Reprodueix el fitxer &següent dins la carpeta"
+msgstr "Reprodueix el fitxer &següent de la carpeta"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
@@ -606,11 +621,11 @@ msgstr "Apaga el &monitor"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
-msgstr "&Tanca"
+msgstr "&Surt"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
-msgstr "&En Espera"
+msgstr "&Atura temporalment"
msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
msgid "&Hibernate"
@@ -618,23 +633,23 @@ msgstr "&Hiberna"
msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
msgid "Shut&down"
-msgstr "&Apaga"
+msgstr "&Tanca l'ordinador"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
-msgstr "&Finalitza la sessió"
+msgstr "&Tanca la sessió"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "&Bloqueja l'ordinador"
+msgstr "&Bloca"
msgctxt "POPUP"
msgid "&Navigate"
-msgstr "Na&vega"
+msgstr "&Navegació"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "&Previous"
-msgstr "&Previ"
+msgstr "&Anterior"
msgctxt "ID_NAVIGATE_SKIPFORWARD"
msgid "&Next"
@@ -642,35 +657,35 @@ msgstr "&Següent"
msgctxt "ID_NAVIGATE_GOTO"
msgid "&Go To..."
-msgstr "V&és a..."
+msgstr "&Vés a..."
msgctxt "ID_NAVIGATE_TITLEMENU"
msgid "&Title Menu"
-msgstr "Menú del &Títol"
+msgstr "Menú del &títol"
msgctxt "ID_NAVIGATE_ROOTMENU"
msgid "&Root Menu"
-msgstr "Menú &Arrel"
+msgstr "Menú &arrel"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
-msgstr "Menú dels &Subtítols"
+msgstr "Menú dels &subtítols"
msgctxt "ID_NAVIGATE_AUDIOMENU"
msgid "&Audio Menu"
-msgstr "Menú de l'Àu&dio"
+msgstr "Menú de l'&àudio"
msgctxt "ID_NAVIGATE_ANGLEMENU"
msgid "An&gle Menu"
-msgstr "Menú d'An&gle"
+msgstr "Menú de l'&angle"
msgctxt "ID_NAVIGATE_CHAPTERMENU"
msgid "&Chapter Menu"
-msgstr "Menú dels &Capítols"
+msgstr "Menú dels &capítols"
msgctxt "ID_FAVORITES"
msgid "F&avorites"
-msgstr "&Adreces d'Interès"
+msgstr "&Preferits"
msgctxt "POPUP"
msgid "&Help"
@@ -682,7 +697,7 @@ msgstr "&Lloc web"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr "Verifica les &actualitzacions"
+msgstr "Comprova si hi ha &actualitzacions"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
@@ -690,7 +705,7 @@ msgstr "&Opcions de la línia d’ordres"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "&Baixa icones per la barra de control"
+msgstr "Baixa icones per a la &barra de control"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
index b52dc5db8..661be0606 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
@@ -1,19 +1,23 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014-2015
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
-# Katabi Oka, 2015
-# papu <papu@openmailbox.org>, 2014-2015
-# papu <papu@openmailbox.org>, 2014
+# Adolfo Jayme-Barrientos, 2014-2015
+# Adolfo Jayme-Barrientos, 2015
+# Adolfo Jayme-Barrientos, 2014
+# Katabi, 2015
+# papu, 2014-2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2017
+# Roger <roger.espolet@gmail.com>, 2016
+# papu, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-12 12:09+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-02-17 12:22+0000\n"
+"Last-Translator: Roger <roger.espolet@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mpc-hc/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -65,10 +69,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Propietats"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fitxer"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Estil per &defecte"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Llista de reproducció"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Fitxers"
@@ -87,11 +99,11 @@ msgstr "Temps"
msgctxt "IDS_STATSBAR_SYNC_OFFSET"
msgid "Sync Offset"
-msgstr "Desajustament de sincronització"
+msgstr "Sincronització de l'òfset"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr "mitjana: %d, desviació: %d ms"
+msgstr "mitjana: %d ms, desviació: %d ms"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -119,7 +131,27 @@ msgstr "Estils"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Si l' objectiu del renderitzador es deixa sense definir, els subtítols SSA/ASS seran renderitzats en relació al fotograma de vídeo mentres que la resta ho seran en relació a la finestra."
+msgstr "Si l'objectiu del renderitzador es deixa sense definir, els subtítols en format SSA/ASS seran renderitzats en relació al fotograma mentre que la resta ho seran en relació a la finestra."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Mode de repetició: Llista de reproducció"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Mode de repetició: Fitxer"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repeteix indefinidament: Activat"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repeteix indefinidament: Desactivat"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repeteix indefinidament"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -147,11 +179,11 @@ msgstr "No es recomana. Només per a fins de verificació."
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
-msgstr "Mai, si és possible (el més ràpid, però no suportat per la majoria dels filtres)"
+msgstr "Mai si és possible (és més ràpid, però no ho suporten la majoria dels filtres)"
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
-msgstr "Només en canviar diferents tipus de vídeo (per defecte)"
+msgstr "Només en canviar entre diferents tipus de vídeo (per defecte)"
msgctxt "IDS_PPAGE_CAPTURE_SFG2"
msgid "Always (may be required by some devices)"
@@ -175,7 +207,7 @@ msgstr "Contingut"
msgctxt "IDS_CONTENT_MOVIE_DRAMA"
msgid "Movie/Drama"
-msgstr "Film/drama"
+msgstr "Pel·lícula/drama"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
@@ -187,15 +219,15 @@ msgstr "GB/s"
msgctxt "IDS_FILE_FAV_ADDED"
msgid "File added to favorites"
-msgstr "Fitxer afegit a les adreces d'interès"
+msgstr "Fitxer afegit a preferits"
msgctxt "IDS_DVD_FAV_ADDED"
msgid "DVD added to favorites"
-msgstr "DVD afegit a les Adreces d'Interès"
+msgstr "DVD afegit a preferits"
msgctxt "IDS_CAPTURE_SETTINGS"
msgid "Capture Settings"
-msgstr "Configuració de la Captació"
+msgstr "Configuració de la captura"
msgctxt "IDS_NAVIGATION_BAR"
msgid "Navigation Bar"
@@ -215,7 +247,7 @@ msgstr "Fi"
msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
msgid "Preview"
-msgstr "Avanç"
+msgstr "Previsualitza"
msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
msgid "Vob ID"
@@ -223,7 +255,7 @@ msgstr "ID del VOB"
msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
msgid "Cell ID"
-msgstr "Id. de la cel·la"
+msgstr "ID de la cel·la"
msgctxt "IDS_SUBRESYNC_CLN_FORCED"
msgid "Forced"
@@ -231,7 +263,7 @@ msgstr "Forçat"
msgctxt "IDS_SUBRESYNC_CLN_TEXT"
msgid "Text"
-msgstr "Texte"
+msgstr "Text"
msgctxt "IDS_SUBRESYNC_CLN_STYLE"
msgid "Style"
@@ -243,15 +275,15 @@ msgstr "Tipus de lletra"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Fallada al renderitzar alguns dels pins del filtre de Navegació de DVD"
+msgstr "No s'han pogut renderitzar algunes de les etapes del filtre \"Navegació DVD\""
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
-msgstr "Error en consultar les interfícies necessàries per a la reproducció de DVD"
+msgstr "No s'han pogut consultar les interfícies necessàries per a la reproducció de DVD"
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
-msgstr "En viu"
+msgstr "En directe"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
@@ -263,7 +295,7 @@ msgstr "No es pot afegir el filtre de captura d'audio al graph."
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
-msgstr "No es pot obrir el controlador de captació."
+msgstr "No s'ha pogut obrir el dispositiu de captura."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
@@ -271,15 +303,15 @@ msgstr "No es pot obrir, paràmetres d'entrada no vàlids"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
-msgstr "Edita l'editor de llistes"
+msgstr "Editor de llistes d'edició (EDLs)"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
-msgstr "El temps introduït és major que la durada de l'fitxer."
+msgstr "El temps introduït és major que la durada del fitxer."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Manca la llibreria d'icones \"mpciconlib.dll\".\nS'usaran les icones del reproductor per defecte per l'associació dels fitxers.\nSisplau, instal·li el MPC-HC per obtenir el \"mpciconlib.dll\"."
+msgstr "Manca la llibreria d'icones \"mpciconlib.dll\".\nEs faran servir les icones del reproductor per defecte per a l'associació dels fitxers.\nSi us plau, instal·li l'MPC-HC per obtenir el \"mpciconlib.dll\"."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -311,7 +343,7 @@ msgstr "Unicode"
msgctxt "IDS_SUBRESYNC_CLN_LAYER"
msgid "Layer"
-msgstr "Nivell"
+msgstr "Capa"
msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
msgid "Actor"
@@ -331,15 +363,15 @@ msgstr "Activat/Desactivat"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
-msgstr "Des de (FPS)"
+msgstr "De (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
msgid "To (FPS)"
-msgstr "Cap a (FPS)"
+msgstr "A (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
-msgstr "Mode de Pantalla (Hz)"
+msgstr "Mode de pantalla (Hz)"
msgctxt "IDS_PPAGE_FS_DEFAULT"
msgid "Default"
@@ -347,23 +379,23 @@ msgstr "Per defecte"
msgctxt "IDS_PPAGE_FS_OTHER"
msgid "Other"
-msgstr "Altre"
+msgstr "Altres"
msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
msgid "System Default"
-msgstr "Valor por defecte del sistema"
+msgstr "Valor per defecte del sistema"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr "Error en consultar les interfícies necessàries per a la reproducció"
+msgstr "No s'han pogut consultar les interfícies necessàries per a la reproducció"
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
-msgstr "No s'ha pogut establir finestra de destinació per a la notificació del graph"
+msgstr "No s'ha pogut establir una finestra de destinació per a les notificacions del diagrama de filtres."
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Fallada al renderitzar tots els pins del filtre de Navegació de DVD"
+msgstr "No s'han pogut renderitzar totes les etapes del filtre \"Navegador DVD\""
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -391,11 +423,11 @@ msgstr "A&nomena i desa…"
msgctxt "IDS_PLAYLIST_SORTBYLABEL"
msgid "Sort by &label"
-msgstr "Agrupar per E&tiquetes"
+msgstr "Agrupa per &etiquetes"
msgctxt "IDS_PLAYLIST_SORTBYPATH"
msgid "Sort by &path"
-msgstr "Agrupar per R&utes"
+msgstr "Agrupa per &ubicació"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
@@ -403,7 +435,7 @@ msgstr "&Aleatori"
msgctxt "IDS_PLAYLIST_RESTORE"
msgid "R&estore"
-msgstr "R&estaurar"
+msgstr "R&estaura"
msgctxt "IDS_SUBRESYNC_SEPARATOR"
msgid "&Separator"
@@ -415,23 +447,23 @@ msgstr "&Suprimeix"
msgctxt "IDS_SUBRESYNC_DUPLICATE"
msgid "D&uplicate"
-msgstr "D&uplicar"
+msgstr "D&uplica"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
-msgstr "&Inicialitza"
+msgstr "&Restableix"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr "Retard dels Subs -"
+msgstr "Redueix el retard dels subtítols"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
-msgstr "Retard dels Subs +"
+msgstr "Augmenta el retard dels subtítols"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
-msgstr "Desar vistes previes"
+msgstr "Desa les miniatures"
msgctxt "IDD_PPAGEPLAYBACK"
msgid "Playback"
@@ -459,7 +491,7 @@ msgstr "Retocs"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Filtres Interns::Commutador de l'Àudio"
+msgstr "Filtres interns::Commutador d'àudio"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
@@ -475,7 +507,7 @@ msgstr "Recursos"
msgctxt "IDD_PPAGEMISC"
msgid "Miscellaneous"
-msgstr "Miscel·lània"
+msgstr "Diversos"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
@@ -487,7 +519,7 @@ msgstr "Reproducció::Captura"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Reproducció::Sync Renderer Settings"
+msgstr "Reproducció::Renderitzador Sync"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
@@ -495,15 +527,15 @@ msgstr "Reproducció::Pantalla completa"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr "Filtres Interns::Renderitzador d'Àudio"
+msgstr "Filtres interns::Renderitzador d'àudio"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
-msgstr "Canvia Àudio"
+msgstr "Commutador d'àudio"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
-msgstr "Versió actualitzada de la biblioteca d’icones"
+msgstr "Nova versió de la llibreria d'icones"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
@@ -511,7 +543,7 @@ msgstr "Voleu tornar a associar les icones?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Això solucionarà les icones que es mostren incorrectament després de l'actualització de les icones de la biblioteca.\nLes associacions dels fitxer no seran modificades, només les icones s'actualitzaran."
+msgstr "Això solucionarà les icones que es mostren incorrectament després de l'actualització de la col·lecció d'icones.\nLes associacions de fitxer no seran modificades, només s'actualitzaran les icones corresponents."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
@@ -521,21 +553,13 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Renderitzador Overlay Mixer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (de finestra)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (de finestra)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (sense res)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Video Mixing Renderer 9 (sense res)"
+msgstr "Video Mixing Renderer 9 (renderless)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
@@ -547,7 +571,7 @@ msgstr "Enhanced Video Renderer (custom presenter)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali Video Renderer"
+msgstr "Renderitzador de vídeo Haali"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -563,15 +587,15 @@ msgstr "madVR"
msgctxt "IDD_PPAGEACCELTBL"
msgid "Player::Keys"
-msgstr "Reproductor::Drecera de teclat"
+msgstr "Reproductor::Tecles"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
-msgstr "Subtítols::Estil predeterminat"
+msgstr "Subtítols::Estil per defecte"
msgctxt "IDD_PPAGEINTERNALFILTERS"
msgid "Internal Filters"
-msgstr "Filtres Interns"
+msgstr "Filtres interns"
msgctxt "IDD_PPAGELOGO"
msgid "Player::Logo"
@@ -583,11 +607,7 @@ msgstr "Reproducció::Sortida"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Reproductor::Interfície Web"
-
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtítols::Base de Dades"
+msgstr "Reproductor::Interfície web"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
@@ -599,7 +619,7 @@ msgstr "Clip"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Filtre renderitzat predeterminat per DirectShow. Altres l'utilitzarant quant no puguin cargar-se adecuadament per qualsevol raó. Al Windows XP es el mateix que VMR-7 (de finestra)."
+msgstr "Filtre renderitzador de vídeo per defecte per al DirectShow. Els altres filtres recorreran a aquest quan no pugin carregar-se adequadament per algun motiu. Al Windows XP és propi VMR-7 (mode finestra)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
@@ -609,41 +629,33 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Sempre renderitzador amb Overlay. Generalment només es permeten els formats YUV, però es presenten directament sense cap conversió de color a RGB. Aquesta manera de renderitzat és la més ràpida i l'únic on pots estar segur sobre el Video Mirroring a pantalla completa en activar la sortida de TV."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "El renderitzat predeterminat de XP. Molt estable i només es una mica més lent que el mesclador Overlay. Usa DirectDraw i usa l'Overlay quan pot."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Només disponible si tens instal·lat DirectX 9. Té les mateixes habilitats que VMR-7 (de finestra), pero mai usarà el renderitzat Overlay i per aquesta raó podria ser una mica més lent que VMR-7 (de finestra)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "El mateix que VMR-7 (de finestra), però amb el plugin \"Asignador-Presentador\" del MPC pel subtitulat. El mirall de l'Overlay NO funcionarà. Es recomana la profunditat de color de l'escriptori \"Color Verdader\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Només està disponible si té el DirectX 9 instal·lat. És molt estable, però mai s'utilitzarà l'Overlay per renderitzar, i per això, pot ser que sigui una mica més lent que l'Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "El mateix que VMR-9 (de finestra), però amb el plugin \"Asignador-Presentador\" del MPC pel subtitulat. El mirall de l'Overlay POTSER funcionarà. Es recomana la profunditat de color de l'escriptori \"Color Verdader\"."
+msgstr "El mateix que el renderitzador VMR-9 (mode finestra), però amb el plugin \"Asignador-Presentador\" de l'MPC per al subtitulat. La replicació de vídeo en mode Overlay o hardware de renderitzat directe PODRIA funcionar. Se recomana la profunditat de color d'escriptori \"Color vertader\". Recomanat per a Windows XP."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Igual que VMR-9 (sense res), pero usa un redimensionador real de dues passades."
+msgstr "El mateix que el rederitzador VMR-9 (sense renderitzat), però fa servir un redimensionador bicúbic en dos passades reals."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Conecta a cualsevol tipus de mitjà de vídeo i manda les mostres a cap lloc. Utilitza'l quant no necesitis veure el vídeo, i vulguis evitar l'ús no necessari de la CPU."
+msgstr "Renderitzador nul. Connecta amb qualsevol tipus de mitjà estil-vídeo i envia el mostreig entrant a anul·lació. Utilitzi'l si no necessita mostrar el vídeo i vol evitar el consum innecessari de la CPU."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "Igual que el renderitzador null normal, perè només conectarà a tipus sense compresió."
+msgstr "Renderitzador nul igual que el normal, però aquest només es connectarà amb mitjans de tipus sense compressió."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Nomès disponible a Vista o posterior o per XP amb com a mínim .NET Framework 3.5 instal·lat."
+msgstr "Només disponible per Vista o posterior, o per XP amb .NET Framework 3.5 o superior instal·lat."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Igual que EVR, pero amb l' Asignació-Presentació del MPC-HC pel subtitulat i postprocessament. Recomanat per Vindows Vista o posterior."
+msgstr "Igual que l'EVR, però amb el component Allocator-Presenter (assignador-presentador) de l'MPC-HC per al subtitulat i postprocessament. Recomanat per a Windows Vista o posterior."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
@@ -657,25 +669,17 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Renderitzat propi real. Els scripts SMIL funcionaran, però la interacció probablemente no. Usa DirectDraw i s'excuta amb l'Overlay quant pot."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La sortida del motor Real serà renderitzat per l' \"Asignador-Presentador\" basat en DX7 de VMR-7 (sense renderitzar)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "La sortida del motor Real serà renderitzat per l' \"Asignador-Presentador\" basat en DX9 del VMR-9 (sense renderitzar)."
+msgstr "La sortida del motor Real serà renderitzat per l' \"Asignador-Presentador\" basat en DX9 del VMR-9 (renderless)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "El renderitzador propi del Quictime, es torna una mica lent quant l'àrea del video es redimensiona o bé queda parcialment coberta per una altre finestra. Quant l'Overlay no esta disponible li agrada tornar al mòde GDI(interfície de dispositiu gràfic)."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La Sortida del motor de QuickTime será renderitzat pel \"Allocator-Presenter\" basat en DX7 del VMR-7 (sense renderitzar)."
+msgstr "El renderitzador propi del Quicktime, es torna una mica lent quan l'àrea del vídeo es redimensiona o bé queda parcialment coberta per una altre finestra. Quant l'Overlay no està disponible li agrada recórrer al mode GDI (interfície -bàsica- de dispositiu gràfic)."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "La Sortida del motor de QuickTime será renderitzat per l \"Allocator-Presenter\" basat en DX9 del VMR-9 (sense renderitzar)."
+msgstr "La Sortida del motor de QuickTime será renderitzat per l \"Allocator-Presenter\" basat en DX9 del VMR-9 (renderless)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -687,7 +691,7 @@ msgstr "Sync Renderer"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
-msgstr "Superfícies \"offscreen\" clàssiques"
+msgstr "Superfície simple normal fora de pantalla"
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
@@ -699,15 +703,15 @@ msgstr "Superfícies 3D (recomanat)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
-msgstr "Nearest neighbor"
+msgstr "Interpolació per proximitat"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
msgid "Bilinear"
-msgstr "Bilinear"
+msgstr "Bilineal"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
msgid "Bilinear (PS 2.0)"
-msgstr "Bilinear (PS 2.0)"
+msgstr "Bilineal (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
msgid "Bicubic A=-0.60 (PS 2.0)"
@@ -727,19 +731,19 @@ msgstr "**no disponible**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr "El renderitzador seleccionat no està pas instal·lat."
+msgstr "El renderitzador seleccionat no està instal·lat."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr "Null (qualsevol)"
+msgstr "Renderitzador nul (qualsevol entrada)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Null (sense comprimir)"
+msgstr "Renderitzador nul (entrada no comprimida)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr "Renderitzador d'Audio Intern"
+msgstr "Renderitzador intern d'àudio"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -751,15 +755,19 @@ msgstr "Tipus MIME"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Per visualitzar un recurs incrustat en el seu navegador has d'habilitar la interfície web.\n\nUseu el botó \"Guardar com\" si només vol guardar la informació."
+msgstr "Per visualitzar un recurs incrustat al seu navegador ha d'habilitar la interfície web.\n\nUtilitzeu el botó \"Anomena i desa\" si només voleu guardar la informació."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Descarrega els Subtítols"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Descarrega subtítols..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Penja subtítols..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
-msgstr "Retart (ms):"
+msgstr "Retard (ms):"
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
@@ -767,11 +775,11 @@ msgstr "Automàtic"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr "No hi ha dreceres de teclat per exportar."
+msgstr "No hi ha tecles personalitzades per exportar."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
-msgstr "No es troven fitxers multimèdia a l'arxiu"
+msgstr "No s'han trobat arxius multimèdia al fitxer"
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
@@ -783,11 +791,11 @@ msgstr "Els fitxers no són compatibles"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr "Falten porcions de l'arxiu"
+msgstr "No s'han trobat totes les parts del fitxer"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "La superfície de vídeo serà asiganada como una textura pero encara les funciones 2D serán usadas per copiar i estirar-se sobre el backbuffer. Eequereix una tarjeta de vídeo que pugui aplicar RGBA de 32 bits, com a mínim textures de potència de dos en la resolució del vídeo."
+msgstr "La superfície del vídeo s'assiganarà com una textura però encara s'utilitzaran les funciones 2D per copiar-la i ajustar-la dintre del backbuffer (buffer no visible). Requereix una tarjeta gràfica que pugui assignar profunditats de color de 32 bits, patró de color RGBA, textures de dimensions que no siguin potències de 2, i que pugui fer-ho almenys en la resolució del vídeo."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -795,7 +803,7 @@ msgstr "La superfície del vídeo serà asiganada com una textura i dibuixada co
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "Si no hi ha suport per Pixel Shader 2.0, s'usarà el filtre bilineal sencill de interpolació de la imatge automàticament."
+msgstr "Si no hi ha suport per al Pixel Shader 2.0, s'utilitzarà automàticament el redimensionament bilineal simple."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
@@ -811,15 +819,27 @@ msgstr "Redueix el tearing(esquinçament de la imatge) però impedeix que la bar
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Redueix l'esquinçament de la imatge o \"tearing\" ignorant el VSync predeterminat del D3D."
+msgstr "Redueix l'esquinçament de la imatge o \"tearing\" ignorant la Sincronització Vertical predeterminada del D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Sintonització"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "No s'han carregat els subtítols o el renderitzador no és compatible."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Emmagatzema els shaders compilats al directori AppData local per accelerar el temps de càrrega."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
-msgstr "Obre VTS_xx_0.ifo per cargar tots els fitxers VTS_xx_x.vob de cop"
+msgstr "Obre VTS_xx_0.ifo per carregar tots els fitxers VTS_xx_x.vob de cop"
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
-msgstr "Basat en RARFileSource, no és pas compatible amb fitxers comprimits"
+msgstr "Basat en RARFileSource, no és compatible amb fitxers comprimits"
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
@@ -827,35 +847,35 @@ msgstr "Utilitza els LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Usar LAV Filters. Desactivat per defecte ja que els filtres de Microsoft solen ser més estables per aquests formats.\nSi esculls usar els filtres interns, habilita'ls ambdos l'origen i la decodificació per tenir una millor experiéncia de reproducció."
+msgstr "Usa els LAV Filters. Desactivat per defecte ja que els filtres de Microsoft solen ser més estables per aquests formats.\nSi esculls usar els filtres interns, habilita'ls ambdos l'origen i la decodificació per tenir una millor experiéncia de reproducció."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr "Commutar Barra de Navegació"
+msgstr "Commuta la barra de navegació"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "VSync precisa"
+msgstr "Sincronització Vertical precisa"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Si l' objectiu del renderitzador es deixa sense definir, s' hereta l 'estil predeterminat."
+msgstr "Si no es defineix l'objecte de la renderització, s'herederà a partir de l'estil predeterminat."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "No permetre l'animació dels subtítols. L'activació d'aquesta opció reduirà l'ús de CPU. Es pot utilitzar si experimenta subtítols intermitents."
+msgstr "Inhabilita l'animació dels subtítols. L'activació d'aquesta opció reduirà l'ús de la CPU. Utilitzi-la si els subtítols parpellegen."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "En augmentar el nombre de subimatges de la memòria intermèdia s'hauria de millorar, en general, el rendiment de la renderització a costa d'un major ús de la RAM de vídeo de la GPU."
+msgstr "En augmentar el nombre de subimatges de la memòria intermèdia hauria de millorar en general el rendiment de la renderització a costa d'un major ús de la RAM de vídeo de la GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "Després de fer clic aquest botó, l'estat de comprobació del format del grup reflexarà las associacions del fitxer actual pel MPC. Una extensión recent agregada es motrarà en gris, no oblideu de maracar-la de nou abans de tencar aquet cuadre de diàleg"
+msgstr "Després de clicar en aquest botó, l'estat marcat del grup del format farà que es reflecteixi la associació del fitxer actual amb l'MPC. Una extensió recent afegida es mostrarà ombrejada, així que no oblideu de marcar-la de nou abans de tancar aquest quadre de diàleg!"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Desactivant aquesta opció evitarà als subtítols de parpellejar però pot provocar que el processador de vídeo es salti alguns fotogrames."
+msgstr "Desactivant aquesta opció evitarà que els subtítols parpellegin, però pot provocar que el renderitzador de vídeo ometi alguns fotogrames."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -875,11 +895,11 @@ msgstr "Pas\nPas"
msgctxt "ID_PLAY_DECRATE"
msgid "Decrease speed\nDecrease speed"
-msgstr "Disminueix la Velocitat\nDisminueix la Velocitat"
+msgstr "Redueix la velocitat\nRedueix la velocitat"
msgctxt "ID_PLAY_INCRATE"
msgid "Increase speed\nIncrease speed"
-msgstr "Augmentar Velocitat\nDisminuir Velocitat"
+msgstr "Augmenta la velocitat\nAugmenta la velocitat"
msgctxt "ID_VOLUME_MUTE"
msgid "Mute"
@@ -887,7 +907,7 @@ msgstr "Silencia"
msgctxt "ID_VOLUME_MUTE_OFF"
msgid "Unmute"
-msgstr "Habilita el so"
+msgstr "Activa el so"
msgctxt "ID_VOLUME_MUTE_DISABLED"
msgid "No audio"
@@ -895,11 +915,11 @@ msgstr "Sense àudio"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "Skip back\nSkip back"
-msgstr "Retrocedir\nRetrocedir"
+msgstr "Retrocedeix\nRetrocedeix"
msgctxt "ID_NAVIGATE_SKIPFORWARD"
msgid "Skip forward\nSkip forward"
-msgstr "Avançar\nAvançar"
+msgstr "Avança\nAvança"
msgctxt "IDS_SUBRESYNC_ORIGINAL"
msgid "&Original"
@@ -911,7 +931,7 @@ msgstr "&Actual"
msgctxt "IDS_SUBRESYNC_EDIT"
msgid "&Edit"
-msgstr "&Editar"
+msgstr "&Edita"
msgctxt "IDS_SUBRESYNC_YES"
msgid "&Yes"
@@ -923,11 +943,11 @@ msgstr "&No"
msgctxt "IDS_SUBRESYNC_DECREASE"
msgid "&Decrease"
-msgstr "&Disminueix"
+msgstr "&Redueix"
msgctxt "IDS_SUBRESYNC_INCREASE"
msgid "&Increase"
-msgstr "&Augmentar "
+msgstr "&Augmenta "
msgctxt "IDS_OPTIONS_CAPTION"
msgid "Options"
@@ -935,27 +955,27 @@ msgstr "Opcions"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "&Selecciona Shaders..."
+msgstr "&Selecciona els shaders..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Depuració dels Shaders..."
+msgstr "&Depura els shaders..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
-msgstr "&Afegiu a les Adreces d'Interès..."
+msgstr "&Afegeix-ho a Preferits..."
msgctxt "IDS_FAVORITES_ORGANIZE"
msgid "&Organize Favorites..."
-msgstr "&Organitzeu les Adreces d'Interès..."
+msgstr "&Organitza els Preferits..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "A l’atzar"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Obre l’ubicació del fitxer"
+msgid "Ope&n file location"
+msgstr "Obre la ubicació del fitxer"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -971,19 +991,19 @@ msgstr "Pausat"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
-msgstr "EDL: Nou Clip"
+msgstr "Nou clip de la llista d'edició (EDL)"
msgctxt "IDS_RECENT_FILES_CLEAR"
msgid "&Clear list"
-msgstr "&Neteja la llista"
+msgstr "&Esborra la llista"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "Esteu segur que voleu suprimir la llista dels fitxer recents?"
+msgstr "Esteu segur que voleu esborrar la llista dels fitxers recents?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
-msgstr "EDL: Estalviar"
+msgstr "Guarda la llista d'edició (EDL)"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
@@ -991,59 +1011,59 @@ msgstr "Activa la Correcció de Temps de Fotograma"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Commutar finestra EDL"
+msgstr "Commuta la finestra del EDL"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
-msgstr "EDL: Establir punt d'entrada"
+msgstr "Fixa l'inici de l'edició (omissió) de la llista d'edició (EDL)"
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL: Establir punt de sortida"
+msgstr "Fixa el final de l'edició (omissió) de la llista d'edició (EDL)"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
-msgstr "Rotar PnS X-"
+msgstr "Gira PnS X-"
msgctxt "IDS_AG_PNS_ROTATEY_P"
msgid "PnS Rotate Y+"
-msgstr "Rotar PnS Y+"
+msgstr "Gira PnS Y+"
msgctxt "IDS_AG_PNS_ROTATEY_M"
msgid "PnS Rotate Y-"
-msgstr "Rotar PnS Y-"
+msgstr "Gira PnS Y-"
msgctxt "IDS_AG_PNS_ROTATEZ_P"
msgid "PnS Rotate Z+"
-msgstr "Rotar PnS Z+"
+msgstr "Gira PnS Z+"
msgctxt "IDS_AG_PNS_ROTATEZ_M"
msgid "PnS Rotate Z-"
-msgstr "Rotar PnS Z-"
+msgstr "Gira PnS Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Prova de Pipelleig"
+msgstr "Prova de pipelleig"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
-msgstr "Escalar a 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "Escala a 16:9 TV,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_WIDESCREEN"
msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Zoom a Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zoom a pantalla panoràmica,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_ULTRAWIDE"
msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Zoom a Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zoom a pantalla ultrapanoràmica,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Ocultar quan Pantalla completa"
+msgid "&Hide on Fullscreen"
+msgstr "&Amaga en pantalla completa"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
-msgstr "Parat"
+msgstr "Aturat"
msgctxt "IDS_CONTROLS_BUFFERING"
msgid "Buffering... (%d%%)"
@@ -1071,7 +1091,7 @@ msgstr "&Estils..."
msgctxt "IDS_SUBTITLES_RELOAD"
msgid "&Reload"
-msgstr "&Recargar"
+msgstr "&Recarrega"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
@@ -1123,11 +1143,11 @@ msgstr "Tecla"
msgctxt "IDS_AG_MOUSE"
msgid "Mouse Windowed"
-msgstr "Ratolí a Finestra"
+msgstr "Ratolí en mode finestra"
msgctxt "IDS_AG_MOUSE_FS"
msgid "Mouse Fullscreen"
-msgstr "Ratolí a Pantalla Completa"
+msgstr "Ratolí en pantalla completa"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
@@ -1151,7 +1171,7 @@ msgstr "Desconegut"
msgctxt "IDS_MPLAYERC_0"
msgid "Quick Open File"
-msgstr "Obre Fitxer Ràpid"
+msgstr "Obertura ràpida de fitxer"
msgctxt "IDS_AG_OPEN_FILE"
msgid "Open File"
@@ -1159,15 +1179,15 @@ msgstr "Obre un fitxer"
msgctxt "IDS_AG_OPEN_DVD"
msgid "Open DVD/BD"
-msgstr "Obre un DVD o BD"
+msgstr "Obre un DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "Error en establir post-redimensionament dels P.S"
+msgstr "No s'han pogut establir els shaders de post-redimensionament"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr "Error en establir ambdos pre i post redimensionament dels P.S"
+msgstr "No s'han pogut establir els shaders de pre-redimensionament ni de post-redimensionament"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
@@ -1175,11 +1195,11 @@ msgstr "Els shaders es tornen a compilar automàticament quan els fitxers corres
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr "No es pot carregar %s, els pixel shaders no funcionaran."
+msgstr "No es pot carregar %s, els píxel shaders no funcionaran."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr "No es pot trobar la funcions necessàriess a %s, els pixel shaders no funcionaran."
+msgstr "No es poden trobar els punts d'entrada necessaris de la funció a %s. Els píxel shaders (PS) no funcionaran."
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
@@ -1195,7 +1215,7 @@ msgstr "Anterior Shader Preestablert"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
-msgstr "%s"
+msgstr "%s:"
msgctxt "IDS_RECORD_START"
msgid "Record"
@@ -1226,7 +1246,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Afegeix carpeta contenidora"
msgctxt "IDS_HW_INDICATOR"
@@ -1235,7 +1255,7 @@ msgstr "[Descodificador per Maquinari]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr "Descodificador per Programari"
+msgstr "Descodificació per software"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
@@ -1243,7 +1263,7 @@ msgstr "Velocitat de reproducció"
msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
msgid "&Copy filters list to clipboard"
-msgstr "&Copiar la llista de filtres al porta-retalls"
+msgstr "&Copia la llista de filtres al porta-retalls"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
@@ -1251,11 +1271,11 @@ msgstr "Introduïu les credencials de servidor"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
-msgstr "Introdueixi les seves credencials per connectar"
+msgstr "Introdueixi les seves credencials per connectar-se"
msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
msgid "Save custom style"
-msgstr "Gravar estil personalitzat"
+msgstr "Desa l'estil personalitzat"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
@@ -1263,11 +1283,11 @@ msgstr "Educació / Ciència / Fets reals"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr "Oculta els controls i panells també en mode de finestra."
+msgstr "Amaga els controls i els panells també en mode finestra."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "Evitar la càrrega del renderitzador de subtítols extern quant l'intern està en ús."
+msgstr "Evita que es carregui el renderitzador extern de subtítols quan s'està utilitzant l'intern."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1279,23 +1299,23 @@ msgstr "Valor"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr "Màxim nombre de fitxers per mostrar al menú \"Fitxers recents\" i per als que es guarda potencialment la posició."
+msgstr "Nombre màxim de fitxers emmagatzemats i mostrats al menú \"Fitxers recents\"."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr "Recorda la posició del fitxer només pels que durint més de N minuts."
+msgstr "Recorda la posició del fitxer només pels que durin més de N minuts."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr "Recorda també la posició per a fitxers d'àudio."
+msgstr "Recorda també la posició dels fitxers d'àudio."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
-msgstr "No facis Res"
+msgstr "No facis res"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
-msgstr "Reprodueix el fitxer següent dins la carpeta"
+msgstr "Reprodueix el fitxer següent de la carpeta"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
@@ -1303,7 +1323,7 @@ msgstr "Rebobina el fitxer actual"
msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
msgid "Close"
-msgstr "Tanca"
+msgstr "Tanca el fitxer"
msgctxt "IDS_AFTER_PLAYBACK_EXIT"
msgid "Exit"
@@ -1323,11 +1343,11 @@ msgstr "Qualitat (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Mida màxima (NxNpx) de l'art de les portades carregada només en el mode d'àudio."
+msgstr "Mida màxima (NxNpx) de la portada carregada al mode només àudio. "
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "El retartd del subtítol es reduirà / s'incrementarà en funció d'aquest valor cada vegada que s'utilitzen les tecles d'accés directe corresponents (%s/%s)."
+msgstr "El retard dels subtítols es reduirà o s'incrementarà en funció d'aquest valor cada vegada que s'utilitzin les dreceres de teclat corresponents (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
@@ -1335,27 +1355,27 @@ msgstr "<sense definir>"
msgctxt "IDS_NAVIGATION_WATCH"
msgid "Watch"
-msgstr "Veure"
+msgstr "Mira"
msgctxt "IDS_NAVIGATION_MOVE_UP"
msgid "Move Up"
-msgstr "Pujar"
+msgstr "Amunt"
msgctxt "IDS_NAVIGATION_MOVE_DOWN"
msgid "Move Down"
-msgstr "Baixar"
+msgstr "Avall"
msgctxt "IDS_NAVIGATION_SORT"
msgid "Sort by LCN"
-msgstr "Ordenar per LCN"
+msgstr "Ordena per número de canal lògic (LCN)"
msgctxt "IDS_NAVIGATION_REMOVE_ALL"
msgid "Remove all"
-msgstr "Traieu tot"
+msgstr "Elimina-ho tot"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr "Segur que vols eliminar tots els canals de la llista?"
+msgstr "Esteu segur que voleu eliminar tots els canals de la llista?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
@@ -1363,7 +1383,7 @@ msgstr "No hi ha informació disponible"
msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
msgid "Please wait, analysis in progress..."
-msgstr "Espereu-vos, l’anàlisi és en curs…"
+msgstr "Espereu-vos, s'està analitzant..."
msgctxt "IDS_ASPECT_RATIO_FMT"
msgid "AR %d:%d"
@@ -1375,7 +1395,7 @@ msgstr "Activa el registre a un fitxer (cal reiniciar)"
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
-msgstr "Temps Restant"
+msgstr "Temps restant"
msgctxt "IDS_TIMER_HIGH_PRECISION"
msgid "High precision"
@@ -1383,31 +1403,31 @@ msgstr "Alta precisió"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr "Després de la Reproducció:Rebobina el fitxer actual"
+msgstr "Després de la reproducció: Torna al principi del fitxer"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr "Després de la Reproducció:Tanca"
+msgstr "Després de la reproducció: Tanca el fitxer"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "MPC-HC ha trobat un problema durant la inicialització. Amb la seva ajuda podem ser capaços de solucionar el problema.\n\nVols informar d'aquest problema?"
+msgstr "L'MPC-HC ha trobat un problema durant la inicialització. Amb la vostra ajuda podríem solucionar el problema.\n\nVoleu informar d'aquest problema?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr "Introdueix un valor positiu o negatiu segons l'àudio s'escolti retrasat o avançat respecta a la imatge."
+msgstr "Introdueixi un valor positiu si l'àudio va avançat, o un de negatiu si va amb retard."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr "La vista prèvia està actualment deshabilitada. Pots habilitar-la en les opcions de l'MPC-HC."
+msgstr "La previsualització actualment està desactivada. Podeu habilitar-la a les opcions de l'MPC-HC."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr "Aquesta opció es pot utilitzar per a una vista prèvia dels arxius multimèdia des d' una ubicació remota. Utilitza-ho només en un xarxa privada segura.\n\nSegur que voleu activar aquesta opció?"
+msgstr "Aquesta opció pot utilitzar-se per previsualitzar fitxers multimèdia des d'una ubicació remota. Utilitzi-ho només en un xarxa privada que sigui segura.\n\nEsteu segur que voleu activar aquesta opció?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr "Renderitzador de Subtítols Intern"
+msgstr "Renderitzador intern de subtítols"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1429,13 +1449,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "S’ha desat la imatge amb èxit"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Càrrega els subtítols"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Carrega els subtítols..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Desa els subtítols"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Desa els subtítols..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1459,11 +1479,11 @@ msgstr "Atura"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "Avançar un Fotograma"
+msgstr "Avança un fotograma"
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "Retrocedir un Fotograma"
+msgstr "Retrocedeix un fotograma"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1471,23 +1491,23 @@ msgstr "Vés a"
msgctxt "IDS_AG_INCREASE_RATE"
msgid "Increase Rate"
-msgstr "Augmentar Velocitat"
+msgstr "Augmenta la velocitat"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
-msgstr "Emisió/Joc televisat"
+msgstr "Espectacle/Concurs"
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
-msgstr "Esport"
+msgstr "Esports"
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr "Programes per a Joves/Mainada"
+msgstr "Programes per a nens/joves"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
-msgstr "Música/Ballet/Dansa"
+msgstr "Música/Ballet/Ball"
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
@@ -1503,55 +1523,55 @@ msgstr "Aficions d'oci"
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
-msgstr "Mou a la paperera de reciclatge"
+msgstr "Desplaça-ho a la paperera de reciclatge"
msgctxt "IDS_AG_SAVE_COPY"
msgid "Save a Copy"
-msgstr "Desar una còpia"
+msgstr "Desa una còpia"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Ùltim fotograma clau"
+msgstr "més recent"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Fotograma clau veí"
+msgstr "més proper"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC ha trobat un problema durant la inicialització. La reproducció de DVD pot ser que no funcioni correctament. Això pot ser causat per algunes incompatibilitats amb certes eines de seguretat.\n\nVols informar d'aquest problema?"
+msgstr "L'MPC-HC ha trobat un problema durant la inicialització. La reproducció de DVD podria funcionar incorrectament. Això pot ser causat per algunes incompatibilitats amb certes eines de seguretat.\n\nVoleu informar d'aquest problema?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
-msgstr "No mostris mai"
+msgstr "No els mostris"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr "Visualitzar en moure el cursor, amaga després:"
+msgstr "Mostra'ls en moure el cursor, amaga'ls després de:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr "Visualitza en voleiar el control, amaga després:"
+msgstr "Mostra'ls en passar el cursor per sobre, amaga'ls després de:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr "Error en establir pre-redimensionament dels shaders"
+msgstr "No s'han pogut establir els shaders de pre-redimensionament"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Activa la Correcció Temporal de Fotograma: On"
+msgstr "Correcció Temporal de Fotograma: Activada"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Correcció Temporal de Fotograma: Desactivat"
+msgstr "Correcció Temporal de Fotograma: Desactivada"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Desajustament de l'objectiu del Vsync(Offset): %.1f"
+msgstr "Objectiu de l'Òfset de la \"VSync\" : %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
-msgstr "Desajustament del VSync: %d"
+msgstr "Òfset de la \"VSync\": %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
@@ -1562,8 +1582,8 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatures desades amb èxit"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "Pista de &Vídeo"
+msgid "Vide&o Track"
+msgstr "Pista de &vídeo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1571,15 +1591,15 @@ msgstr "Vídeo Ang&le"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
-msgstr "Restablir Configuracions"
+msgstr "Restableix la configuració"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Estàs segur que voleu restaurar MPC-HC als valors per defecte?\nAdvertim que tots els valors actuals es perdran!"
+msgstr "Esteu segur que voleu restaurar la configuració per defecte de l'MPC-HC?\nAdvertim que TOTS els valors actuals es perdran!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Si us plau, tanqueu totes les instàncies del MPC-HC perquè la configuració per defecte pugui restaurar-se."
+msgstr "Si us plau, tanqueu totes les instàncies de l'MPC-HC perquè la configuració per defecte es pugui restaurar."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
@@ -1587,15 +1607,15 @@ msgstr "Exporta les configuracions"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Alguns canvis no s'han desat encara.\nVoleu desar abans d'exportar?"
+msgstr "Alguns canvis no s'han desat encara.\nVoleu desar-los abans d'exportar?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
-msgstr "Els ajustos s'han exportat amb èxit."
+msgstr "La configuració s'ha exportat amb èxit."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr "L'exportació ha fallat! Això pot passar quan vostè no té els drets d'usuari adequats."
+msgstr "Ha fallat l'exportació! Això pot passar quan no es tenen els permisos adequats."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
@@ -1603,51 +1623,51 @@ msgstr "Error de BDA"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
-msgstr "Disminueix la Velocitat"
+msgstr "Redueix la velocitat"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Inicialitza la Velocitat"
+msgstr "Restableix la velocitat"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Ajust d'Àudio en +10ms"
+msgstr "Retard d'àudio en +10 ms"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
-msgstr "Ajust d'Àudio en -10ms"
+msgstr "Retard d'àudio en -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
-msgstr "Salt Endavant (curt)"
+msgstr "Salta endavant (curt)"
msgctxt "IDS_MPLAYERC_24"
msgid "Jump Backward (small)"
-msgstr "Salt Enrere (curt)"
+msgstr "Salta enrere (curt)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "Salt Endavant (mig)"
+msgstr "Salta endavant (mig)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "Salt Enrere (mig)"
+msgstr "Salta enrere (mig)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
-msgstr "Salt Endavant (llarg)"
+msgstr "Salta endavant (llarg)"
msgctxt "IDS_MPLAYERC_28"
msgid "Jump Backward (large)"
-msgstr "Salt Enrere (llarg)"
+msgstr "Salta enrere (llarg)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "Salt Endavant (fotograma clau)"
+msgstr "Salta endavant (fotograma clau)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "Salt Enrere (fotograma clau)"
+msgstr "Salta enrere (fotograma clau)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1667,23 +1687,23 @@ msgstr "Fitxer Previ"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "Commutar el Direct3D a Pantalla completa"
+msgstr "Commuta el Direct3D a pantalla completa"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Vés al Subtítol Previ"
+msgstr "Vés al subtítol anterior"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Vés al Subtítol Següent"
+msgstr "Vés al subtítol següent"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
-msgstr "Moure Subtítol cap a l'Esquerra"
+msgstr "Desplaça el subtítol cap a l'esquerra"
msgctxt "IDS_MPLAYERC_103"
msgid "Shift Subtitle Right"
-msgstr "Moure Subtítol cap a la Dreta"
+msgstr "Desplaça el subtítol cap a la dreta"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
@@ -1707,11 +1727,11 @@ msgstr "OSD: Visualitza les Estadístiques del Renderitzador"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr "OSD: Reinicia les Estadístiques del Renderitzador"
+msgstr "Sobreimpressió (OSD): Restableix les estadístiques del renderitzador"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Subtítols::Més Opcions"
+msgstr "Subtítols::Més opcions"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
@@ -1719,15 +1739,15 @@ msgstr "Amaga les &vores"
msgctxt "IDS_VIEW_FRAMEONLY"
msgid "Fra&me Only"
-msgstr "Només Fotograma(frame)"
+msgstr "Només el fotograma"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Mostra el Menú &&Llegenda"
+msgstr "Mostra el menú i la &barra del títol"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
-msgstr "Amaga el &Menú"
+msgstr "Amaga el &menú"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
@@ -1735,15 +1755,15 @@ msgstr "Avançat"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
-msgstr "Format Mínim"
+msgstr "Format mínim"
msgctxt "IDS_AG_VIEW_COMPACT"
msgid "View Compact"
-msgstr "Format Compacte"
+msgstr "Format compacte"
msgctxt "IDS_AG_VIEW_NORMAL"
msgid "View Normal"
-msgstr "Format Normal"
+msgstr "Format normal"
msgctxt "IDS_AG_FULLSCREEN"
msgid "Fullscreen"
@@ -1755,7 +1775,7 @@ msgstr "Pantalla completa (c/s canvi de la res.)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT"
msgid "Zoom Auto Fit"
-msgstr "Ajust automàtic del Zoom"
+msgstr "Ajust automàtic del zoom"
msgctxt "IDS_AG_VIDFRM_HALF"
msgid "VidFrm Half"
@@ -1771,11 +1791,11 @@ msgstr "VidFrm Doble"
msgctxt "IDS_AG_ALWAYS_ON_TOP"
msgid "Always On Top"
-msgstr "Sempre Visible"
+msgstr "Sempre visible"
msgctxt "IDS_AG_PNS_INC_SIZE"
msgid "PnS Inc Size"
-msgstr "PnS Inc Tamany"
+msgstr "PnS Inc Mida"
msgctxt "IDS_AG_PNS_INC_WIDTH"
msgid "PnS Inc Width"
@@ -1787,7 +1807,7 @@ msgstr "PnS Inc Alçada"
msgctxt "IDS_AG_PNS_DEC_SIZE"
msgid "PnS Dec Size"
-msgstr "PnS Dec Tamany"
+msgstr "PnS Dec Mida"
msgctxt "IDS_AG_PNS_DEC_WIDTH"
msgid "PnS Dec Width"
@@ -1798,8 +1818,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec Alçada"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Decarregant subtítols, esperi sisplau."
+msgid "Downloading [%s] \"%s\""
+msgstr "Descarregant [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1815,7 +1835,7 @@ msgstr "%d subtítols disponibles."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Vols comprovar periòdicament si hi ha actualitzacions del MPC-HC?\n\nAquesta funció pot ser desactivada més tard a Miscel.lània en menú d'opcions."
+msgstr "Voleu que l'MPC-HC comprovi periòdicament si hi ha actualitzacions?\n\nPot desactivar aquesta funció més tard a la pàgina «Diversos» del menú d'opcions."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1835,31 +1855,31 @@ msgstr "Ajust automàtic"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr "Ajust automàtic (Si es massa Gran)"
+msgstr "Ajust automàtic (si és massa gran)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
-msgstr "Ajust automàtic del Zoom (Si es massa Gran)"
+msgstr "Ajust automàtic del zoom (si és massa gran)"
msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
msgid "Zoom: Auto (Larger Only)"
-msgstr "Zoom: Auto (Si es massa Gran)"
+msgstr "Zoom: Auto (si és massa gran)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
-msgstr "Feu doble clic per obrir ubicació del fitxer"
+msgstr "Feu doble clic per obrir la ubicació del fitxer"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
-msgstr "Commutar entre el temps transcorregut i restant"
+msgstr "Commuta entre el temps transcorregut i restant"
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
-msgstr "Retart no vàlid"
+msgstr "El retard no és vàlid"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
-msgstr "Sisplau introduexi un número entre 1 i 365."
+msgstr "Si us plau, introduexi un número entre 1 i 365."
msgctxt "IDS_AG_PNS_CENTER"
msgid "PnS Center"
@@ -1907,7 +1927,7 @@ msgstr "Redueix el volum"
msgctxt "IDS_AG_VOLUME_MUTE"
msgid "Volume Mute"
-msgstr "Silenciar"
+msgstr "Silencia"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
@@ -1927,7 +1947,7 @@ msgstr "Menú d'Àudio del DVD"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "Menú Angle DVD"
+msgstr "Menú Angle del DVD"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
@@ -1935,19 +1955,19 @@ msgstr "Menú Capítols DVD"
msgctxt "IDS_AG_DVD_MENU_LEFT"
msgid "DVD Menu Left"
-msgstr "Menu Esquerra DVD"
+msgstr "Menú Esquerra DVD"
msgctxt "IDS_MPLAYERC_70"
msgid "DVD Menu Right"
-msgstr "Menu Dreta DVD"
+msgstr "Menú Dreta DVD"
msgctxt "IDS_AG_DVD_MENU_UP"
msgid "DVD Menu Up"
-msgstr "Menu Amunt DVD"
+msgstr "Menú Amunt DVD"
msgctxt "IDS_AG_DVD_MENU_DOWN"
msgid "DVD Menu Down"
-msgstr "Menu Avall DVD"
+msgstr "Menú Avall DVD"
msgctxt "IDS_MPLAYERC_73"
msgid "DVD Menu Activate"
@@ -1955,15 +1975,15 @@ msgstr "Activa Menú del DVD"
msgctxt "IDS_AG_DVD_MENU_BACK"
msgid "DVD Menu Back"
-msgstr "Menu Regressar DVD"
+msgstr "Menú Regressar DVD"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "Menu Deixar DVD"
+msgstr "Menú Deixar DVD"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
-msgstr "Tecla Enxampar"
+msgstr "Boss key (tecla administrativa)"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu"
@@ -1975,7 +1995,7 @@ msgstr "Menú del reproductor (sencer)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
-msgstr "Menú dels Filtres"
+msgstr "Menú dels filtres"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
@@ -1983,27 +2003,27 @@ msgstr "Opcions"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr "Pista d'Àudio Següent"
+msgstr "Pista d'àudio següent"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr " Pista d'Àudio Prèvia"
+msgstr "Pista d'àudio prèvia"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr "Pista de Subtítols Següent "
+msgstr "Pista de subtítols següent "
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr "Pista de Subtítols Prèvia"
+msgstr "Pista de subtítols prèvia"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Subtítols Activats/Desactivats"
+msgstr "Activa/Desactiva els subtítols"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
-msgstr "Recargar Subtítols"
+msgstr "Recarrega els subtítols"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
@@ -2011,27 +2031,27 @@ msgstr "Angle Següent (DVD)"
msgctxt "IDS_MPLAYERC_92"
msgid "Prev Angle (DVD)"
-msgstr "Angle Previ (DVD)"
+msgstr "Angle Anterior (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr "Pista d'Àudio Següent (DVD)"
+msgstr "Pista d'àudio següent (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr "Pista d'Àudio Prèvia (DVD)"
+msgstr "Pista d'àudio prèvia (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr "Pista de Subtítols Següent (DVD)"
+msgstr "Pista de subtítols següent (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr "Pista de Subtítols Prèvia (DVD)"
+msgstr "Pista de subtítols prèvia (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "Subtítols Activats/Desactivats (DVD)"
+msgstr "Activa/Desactiva Subtítols (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
@@ -2039,11 +2059,11 @@ msgstr "OSD: Visualitza el Temps Actual"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
-msgstr "Selecciona el Directori"
+msgstr "Selecciona el directori"
msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
msgid "Quick add favorite"
-msgstr "Addició ràpida a les Adreces d'Interès"
+msgstr "Addició ràpida a Preferits"
msgctxt "IDS_DVB_CHANNEL_NUMBER"
msgid "N"
@@ -2061,17 +2081,17 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Encriptat"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Sí"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "No"
msgctxt "IDS_DVB_CHANNEL_START_SCAN"
msgid "Start"
-msgstr "Comença"
+msgstr "Inicia"
msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
msgid "Stop"
@@ -2079,11 +2099,11 @@ msgstr "Atura"
msgctxt "IDS_DVB_TVNAV_SEERADIO"
msgid "Radio stations"
-msgstr "Estacions de Ràdio"
+msgstr "Emissores de ràdio"
msgctxt "IDS_DVB_TVNAV_SEETV"
msgid "TV stations"
-msgstr "Estacions de TV"
+msgstr "Emissores de televisió"
msgctxt "IDS_DVB_CHANNEL_FORMAT"
msgid "Format"
@@ -2115,7 +2135,7 @@ msgstr "Fotogrames"
msgctxt "IDS_AG_BUFFERS"
msgid "Buffers"
-msgstr "Memòria intermèdia"
+msgstr "Memòria intermèdia (Buffers)"
msgctxt "IDS_MAINFRM_9"
msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
@@ -2131,19 +2151,19 @@ msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
-msgstr "Afegeix a la llista del MPC-HC"
+msgstr "Afegeix a la llista de reproducció de l'MPC-HC"
msgctxt "IDS_OPEN_WITH_MPC"
msgid "Play with MPC-HC"
-msgstr "Reprodueix amb MPC-HC"
+msgstr "Reprodueix amb l'MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC no té suficientes privilegis per canviar les associacions del fitxer. Sisplau faci click al botó \"Executar com a administrador\"."
+msgstr "L'MPC-HC no té els privilegis suficients per canviar les associacions del fitxer. Si us plau, premi el botó \"Executa com a administrador\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC és un el reproductor multimèdia de codi obert per a Windows, molt lleuger. És compatible amb tots els formats de fitxers d'àudio i vídeo més comuns disponibles per reproduir-se. És 100% lliure de spyware, no hi ha anuncis o qualsevol altre tipus de publicitat."
+msgstr "L'MPC-HC és un el reproductor multimèdia de codi obert per a Windows i molt lleuger. És compatible amb tots els formats de fitxers d'àudio i vídeo més comuns. És 100% lliure de spyware, no hi ha anuncis ni barres d'eines."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2163,7 +2183,7 @@ msgstr "DVD: Error inesperat"
msgctxt "IDS_MAINFRM_17"
msgid "DVD: Copy-Protect Fail"
-msgstr "DVD: Fallada per Protecció Anticopia"
+msgstr "DVD: Error per prevenció de còpia"
msgctxt "IDS_MAINFRM_18"
msgid "DVD: Invalid DVD 1.x Disc"
@@ -2179,7 +2199,7 @@ msgstr "DVD: Nivell Parental Baix"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
-msgstr "DVD: Fallada de Macrovision"
+msgstr "DVD: Error de Macrovision"
msgctxt "IDS_MAINFRM_22"
msgid "DVD: Incompatible System And Decoder Regions"
@@ -2191,11 +2211,11 @@ msgstr "DVD: Disc i Decodificador de Regions Incompatibles"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Aquesta opció està dissenyada per eliminar el pipelleig, no obstant això, també evitarà al MPC-HC de mostrar el menú de context i qualsevol quadre de diàleg durant la reproducció.\n\n\nSegur que voleu activar aquesta opció?"
+msgstr "Aquesta opció està dissenyada per eliminar el pipelleig, no obstant això, també evitarà que l'MPC-HC mostri el menú de context i qualsevol quadre de diàleg durant la reproducció.\n\n\nEsteu segur que voleu activar aquesta opció?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Retard dels Subs: %ld ms"
+msgstr "Retard dels subtítols: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2217,14 +2237,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Amplada de la imatge"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "L’URL sembla correcte!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Versió del protocol diferent, actualitza el teu reproductor o escull una altre direcció!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Relació d’aspecte"
@@ -2235,23 +2247,23 @@ msgstr ", Total: %ld, Perduts: %ld"
msgctxt "IDS_MAINFRM_38"
msgid ", Size: %I64d KB"
-msgstr ", mida: %I64d KB"
+msgstr ", Mida: %I64d kB"
msgctxt "IDS_MAINFRM_39"
msgid ", Size: %I64d MB"
-msgstr ", mida: %I64d MB"
+msgstr ", Mida: %I64d MB"
msgctxt "IDS_MAINFRM_40"
msgid ", Free: %I64d KB"
-msgstr ", disponible: %I64d KB"
+msgstr ", Disponible: %I64d kB"
msgctxt "IDS_MAINFRM_41"
msgid ", Free: %I64d MB"
-msgstr ", disponible: %I64d MB"
+msgstr ", Disponible: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr ", Memòries Intermèdies V/A Lliures: %03d/%03d"
+msgstr ", memòries intermèdies V/A lliures: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2259,11 +2271,11 @@ msgstr "Error"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
-msgstr "Subtítol: Activat"
+msgstr "Subtítols: desactivats"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
-msgstr "Subtítol: %s"
+msgstr "Subtítols: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
@@ -2279,11 +2291,11 @@ msgstr "Tots els fitxer (*.*)|*.*||"
msgctxt "IDS_GETDIB_FAILED"
msgid "GetDIB failed, hr = %08x"
-msgstr "GetDIB a fallat, hr = %08x"
+msgstr "Error a GetDIB, hr = %08x"
msgctxt "IDS_GETCURRENTIMAGE_FAILED"
msgid "GetCurrentImage failed, hr = %08x"
-msgstr "GetCurrentImage ha fallat, hr = %08x"
+msgstr "Error a GetCurrentImage, hr = %08x"
msgctxt "IDS_SCREENSHOT_ERROR"
msgid "Cannot create file"
@@ -2295,11 +2307,11 @@ msgstr "No es poden crear miniatures pels fitxers sense cap duració"
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
-msgstr "Fallada al obtenir la mida del fotograma de vídeo"
+msgstr "No s'ha pogut obtenir la mida del fotograma del vídeo"
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
-msgstr "Falta memòria!"
+msgstr "Falta memòria! Se recomana ampliar-la."
msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
@@ -2307,19 +2319,19 @@ msgstr "Format d'Imatge invàlid, no es poden crear les miniatures de %d bpp dib
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
-msgstr "Tamany del Fitxer: %s (%s bytes)\\N"
+msgstr "Mida del fitxer: %s (%s bytes)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
-msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Nom del Fitxer: %s\\N%sResolució: %dx%d %s\\NDuració: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Nom del fitxer: %s\\N%sResolució: %dx%d %s\\NDuració: %02d:%02d:%02d"
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr "Les miniatures serien massa petites, no es possible de crear el fitxer.\n\nProveu de reduir el nombre de miniatures o augmentar la mida total."
+msgstr "No es pot crear el fitxer. Les miniatures serien massa petites.\n\nProveu de reduir el nombre de miniatures o augmentar la mida total."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Per carregar subtítols has de canviar el tipus de processador de vídeo i tornar a obrir el fitxer.\n-DirectShow: VMR-7/VMR-9(sense render), EVR(CP),Sync,madVR o Halli\n-RealMedia: Renderitzador especial per RealMedia, o obrir-lo a través de DirectShow\n-QuickTime: DX7 or DX9 renderitzador pel QuickTime\n-ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Per carregar els subtítols has de canviar el tipus de renderitzador de vídeo i reobrir el fitxer.\n- DirectShow: VMR-9 (sense rendreitzat), EVR (CP), Sync, madVR o Haali\n- RealMedia: Renderitzador especial per a RealMedia, o obre'l mitjançant el DirectShow\n- QuickTime: Renderitzador DX7 o DX9 per a QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,15 +2339,15 @@ msgstr "Fitxers de subtítols"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
-msgstr "Relació d'Aspecte: %ld:%ld"
+msgstr "Relació d'aspecte: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Relació d'Aspecte: Original"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Relació d'aspecte: Per defecte (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
-msgstr "Diferència entre Vídeo i Àudio: %I64dms"
+msgstr "Retard de l'àudio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2343,19 +2355,19 @@ msgstr "Capítol %d"
msgctxt "IDS_AG_OUT_OF_MEMORY"
msgid "Out of memory"
-msgstr "Sense memòria"
+msgstr "Memòria esgotada"
msgctxt "IDS_MAINFRM_77"
msgid "Error: Adobe Flash Player for Internet Explorer is required"
-msgstr "Error: es necessita el Flash pel Internet Explorer"
+msgstr "Error: es necessita el reproductor Flash per al Internet Explorer"
msgctxt "IDS_MAINFRM_78"
msgid "QuickTime not yet supported for X64 (apple library not available)"
-msgstr "QuickTime encara no es compatible amb la versió X64 (no hi ha una llibreria d'apple disponible)"
+msgstr "El QuickTime encara no és compatible amb la versió X64 (no hi ha llibreries d'Apple disponible)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "Fallada al crear l' objecte del esquema de filtres"
+msgstr "No s'ha pogut crear l'objecte del diagrama de filtres"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2367,11 +2379,7 @@ msgstr "S’ha interromput l’obertura"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Fallada en renderizar el fitxer"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL errònia, no s'hi pot localitzar la base de dades dels subtítols!"
+msgstr "No s'ha pogut renderitzar el fitxer"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2383,7 +2391,7 @@ msgstr "Volum: %d%%"
msgctxt "IDS_BOOST_OSD"
msgid "Boost: +%u%%"
-msgstr "Augmentar : +%u%%"
+msgstr "Augmenta: +%u%%"
msgctxt "IDS_BALANCE_OSD"
msgid "Balance: %s"
@@ -2399,7 +2407,7 @@ msgstr "Trieu una carpeta"
msgctxt "IDS_MAINFRM_DIR_CHECK"
msgid "Include subdirectories"
-msgstr "Incluir subdirectoris"
+msgstr "Inclou subdirectoris"
msgctxt "IDS_AG_PAUSE"
msgid "Pause"
@@ -2407,15 +2415,15 @@ msgstr "Pausa"
msgctxt "IDS_AG_TOGGLE_CAPTION"
msgid "Toggle Caption&Menu"
-msgstr "Commutar Menú de &Llegenda"
+msgstr "Commuta el menú i la barra del títol"
msgctxt "IDS_AG_TOGGLE_SEEKER"
msgid "Toggle Seek Bar"
-msgstr "Commutar Seeker"
+msgstr "Commuta la barra de navegació"
msgctxt "IDS_AG_TOGGLE_CONTROLS"
msgid "Toggle Controls"
-msgstr "Commutar Controls"
+msgstr "Commuta els controls"
msgctxt "IDS_MAINFRM_84"
msgid "Invalid file name"
@@ -2423,11 +2431,11 @@ msgstr "El nom del fitxer no és vàlid"
msgctxt "IDS_MAINFRM_86"
msgid "Cannot connect the filters"
-msgstr "No es pot conectar als filtres"
+msgstr "No es poden connectar els filtres"
msgctxt "IDS_MAINFRM_87"
msgid "Cannot load any source filter"
-msgstr "No es pot cargar cap filtre font"
+msgstr "No es pot carregar cap filtre font"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
@@ -2459,7 +2467,7 @@ msgstr "No es pot crear el filtre de navegació del DVD"
msgctxt "IDS_AG_FAILED"
msgid "Failed"
-msgstr "Fallada"
+msgstr "Error"
msgctxt "IDS_MAINFRM_96"
msgid "Can't create video capture filter"
@@ -2483,7 +2491,7 @@ msgstr "So"
msgctxt "IDS_MAINFRM_114"
msgid "%s was not found, please insert media containing this file."
-msgstr "No s'ha trobat %s, sisplau inserti el suport que conté aquest fitxer.."
+msgstr "No s'ha trobat %s, si us plau, insereixi el suport que conté aquest fitxer."
msgctxt "IDS_AG_ABORTED"
msgid "Aborted"
@@ -2495,19 +2503,19 @@ msgstr "&Propietats..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr " Propietats (del pin)..."
+msgstr " Propietats de l'etapa..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
-msgstr "Pista Desconeguda"
+msgstr "Transmissió desconeguda"
msgctxt "IDS_AG_UNKNOWN"
msgid "Unknown %u"
-msgstr "%u Desconeguda"
+msgstr "%u desconeguda"
msgctxt "IDS_AG_VSYNC"
msgid "VSync"
-msgstr "VSync"
+msgstr "Sincronització vertical (VSync)"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
@@ -2519,15 +2527,15 @@ msgstr " (Comentaris del director, 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "Habilita els subtítols del DVD"
+msgstr "Activa els subtítols del DVD"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
-msgstr "Angle N° %u"
+msgstr "Angle núm. %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Augmentar desajustament del Vsync"
+msgstr "Augmenta l'òfset de la \"VSync\""
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2535,11 +2543,11 @@ msgstr "Desactivat"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
-msgstr "Disminueix el desajustament del Vsync"
+msgstr "Disminueix l'òfset de la \"VSync\""
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
-msgstr "Pantalla completa MPC D3D"
+msgstr "Pantalla completa de l'MPC D3D"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
@@ -2547,59 +2555,59 @@ msgstr "Format desconegut"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Sub Shift : %ld"
+msgstr "Desplaçament dels subt.: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
-msgstr "Augmentar guany del volum"
+msgstr "Augment del guany de volum"
msgctxt "IDS_VOLUME_BOOST_DEC"
msgid "Volume boost decrease"
-msgstr "Disminueix guany del volum"
+msgstr "Decrement del guany de volum"
msgctxt "IDS_VOLUME_BOOST_MIN"
msgid "Volume boost Min"
-msgstr "Guany de volum mínim"
+msgstr "Augment de volum mínim"
msgctxt "IDS_VOLUME_BOOST_MAX"
msgid "Volume boost Max"
-msgstr "Guany de volum màxim"
+msgstr "Augment de volum màxim"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "NO TRADUÏT! - Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\nallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile contains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary. (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tRegister Vídeo formats\n/regaud\t\tRegister audio formats\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tUnregister Vídeo formats\n/start ms\t\tStart playing at \"ms\" (= milliseambds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tMostra l' ajuda de la línea de comandaments\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Ús: mpc-hc.exe \"ruta\" [paràmetres]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Opció(ns) desconeguda(es) a la cadena de línia de comandaments: \n\n"
+msgstr "S'han trobat opcions no reconegudes a l'ordre executada: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "Commutar Informació"
+msgstr "Commuta la informació"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
-msgstr "Commutar Estadístiques"
+msgstr "Commuta les estadístiques"
msgctxt "IDS_AG_TOGGLE_STATUS"
msgid "Toggle Status"
-msgstr "Commutar Estat"
+msgstr "Commuta l'estat"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Commutar Barra de Resincronització dels Subtítols"
+msgstr "Commuta la barra de resincronització dels subtítols"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Commutar Barra de Llista de Reprodució"
+msgstr "Commuta la barra de la llista de reproducció"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
-msgstr "Commutar Barra de Captura"
+msgstr "Commuta la barra de captura"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr "Commutar Depuració dels Shaders"
+msgstr "Commuta la depuració dels PS"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2615,11 +2623,11 @@ msgstr "Zoom 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
-msgstr "Següent Preset RA"
+msgstr "Següent mode de RA"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "Estirar VidFrm"
+msgstr "Estira VidFrm"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
@@ -2631,43 +2639,35 @@ msgstr "VidFrm Afora"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "Inicialitza el PnS"
+msgstr "Reinicia el PnS"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
-msgstr "Rotar PnS X+"
+msgstr "Gira PnS X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr "VidFrm Zoom 1"
+msgstr "Zoom 1 de fotograma"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr "VidFrm Zoom 2"
+msgstr "Zoom 2 de fotograma"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
-msgstr "VidFrm Commutar Zoom"
+msgstr "Commuta el zoom de fotograma"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Activa tots els filtres"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Sintonització"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtítols no cargats o renderitzador no soportat."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
-msgstr "Autor desconegut. Contacteu-me si vau fer aquest logotipus!"
+msgstr "Autor desconegut. Contacteu-nos si vostè és l'autor."
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "No hi ha cap més mitjà a la carpeta actual."
+msgstr "No hi ha més fitxers audiovisuals a la carpeta actual."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
@@ -2691,7 +2691,7 @@ msgstr "Davant Centre"
msgctxt "IDS_LOW_FREQUENCY"
msgid "Low Frequency"
-msgstr "Baixa Freqüència"
+msgstr "De baixa freqüència"
msgctxt "IDS_BACK_LEFT"
msgid "Back Left"
@@ -2751,11 +2751,11 @@ msgstr "Dalt Darrere Dreta"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seek bar"
-msgstr "Per sobra de la barra de cerca"
+msgstr "Per sobre de la barra de navegació"
msgctxt "IDS_TIME_TOOLTIP_BELOW"
msgid "Below seek bar"
-msgstr "Per sota de la barra de cerca"
+msgstr "Per sota de la barra de navegació"
msgctxt "IDS_VIDEO_STREAM"
msgid "Video: %s"
@@ -2775,7 +2775,7 @@ msgstr "Cancel·la"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr "Nivell"
+msgstr "Disposició"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
@@ -2807,11 +2807,11 @@ msgstr "Desactiva totos els descodificadors de vídeo"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
-msgstr "Extendre a la Pantalla"
+msgstr "Ajusta a la finestra"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
-msgstr "Tocar la finestra des de dins"
+msgstr "Toca la finestra des de dins"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
@@ -2823,7 +2823,7 @@ msgstr "Zoom 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr "Tocar la finestra des de fora"
+msgstr "Toca la finestra des de fora"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
@@ -2831,7 +2831,7 @@ msgstr "Àudio: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
-msgstr "Reobrir Fitxer"
+msgstr "Reobre el fitxer"
msgctxt "IDS_MFMT_AVI"
msgid "AVI"
@@ -2907,7 +2907,7 @@ msgstr "DirectShow Media"
msgctxt "IDS_MFMT_IVF"
msgid "Indeo Video Format"
-msgstr "Indeo Video Format"
+msgstr "Format de vídeo Indeo"
msgctxt "IDS_MFMT_OTHER"
msgid "Other"
@@ -2919,11 +2919,11 @@ msgstr "Shockwave Flash"
msgctxt "IDS_MFMT_OTHER_AUDIO"
msgid "Other Audio"
-msgstr "Altre Àudio"
+msgstr "Un altre àudio"
msgctxt "IDS_MFMT_AC3"
msgid "AC-3"
-msgstr "So AC-3"
+msgstr "AC-3"
msgctxt "IDS_MFMT_AIFF"
msgid "AIFF"
@@ -2947,11 +2947,11 @@ msgstr "WavPack"
msgctxt "IDS_MFMT_OPUS"
msgid "Opus Audio Codec"
-msgstr "Opus Audio Codec"
+msgstr "Còdec d'àudio de l'Opus"
msgctxt "IDS_MFMT_DTS"
msgid "DTS/DTS-HD"
-msgstr "So DTS/DTS-HD"
+msgstr "DTS/DTS-HD"
msgctxt "IDS_MFMT_AMR"
msgid "AMR"
@@ -2967,7 +2967,7 @@ msgstr "AU/SND"
msgctxt "IDS_MFMT_CDA"
msgid "Audio CD track"
-msgstr "Audio CD track"
+msgstr "Pista d'àudio del CD"
msgctxt "IDS_MFMT_FLAC"
msgid "FLAC"
@@ -2975,7 +2975,7 @@ msgstr "FLAC"
msgctxt "IDS_MFMT_M4A"
msgid "MPEG-4 Audio"
-msgstr "MPEG-4 Audio"
+msgstr "Àudio MPEG-4"
msgctxt "IDS_MFMT_MIDI"
msgid "MIDI"
@@ -2983,7 +2983,7 @@ msgstr "MIDI"
msgctxt "IDS_MFMT_MKA"
msgid "Matroska audio"
-msgstr "Matroska audio"
+msgstr "Àudio Matroska"
msgctxt "IDS_MFMT_MP3"
msgid "MP3"
@@ -2991,7 +2991,7 @@ msgstr "MP3"
msgctxt "IDS_MFMT_MPA"
msgid "MPEG audio"
-msgstr "MPEG audio"
+msgstr "Àudio MPEG"
msgctxt "IDS_MFMT_MPC"
msgid "Musepack"
@@ -3043,23 +3043,23 @@ msgstr "Relació d’aspecte"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
-msgstr "Vsync: Activat"
+msgstr "Sincronització Vertical: Activada"
msgctxt "IDS_OSD_RS_VSYNC_OFF"
msgid "VSync: Off"
-msgstr "Vsync: Desactivat"
+msgstr "Sincronització Vertical: Desactivada"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr "VSync Precisa: On"
+msgstr "Sincronització Vertical Precisa: Activada"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr "VSync Precisa: Desactivat"
+msgstr "Sincronització Vertical Precisa: Desactivada"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
-msgstr "Sincronitza el vídeo a la pantalla: On"
+msgstr "Sincronitza el vídeo a la pantalla: Activat"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
msgid "Synchronize Video to Display: Off"
@@ -3067,7 +3067,7 @@ msgstr "Sincronitza el vídeo a la pantalla: Desactivat"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
msgid "Synchronize Display to Video: On"
-msgstr "Sincronitza la pantalla al vídeo: On"
+msgstr "Sincronitza la pantalla al vídeo: Activada"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
msgid "Synchronize Display to Video: Off"
@@ -3075,19 +3075,19 @@ msgstr "Sincronitza la pantalla al vídeo: Desactivat"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
-msgstr "Presenta a la Vsync més propera: On"
+msgstr "Presenta a la Sincronització Vertical més propera: Activat"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
msgid "Present at Nearest VSync: Off"
-msgstr "Presenta a la Vsync més propera: Desactivat"
+msgstr "Presenta a la Sincronització Vertical més propera: Desactivat"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
-msgstr "Gestió de Colors: On"
+msgstr "Gestió de Colors: Activada"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr "Gestió de Colors: Desactivat"
+msgstr "Gestió de Colors: Desactivada"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
@@ -3107,39 +3107,39 @@ msgstr "Tipus d'Entrada: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
-msgstr "Llum Ambiental: Brillant (2.2 Gamma)"
+msgstr "Llum ambiental: Brillant (2,2 gamma)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
msgid "Ambient Light: Dim (2.35 Gamma)"
-msgstr "Llum Ambiental: Tènue (2.35 Gamma)"
+msgstr "Llum ambiental: Tènue (2,35 gamma)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
msgid "Ambient Light: Dark (2.4 Gamma)"
-msgstr "Llum Ambiental: Fosca (2.4 Gamma)"
+msgstr "Llum ambiental: Fosca (2,4 gamma)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "Tipus de Renderització: Perceptiu"
+msgstr "Tipus de renderització: Perceptiva"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "Tipus de Renderització: Colorimetria Relativa"
+msgstr "Tipus de renderització: Colorimetria relativa"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr "Tipus de Renderització: Saturació"
+msgstr "Tipus de renderització: Saturació"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "Tipus de Renderització: Colorimetria Absoluta"
+msgstr "Tipus de renderització: Colorimetria absoluta"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
-msgstr "Rang de Sortida: %s"
+msgstr "Rang de sortida: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr "Buida la GPU abans de la VSync: On"
+msgstr "Buida la GPU abans de la VSync: Activat"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
@@ -3147,15 +3147,15 @@ msgstr "Buida la GPU abans de la VSync: Desactivat"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
-msgstr "Buida la GPU després de la Presentaciót: On"
+msgstr "Buida la GPU després de la presentació: Activat"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
msgid "Flush GPU after Present: Off"
-msgstr "Buida la GPU després de la Presentació: Desactivat"
+msgstr "Buida la GPU després de la presentació: Desactivat"
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
-msgstr "Espera el buidat de la GPU: On"
+msgstr "Espera el buidat de la GPU: Activat"
msgctxt "IDS_OSD_RS_WAIT_OFF"
msgid "Wait for GPU Flush: Off"
@@ -3163,7 +3163,7 @@ msgstr "Espera el buidat de la GPU: Desactivat"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
-msgstr "Pantalla completa D3D: On"
+msgstr "Pantalla completa D3D: Activada"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
msgid "D3D Fullscreen: Off"
@@ -3171,31 +3171,31 @@ msgstr "Pantalla completa D3D: Desactivat"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
-msgstr "Desactiva la composició de l'escriptori: On"
+msgstr "Desactiva la composició de l'escriptori: Activat"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr "Desactivaa la composició de l'escriptori: Desactivat"
+msgstr "Desactiva la composició de l'escriptori: Desactivat"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr "VSync Alternativa: On"
+msgstr "Sincronització Vertical Alternativa: Activada"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr "VSync Alternativa: Desactivat"
+msgstr "Sincronització Vertical Alternativa: Desactivada"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Renicialitzar ajustos predeterminats del renderitzador"
+msgstr "Restableix la configuració per defecte del renderitzador"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Renicialitzar ajustos òptims del renderitzador"
+msgstr "Restableix les configuracions del renderitzador a òptimes "
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr "Pantalla completa D3D amb GUI: On"
+msgstr "Pantalla completa D3D amb GUI: Activat"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
@@ -3203,7 +3203,7 @@ msgstr "Pantalla completa D3D amb GUI: Desactivat"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
-msgstr "Sortida RGB 10-bits: On"
+msgstr "Sortida RGB 10-bits: Activat"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
@@ -3211,7 +3211,7 @@ msgstr "Sortida a RGB 10-bits: Desactivat"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
-msgstr "Força l'Entrada a RGB 10-bits: Actiu"
+msgstr "Força l'entrada a RGB 10-bits: Activat"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
msgid "Force 10-bit RGB Input: Off"
@@ -3219,7 +3219,7 @@ msgstr "Força l'Entrada a RGB 10-bits: Desactivat"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr "Processament en coma flotant complet: On"
+msgstr "Processament en coma flotant complet: Activat"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
@@ -3227,7 +3227,7 @@ msgstr "Processament en coma flotant complet: Desactivat"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr "Processament en coma flotant parcial: On"
+msgstr "Processament en coma flotant parcial: Activat"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
@@ -3235,35 +3235,35 @@ msgstr "Processament en coma flotant parcial: Desactivat"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
-msgstr "Disminueix la Brillantor"
+msgstr "Disminueix la brillantor"
msgctxt "IDS_CONTRAST_INC"
msgid "Contrast increase"
-msgstr "Augmentar el Contrast"
+msgstr "Augmenta el contrast"
msgctxt "IDS_CONTRAST_DEC"
msgid "Contrast decrease"
-msgstr "Disminueix el Contrast"
+msgstr "Disminueix el contrast"
msgctxt "IDS_HUE_INC"
msgid "Hue increase"
-msgstr "Augmentar Tint"
+msgstr "Augmenta el to"
msgctxt "IDS_HUE_DEC"
msgid "Hue decrease"
-msgstr "Disminueix el Tint"
+msgstr "Disminueix el to"
msgctxt "IDS_SATURATION_INC"
msgid "Saturation increase"
-msgstr "Augmentar Saturació"
+msgstr "Augmenta la saturació"
msgctxt "IDS_SATURATION_DEC"
msgid "Saturation decrease"
-msgstr "Disminueix la Saturació"
+msgstr "Disminueix la saturació"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
-msgstr "Restablir la configuració de color"
+msgstr "Restableix la configuració del color"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
@@ -3275,15 +3275,15 @@ msgstr "La teva versió actual és v%s.\n\nL'útima versió estable és v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s ara està disponible. Ara fas servir v%s.\n\nVols visitar la pàgina web de MPC-HC per decarregar-lo?"
+msgstr "L'MPC-HC v%s està disponible. Ara fa servir la v%s.\n\nVoleu visitar la pàgina web de l'MPC-HC per decarregar-la?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "No s'ha trovat server d'actualizacions.\n\nSi us plau, comprovi la seva connexió a Internet o provi-ho més tard."
+msgstr "No s'ha trobat el servidor d'actualitzacions.\n\nSi us plau, comprovi la seva connexió a Internet o intenti-ho més tard."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
-msgstr "&Tancar"
+msgstr "&Tanca"
msgctxt "IDS_OSD_ZOOM"
msgid "Zoom: %.0lf%%"
@@ -3295,39 +3295,39 @@ msgstr "Zoom: Automàtic"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
-msgstr "Commutar l'assignació de canals personalitzats"
+msgstr "Commuta l'assignació de canals personalitzats"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
-msgstr "Assignació de canals personalitzats: On"
+msgstr "Assignació de canals personalitzats: Activat"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
msgid "Custom channel mapping: Off"
-msgstr "Assignació de canals personalitzats: Off"
+msgstr "Assignació de canals personalitzats: Desactivat"
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
-msgstr "Commutar normalizació"
+msgstr "Commuta la normalizació"
msgctxt "IDS_OSD_NORMALIZE_ON"
msgid "Normalization: On"
-msgstr "Normalitzar"
+msgstr "Normalització: Activada"
msgctxt "IDS_OSD_NORMALIZE_OFF"
msgid "Normalization: Off"
-msgstr "Normalització: Desactivat"
+msgstr "Normalització: Desactivada"
msgctxt "IDS_REGAIN_VOLUME"
msgid "Toggle regain volume"
-msgstr "Commuta recuperació de volum"
+msgstr "Commuta la recuperació del volum"
msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
msgid "Regain volume: On"
-msgstr "Recuperar volum: On"
+msgstr "Recuperació del volum: Activat"
msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
-msgstr "Recuperar volum: Desactivat"
+msgstr "Recuperació del volum: Desactivat"
msgctxt "IDS_SIZE_UNIT_BYTES"
msgid "bytes"
@@ -3335,7 +3335,7 @@ msgstr "bytes"
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
-msgstr "KB"
+msgstr "kB"
msgctxt "IDS_SIZE_UNIT_M"
msgid "MB"
@@ -3347,7 +3347,7 @@ msgstr "GB"
msgctxt "IDS_SPEED_UNIT_K"
msgid "KB/s"
-msgstr "KB/s"
+msgstr "kB/s"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
@@ -3387,39 +3387,35 @@ msgstr "Error en analitzar el text entrat!"
msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
msgid "Error parsing the entered frame rate!"
-msgstr "Error en analitzar la velocitat de fotogrames entrat!"
+msgstr "Error en analitzar la velocitat de fotogrames introduïda!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr "No es pot usar el desplaçament imatge a imatge, provi un altre renderitzador de vídeo."
+msgstr "No es pot utilitzar el desplaçament de fotograma a fotograma, provi amb un altre renderitzador de vídeo."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Les funcions \"Desar Imatge\" i \"Desar Miniatures\" no funcionen amb el renderitzador de vídeo per defecte pel RealMedia.\nSelecioni un dels renders DirectX pel RealMedia en les opciones de sortida del MPC i torna a obrir el fitxer."
+msgstr "Les funcions \"Desa la imatge\" i \"Desa les miniatures\" no funcionen amb el renderitzador de vídeo per defecte per al RealMedia.\nSeleccioni un dels renderitzador del DirectX per al RealMedia en les opcions de sortida de l'MPC-HC i torni a obrir el fitxer."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Les funcions \"Desar Imatge\" i \"Desar Miniatures\" no funcionen amb el renderitzador de vídeo per defecte pel QuickTime.\nSelecioni un dels renders DirectX pel QuickTime en les opciones de sortida del MPC i torna a obrir el fitxer."
+msgstr "Les funcions \"Desa la imatge\" i \"Desa les miniatures\" no funcionen amb el renderitzador de vídeo per defecte per al QuickTime.\nSeleccioni un dels renderitzadors del DirectX per al QuickTime a les opcions de sortida de l'MPC-HC i torni a obrir el fitxer."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
-msgstr "Les funcions \"Desar Imatge\" i \"Desar Miniatures\" no funcionen amb els fitxers Shockwave."
+msgstr "Les funcions \"Desa la imatge\" i \"Desa les miniatures\" no funcionen amb els fitxers Shockwave."
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Les funcions \"Desar Imatge\" i \"Desar Miniatures\" no funcionen amb el renderitzador de vídeo Overlay Mixer.\nCanvia el renderitzador de vídeo en les opciones de sortida del MPC i torna a obrir el fitxer."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "No es pot connectar a la base de dades dels subtítols en línia."
+msgstr "Les funcions \"Desa la imatge\" i \"Desa les miniatures\" no funcionen amb el renderitzador de vídeo Overlay Mixer.\nCanvia el renderitzador de vídeo en les opcions de sortida de l'MPC i torni a obrir el fitxer."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "Vols activar l'editor d'EDL?"
+msgstr "Voleu activar l'editor d'EDL?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
-msgstr "Error de captació"
+msgstr "Error de captura"
msgctxt "IDS_CAPTURE_ERROR_VIDEO"
msgid "video"
@@ -3435,15 +3431,15 @@ msgstr "No es pot afegir el filtre %s de memòria intermèdia al graph."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
msgid "Can't connect the %s buffer filter to the graph."
-msgstr "No es pot conectar el filtre de memòria intermèdia %s al graph."
+msgstr "No es pot connectar el filtre de la memòria intermèdia %s al graph."
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr "No es pot afegir el filtre decodificador %s al graph."
+msgstr "No es pot afegir el filtre del codificador %s al diagrama de filtres."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr "No es pot conectar el filtre del decodificador %s al graph."
+msgstr "No es pot connectar el filtre del codificador %s al diagrama de filtres."
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
@@ -3451,15 +3447,15 @@ msgstr "No es pot establir el format de compressió en el filtre del codificador
msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
msgid "Can't connect the %s stream to the multiplexer filter."
-msgstr "No es pot conectar el filtre multiplexador de la cadena %s."
+msgstr "No es pot connectar la transmissió %s al filtre multiplexor."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr "No s'ha trovat el pin de captació del vídeo."
+msgstr "No s'ha trobat l'etapa de captura de vídeo."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "No s'ha trovat el pin de captació d'audio."
+msgstr "No s'ha trobat l'etapa de captura de so."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
@@ -3471,7 +3467,7 @@ msgstr "Error al inicialitzarel fitxer de sortida de l'audio."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr "El format de temps correcta és [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
+msgstr "El format de temps correcte és [-]hh:mm:ss.ms (per exemple, 01:23:45.678)."
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
@@ -3479,7 +3475,7 @@ msgstr "Aquest tipus ja està a la llista!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr "Cal aplicar la nova configuració abans de provar-la."
+msgstr "Cal que apliqueu la nova configuració abans de provar-la."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
@@ -3487,23 +3483,23 @@ msgstr "Després de la reproducció: Surt"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Després de la reproducció: En Espera"
+msgstr "Després de la reproducció: Atura temporalment"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
-msgstr "Després de la reproducció: Hibernació"
+msgstr "Després de la reproducció: Hiberna"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr "Després de la reproducció: Apaga l'equip"
+msgstr "Després de la reproducció: Tanca l'ordinador"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
-msgstr "Després de la Reproducció: Finalitza la sessió"
+msgstr "Després de la reproducció: Tanca la sessió"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr "Després de la reproducció: Bloqueja"
+msgstr "Després de la reproducció: Bloca"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
@@ -3511,7 +3507,7 @@ msgstr "Després de reproducció: Apaga el monitor"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
-msgstr "Després de la Reproducció: Reprodueix el seguent fitxer dins la carperta"
+msgstr "Després de la reproducció: Reprodueix el fitxer següent de la carperta"
msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
msgid "After Playback: Do nothing"
@@ -3527,7 +3523,7 @@ msgstr "Contrast: %s"
msgctxt "IDS_OSD_HUE"
msgid "Hue: %s°"
-msgstr "Tint: %s°"
+msgstr "To: %s°"
msgctxt "IDS_OSD_SATURATION"
msgid "Saturation: %s"
@@ -3543,15 +3539,15 @@ msgstr "El control de color no és compatible"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
-msgstr "Augmentar la Brillantor"
+msgstr "Augmenta la brillantor"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Introdueixi els seves idiomes preferits aquí.\nPer exemple, escriu: \"eng cat jap\""
+msgstr "Introdueixi els seus idiomes preferits aquí.\nPer exemple, escrigui: \"cat eng jpn\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Els splitters externs poden tenir les seves pròpies opcions de preferències d'idioma per tant el comportament predeterminat MPC-HC no és per canviar la seva elecció inicial.\nActiveu aquesta opció si voleu MPC-HC controli els splitters externs."
+msgstr "Els divisors o \"splitters\" externs poden tenir les seves pròpies opcions de preferència d'idioma, de manera que el comportament predeterminat de de l'MPC-HC és no canviar la seva configuració inicial.\nActiveu aquesta opció si voleu que de l'MPC-HC controli els splitters externs."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3575,23 +3571,23 @@ msgstr "&Canals"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Si \"últim fotograma clau\" està seleccionat, anar al primer fotograma clau anterior al actual punt de cerca.\nSi \"fotograma clau més proper\" està seleccionat, anar al primer fotograma clau abans o després del punt de cerca depenent de quin sigui el més proper."
+msgstr "Si \"últim fotograma clau\" està seleccionat, anar al primer fotograma clau anterior al actual punt de cerca.\nSi \"fotograma clau veí\" està seleccionat, anar al primer fotograma clau abans o després del punt de cerca depenent de quin sigui el més proper."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr "Associa’t amb tots els formats"
+msgstr "Associa amb tots els formats"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr "Associa’t només amb formats de vídeo"
+msgstr "Associa només amb formats de vídeo"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "Associa’t només amb formats d’àudio"
+msgstr "Associa només amb formats d’àudio"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr "Neteja totes les associacions"
+msgstr "Esborra totes les associacions"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
@@ -3605,3 +3601,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Proveïdor"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Problemes d'audició (CC)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Baixades"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Puntuació"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Ha fallat la cerca de subtítols en línia."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Cerca cancel·lada de subtítols en línia."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Cerca de subtítols en línia completada, %d fitxer/s de subtítols trobat/s."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Cerca de subtítols en línia completada, no se n'ha trobat cap."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Descarrega els subtítols"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "S'estan buscant subtítols en línia, si us plau, esperi..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "S'està cancel·lant la cerca de subtítols en línia..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nom d'usuari"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Estat"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Preparat..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "No implementat."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "S'està penjant..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "S'han penjat els subtítols amb èxit."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Ha fallat la pujada dels subtítols."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Pujada de subtítols cancel·lada."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Els subtítols ja existeixen."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "S'estan penjant els subtítols, si us plau, esperi..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Pujada finalitzada."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Pujada cancel·lada."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Ha fallat la pujada."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Baixa i obre’ls"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configuració"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Restableix"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Amunt"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Avall"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Obre l'URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Idiomes"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ERROR: No s'ha pogut establir connexió a Internet."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Introdueix les credencials del lloc web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Introdueix les seves credencials per connectar-se a:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Relació d'aspecte: Adopta píxels quadrats (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Descarregat [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Penja els subtítols"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Esteu segur que voleu penjar el fitxer de subtítols \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "S'estan buscant idiomes compatibles..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "No s'ha pogut guardar a \"%S\" amb el nom d'usuari \"%S\".\n\nSi us plau, introdueixi el nom d'usuari i contrasenya correctes o restableixi les credencials per iniciar sessió com a usuari anònim."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "La cerca automàtica i la descàrrega es desactivaran per a tots els mitjans en que la seva ruta tingui qualsevol dels patrons introduïts aquí.\nPer exemple, escrigui: \"pirvate dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"ruta\"\tEl fitxer principal o carpeta a ser carregat\n\t\t(es permeten comodins, \"-\" denota l'entrada estàndard)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"nomdeldoblatge\"\tCarrega un fitxer d'àudio addicional"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"fitxer\"\tCarrega un fitxer d'àudio addicional (doblatge) desplaçat XXms\n\t\t(si el fitxer conté \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tInicia el renderitzat en mode D3D en pantalla completa"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"nomdelsubtítol\"\tCarrega un fitxer de subtítols addicional"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"nomdelfiltre\"\tCarrega els filtres DirectShow desde una llibreria d'enllaç dinàmic -dll- (comodins permesos)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tS'executa en mode DVD, \"ruta\" indica la carpeta del DVD (opcional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tInicia la reproducció al títol T, capítol C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tInicia la reproducció en el títol T, posició P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tCarrega totes les pistes d'un CD d'àudio o (S)VCD,\n\t\t\"ruta\" indica la ruta a la unitat (opcional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tObre el dispositiu de vídeo per defecte"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tObre el fitxer, no inicia la reproducció automàticament."
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tComença la reproducció del fitxer tan aviat s'obre el reproductor"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tTanca el reproductor després de la reproducció (només funciona quan s'utilitza /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tTanca el sistema operatiu un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tAtura temporalment el sistema operatiu un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHiberna el sistema operatiu un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tTanca la sessió un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBloca l'ordinador un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tApaga el monitor un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tObre el fitxer següent de la carpeta un cop acabada la reproducció"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tInicia el reproductor en pantalla completa"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tInicia el reproductor en mode minimitzat"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUtilitza una nova instància del reproductor"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAfegeix una \"ruta\" a la llista de reproducció, es pot combinar amb /open i /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tReprodueix en un ordre aleatori la llista de reproducció"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCrea associacions de fitxer per a fitxers de vídeo"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCrea associacions de fitxer per a fitxers d'àudio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCrea associacions de fitxers per a fitxers de llistes de reproducció"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCrea associacions de fitxers per a tots els tipus fitxers suportats"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tElimina totes les associacions de fitxer"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tComença la reproducció en \"ms\" (= milisegons)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tInicia la reproducció en la posició hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tEstableix una mida de finestra fixada"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tInicia el reproductor al monitor N, on N comença des de 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tS'inicia fent servir el renderitzador d'àudio N, en que N comença des de 1 (miri la configuració de \"Sortida\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tS'inicia fent servir el preajustament \"Pr\" de shader (ombrejador)"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tEspecifica el nom del mode de reenquadrament (pan&scan) a utilitzar"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tTorna a associar les icones de format"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tObre l'MPC-HC en segon pla"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tInicia la interfície web en el port especificat"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tMostra la informació de depuració sobreimpressionada (OSD)"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDesactiva l'informe d'errors"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUtilitza l'MPC-HC en mode eslcau"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tEstableix l'índex que indica la GPU a utilitzar per a la descodificació per hardware.\n\t\tNomés diponible per als modes CUVID i DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestableix la configuració per defecte"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tMostra l'ajuda sobre els paràmetres de les comandes"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Valor llindar de puntuació per a subtítols que es descarregarant automàticament.\nEls valors més alts idiquen que es carregaran subtítols amb una coincidència més precisa, els valors més baixos podrien resultar dolents per tal de carregar els subtítols correctes, no hi ha un valor perfecte. Seleccioni aquell que millor li funcioni."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Retard de l'àudio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Mida en píxels de la barra d'eines per defecte."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Utilitza la barra antiga d'eines en lloc de la nova vectoritzada."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
index 87d23fadb..929c0bcc3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# khagaroth, 2013-2015
+# khagaroth, 2013-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 14:56+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-01-28 11:00+0000\n"
"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/mpc-hc/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015, viz soubor Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017, viz soubor Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -338,7 +338,7 @@ msgstr "Pamatovat si poslední velikost okna"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Papamatovat si zvětšení Pan-n-Scan"
+msgstr "Pamatovat si zvětšení Pan-n-Scan"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -421,12 +421,16 @@ msgid "time(s)"
msgstr "x"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Režim opakování:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Po přehrání"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Výstup"
+msgid "Default zoom"
+msgstr "Výchozí velikost"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,8 +569,8 @@ msgid "Warning"
msgstr "Varování"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Pokud změníte polohu titulků a zapnete full-screen antialiasing, titulky určitě nebudou vypadat lépe, zato však zaberou veškerý výkon vašeho procesoru."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Pokud změníte polohu titulků a zapnete fullscreen antialiasing, titulky určitě nebudou vypadat lépe, zato však zaberou veškerý výkon vašeho procesoru."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -678,7 +682,7 @@ msgstr "Použít pokročilé funkce pro panel úloh"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Pokud je v playlistu jen jen jedna položka, otevřít pomocí příkazů 'Skočit zpět/vpřed' předchozí/následující soubor v adresáři"
+msgstr "Pokud je v seznamu stop jen jen jedna položka, otevřít pomocí příkazů 'Skočit zpět/vpřed' předchozí/následující soubor v adresáři"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
@@ -1121,8 +1125,8 @@ msgid "Audio Renderer"
msgstr "Syntezátor zvuku"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Možnosti VMR-7/VMR-9 (renderless) a EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Možnosti VMR-9 (renderless) a EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Zobrazovač titulků"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Použít mezipaměť zkompilovaných shaderů"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Naslouchat na portu:"
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Obsluha CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Dostupné titulky"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Stáhnout a otevřít"
+msgid "Download subtitles"
+msgstr "Stáhnout titulky"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Nahradit aktuálně načtené titulky"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Stáhnout"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Aktualizovat"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Zrušit"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Možnosti"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Odeslat titulky"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Odeslat"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Zrušit"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Možnosti"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Uložit jako..."
@@ -1541,16 +1577,28 @@ msgid "Reset"
msgstr "Výchozí"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online databáze"
+msgid "Online search, download and upload subtitles"
+msgstr "Hledání, stahování a odesílání titulků online"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automaticky vyhledat a stáhnout titulky pokud nejsou nalezeny lokální"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Upřednostňovat titulky pro neslyšící (pokud jsou označeny poskytovatelem titulků)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorovat soubory jejichž název obsahuje některé z následujících slov:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Adresa online databáze titulků:"
+msgid "Languages in order of preference:"
+msgstr "Jazyky v pořadí podle preference:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Otestovat"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automaticky odeslat aktivní titulky po skončení přehrávání videa"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
index 4a1a46972..f61bbfd9d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013
-# khagaroth, 2013-2015
+# khagaroth, 2013-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-27 15:31+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2017-01-28 11:52+0000\n"
"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/mpc-hc/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -27,35 +27,35 @@ msgstr "&Rychle otevřít soubor..."
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
-msgstr "&Otevřít soubor..."
+msgstr "Otevřít &soubor..."
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "Otevřít &DVD/BD..."
+msgstr "Otevřít DVD/&BD..."
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
-msgstr "Ote&vřít zařízení..."
+msgstr "Otevřít &zařízení..."
msgctxt "ID_FILE_OPENDIRECTORY"
msgid "Open Dir&ectory..."
-msgstr "Otevřít adresář..."
+msgstr "Otevřít &adresář..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
-msgstr "Otevřít disk"
+msgstr "Otevřít &disk"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
-msgstr "Nedávno otevřené"
+msgstr "&Nedávno otevřené"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
-msgstr "&Zavřít"
+msgstr "Zavří&t"
msgctxt "ID_FILE_SAVE_COPY"
msgid "&Save a Copy..."
-msgstr "&Uložit kopii..."
+msgstr "Uložit &kopii..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
@@ -63,31 +63,27 @@ msgstr "Uložit &obrázek..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Uložit miniatury..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Načíst &titulky..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "U&ložit titulky..."
+msgstr "Uložit &miniatury..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Databáze titulků"
+msgid "S&ubtitles"
+msgstr "Tit&ulky"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Hledat..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Načíst titulky..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Odeslat..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Uložit titulky..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Stáhnout..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Stáhnout titulky..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Odeslat titulky..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -95,7 +91,7 @@ msgstr "&Vlastnosti"
msgctxt "ID_FILE_EXIT"
msgid "E&xit"
-msgstr "&Konec"
+msgstr "Kone&c"
msgctxt "POPUP"
msgid "&View"
@@ -195,7 +191,7 @@ msgstr "Nastavení rendereru"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "Test &trhání"
+msgstr "&Test trhání"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
@@ -203,27 +199,27 @@ msgstr "Zobrazit statistiku"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Zobrazit aktuální čas"
+msgstr "Zobrazit &aktuální čas"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr "Zobrazit název souboru"
+msgstr "Zobrazit &název souboru"
msgctxt "POPUP"
msgid "&Output Range"
-msgstr "Rozsah výstupu"
+msgstr "&Rozsah výstupu"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
-msgstr "Zobrazení"
+msgstr "&Zobrazení"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
@@ -259,7 +255,7 @@ msgstr "Povolit opravu času snímků"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "Správa barev"
+msgstr "&Správa barev"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
@@ -323,55 +319,55 @@ msgstr "Absolutní kolorimetrické"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "VSync"
+msgstr "&VSync"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "VSync"
+msgstr "&VSync"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "Přesný VSync"
+msgstr "&Přesný VSync"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "Alternativní VSync"
+msgstr "&Alternativní VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Snížit vsync offset"
+msgstr "&Snížit VSync offset"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "&Zvýšit vsync offset"
+msgstr "&Zvýšit VSync offset"
msgctxt "POPUP"
msgid "&GPU Control"
-msgstr "Ovládání GPU"
+msgstr "Ovládání &GPU"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Vyprázdnit GPU před VSync"
+msgstr "Vyprázdnit GPU před &VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Vyprázdnit GPU po zobrazení"
+msgstr "Vyprázdnit GPU po &zobrazení"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
-msgstr "Čekat na vyprázdnění"
+msgstr "Čekat &na vyprázdnění"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Obnova nastavení"
+msgstr "&Obnova nastavení"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Obnovit výchozí nastavení rendereru"
+msgstr "Obnovit &výchozí nastavení rendereru"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Obnovit optimální nastavení rendereru"
+msgstr "Obnovit &optimální nastavení rendereru"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Dotknout se okna zvenčí"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Zachovat poměr stran"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Vynutit poměr stran"
+msgid "&Aspect Ratio"
+msgstr "Poměr stran"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Výchozí"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Výchozí (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -435,11 +427,15 @@ msgstr "16:9"
msgctxt "ID_ASPECTRATIO_235_100"
msgid "&235:100"
-msgstr "235:100"
+msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Předpokládat čtvercové pixely (SAR)"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
@@ -531,12 +527,28 @@ msgstr "&Přehrát/Pozastavit"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
-msgstr "&Zastavit"
+msgstr "Za&stavit"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Krokovat po snímcích"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Opakovat"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "D&onekonečna"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Soubor"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Seznam sto&p"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Zpo&malit přehrávání"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "&Titulková stopa"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video stopa"
msgctxt "POPUP"
@@ -591,7 +603,7 @@ msgstr "P&o přehrání"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
-msgstr "Žádná akce"
+msgstr "Žádná &akce"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
@@ -603,7 +615,7 @@ msgstr "Vypnout &monitor"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
-msgstr "Zavřít přehrávač"
+msgstr "&Zavřít přehrávač"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
index f34b5e9f8..26efc68e3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jan Košata <kosata6@seznam.cz>, 2014
-# khagaroth, 2013-2015
+# khagaroth, 2013-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-01-28 11:34+0000\n"
+"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/mpc-hc/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Vlastnosti"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Soubor"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Výchozí styl"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Seznam stop"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Soubory"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Pokud není určen cíl vykreslování, budou SSA/ASS titulky vykreslovány relativně k oblasti videa, zatímco ostatní formáty titulků budou vykreslovány relativně k oknu."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Režim opakování: Seznam stop"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Režim opakování: Soubor"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Opakovat donekonečna: Aktivní"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Opakovat donekonečna: Neaktivní"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Opakovat donekonečna"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nikdy (nejrychlejší)"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Přehrávač::WWW rozhraní"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Titulky::Databáze"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Podrobnosti"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Vždy vykresluje v overlay. Obecně jsou povoleny pouze formáty YUV, ale jsou zobrazovány bez jakéhokoliv převodu barev do RGB. Toto je nejrychlejší způsob vykreslování, a jediný, u kterého si můžete být jisti funkčností fullscreen video mirroringu do tv-out."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Výchozí renderer Windows XP. Velice stabilní a jen o málo pomalejší než Overlay mixer. Používá DirectDraw a pokud je k dispozici, tak i overlay."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Dostupný pouze s nainstalovaným DirectX 9. Má stejné vlastnosti jako VMR-7 (windowed), ale nikdy nepoužije overlay a je proto trochu pomalejší než VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Stejný jako VMR-7 (windowed), ale s titulkovým pluginem MPC-HC pro Allocator-Presenter. Overlay video mirroring NEBUDE fungovat. Doporučeno ve vlastnostech zobrazení nastavit 32bitovou barevnou hloubku."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Dostupný pouze s nainstalovaným DirectX 9. Stabilní, ale nikdy nepoužije overlay a je proto trochu pomalejší než Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Vlastní renderer Real. Skripty SMIL budou funkční, ale interakce pravděpodobně ne. Používá DirectDraw a pokud může, použije overlay."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Výstup Real enginu vykreslovaný pomocí Allocator-Presenteru VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Výstup Real enginu vykreslovaný pomocí Allocator-Presenteru VMR-9 (renderless)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Vlastní renderer QuickTime. Pomalý pokud dojde ke změně velikosti oblasti videa nebo je video částečně překryto jiným oknem. Pokud není k dispozici overlay, většinou použije GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Výstup QuickTime enginu vykreslovaný pomocí Allocator-Presenteru VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Výstup QuickTime enginu vykreslovaný pomocí Allocator-Presenteru VMR-9 (renderless)."
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Pro zobrazení vložených zdrojů v prohlížeči musíte povolit webové rozhraní.\n\nTlačítko \"Uložit jako\" použijte pokud chcete informace pouze uložit."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Stáhnout titulky"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Stáhnout titulky..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Odeslat titulky..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Omezí trhání potlačením výchozího zabudovaného VSync D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Ladění tuneru"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Titulky nejsou načteny nebo je použit nepodporovaný renderer."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Pro urychlení načítání uloží zkompilované shadery v adresáři AppData."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Pokud chcete otevřít všechny soubory VTS_xx_x.vob jako jeden soubor, otevřete VTS_xx_0.ifo"
@@ -946,11 +962,11 @@ msgid "&Organize Favorites..."
msgstr "&Uspořádat oblíbené..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Náhodně"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Otevřít nadřazený adresář"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1050,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zvětšit na Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Skrýt v režimu na celou obrazovku"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Přidat nadřazený adresář"
msgctxt "IDS_HW_INDICATOR"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Obrázek úspěšně uložen"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Načíst titulky"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Načíst titulky..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Uložit titulky"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Uložit titulky..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatury úspěšně uloženy"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video stopa"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "P&S zmenšit výšku"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Probíhá stahování titulků, prosím čekejte."
+msgid "Downloading [%s] \"%s\""
+msgstr "Stahování [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Kódovaný"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ano"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ne"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Šířka obrázku"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Zdá se, že adresa je správná!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Nesouhlasí verze protokolu, aktualizujte svůj přehrávač, nebo zvolte jinou adresu!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Poměr stran"
@@ -2314,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Soubor nelze vytvořit, protože miniatury by byly příliš malé.\n\nSnižte počet miniatur, nebo zadejte větší celkovou velikost."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Aby bylo možné načíst titulky, musíte změnit výstupní video renderer a znovu spustit přehrávání.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR nebo Haali\n- RealMedia: Speciální renderer pro RealMedia, nebo otevřít prostřednictvím DirectShow\n- QuickTime: DX7 nebo DX9 renderer pro QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Aby bylo možné načíst titulky, musíte změnit výstupní video renderer a znovu spustit přehrávání.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR nebo Haali\n- RealMedia: Speciální renderer pro RealMedia, nebo otevřít prostřednictvím DirectShow\n- QuickTime: DX7 nebo DX9 renderer pro QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Poměr stran: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Poměr stran: Výchozí"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Poměr stran: Výchozí (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Soubor se nepodařilo přehrát"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Špatná adresa, nepodařilo se najít databázi titulků!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Kapitola: "
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Zesílení - maximální"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Použití: mpc-hc.exe \"cesta\" [parametry]\n\n\"cesta\"\t\tSoubor nebo adresář, který má být otevřen\n\t\t(povoleny masky, \"-\" označuje standardní vstup)\n/dub \"soubor\"\tNačte soubor se zvukovou stopou\n/dubdelay \"soubor\"\tNačte soubor se zvukovou stopou posunutou\n\t\to XXms (pokud název souboru obsahuje\n\t\t\"...DELAY XXms...\")\n/d3dfs\t\tSpustí vykreslování v D3D fullscreen režimu\n/sub \"soubor\"\tNačte soubor s titulky\n/filter \"soubor\"\tNačte DirectShow filtr (*.ax nebo *.dll, povoleny\n\t\tmasky)\n/dvd\t\tSpustí MPC-HC v DVD režimu, volitelný parametr\n\t\t\"cesta\" určuje DVD adresář\n/dvdpos T#K\tSpustí přehrávání titulu T, kapitoly K\n/dvdpos T#hh:mm\tSpustí přehrávání titulu T, pozice hh:mm:ss\n/cd\t\tNačte všechny stopy AudioCD/(S)VCD, volitelný\n\t\tparametr \"cesta\" udává písmeno CD mechaniky\n/device\t\tOtevře výchozí video zařízení\n/open\t\tNačte soubor, ale nespustí přehrávání\n/play\t\tNačte soubor a přehraje ho\n/close\t\tPo ukončení přehrávání zavře přehrávač (funkční\n\t\tjen v kombinaci s /play)\n/shutdown\tPo ukončení přehrávání vypne počítač\n/standby\t\tPo přehrání přepne systém do úsporného režimu\n/hibernate\tPo přehrání přepne systém do režimu hibernace\n/logoff\t\tPo přehrání odhlásí aktuálně přihlášeného uživatele\n/lock\t\tPo přehrání uzamkne aktivní uživatelský účet\n/monitoroff\tPo přehrání vypne obrazovku\n/playnext\t\tPo přehrání otevře další soubor v adresáři\n/fullscreen\tSpustí přehrávač v režimu na celou obrazovku\n/minimized\tSpustí přehrávač minimalizovaný\n/new\t\tOtevře novou instanci MPC-HC\n/add\t\tPřidá \"cestu\" do playlistu, může být kombinován\n\t\ts /open a /play\n/randomize⇥Náhodně seřadí seznam stop\n/regvid\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované video formáty\n/regaud\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované zvukové formáty\n/regpl\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované seznamy stop\n/regall\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tvšechny podporované formáty\n/unregall\t\tZruší asociaci MPC-HC se všemi formáty\n\t\t(včetně playlistů)\n/start ms\t\tSpustí přehrávání od zadané pozice\n\t\t(ms = milisekundy)\n/startpos hh:mm:ss\tSpustí přehrávání od pozice hh:mm:ss\n/fixedsize w,h\tSpustí přehrávač se zadanou velikostí okna\n/monitor N\tSpustí přehrávání na monitoru N, kde N\n\t\tzačíná od 1\n/audiorenderer N\tPoužije audiorenderer N, kde N začíná od 1\n\t\t(viz nastavení \"Výstup\")\n/shaderpreset \"Př\"\tPoužije předvolbu shaderů \"Př\"\n/pns \"název\"\tPoužije předvolbu Pan&Scan určitého názvu\n/iconsassoc\tZnovu přiřadí ikony formátů souborů\n/nofocus\t\tSpustí MPC-HC v pozadí\n/webport N\tSpustí webové rozhraní na zadaném portu\n/debug\t\tZobrazí ladicí informace v OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tPoužije MPC-HC jako podřízený proces\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tObnoví výchozí nastavení\n/help /h /?\tZobrazí tento dialog\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Použití: mpc-hc.exe \"cesta\" [přepínače]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Povolit všechny filtry"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Ladění tuneru"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Titulky nejsou načteny nebo je použit nepodporovaný renderer."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor neznámý. Pokud jste autorem tohoto loga, kontaktujte mě!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Funkce Uložit obrázek a Uložit miniatury s video rendererem Overlay Mixer nefungují.\nZměňte video renderer v nastavení výstupu a soubor znovu otevřete."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Připojení k online databázi titulků se nezdařilo."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Chcete aktivovat EDL editor?"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Poskytovatel"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Neslišící"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Stahování"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Hodnocení"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Hledání titulků online se nezdařilo."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Hledání titulků online bylo zrušeno."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Hledání titulků bylo dokončeno, nalezeno %d titulků."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Hledání titulků bylo dokončeno, nebyly nalezeny žádné titulky."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Stáhnout titulky"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Probíhá hledání titulků online, prosím čekejte..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Rušení hledání titulků..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Uživatelské jméno"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Stav"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Připraveno..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Není podporováno."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Odesílání..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Titulky byly úspěšně odeslány."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Odeslání titulků se nezdařilo."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Odeslání titulků bylo zrušeno."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Titulky již existují."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Probíhá odesílání titulků, prosím čekejte..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Odesílání dokončeno."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Odesílání přerušeno."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Odesílání se nezdařilo."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Stáhnout a otevřít"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Nastavení"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Výchozí"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Nahoru"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Dolů"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Otevřít adresu"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Jazyky"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "Chyba: Nepodařilo se navázat spojení."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Zadejte přihlašovací údaje"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Zadejte přihlašovací údaje spojení:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Poměr stran: Předpokládat čtvercové pixely (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Staženo [%s] „%s“"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Odeslat titulky"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Opravdu chcete odeslat soubor titulků „%s?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Načítají se podporované jazyky..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Přihlášení k „%S“ pod uživatelským jménem „%S“ se nezdařilo.\n\nZadejte správné uživatelské jméno a heslo, nebo nastavte výchozí přihlašovací údaje a přihlaste se jako anonymní uživatel."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Pro soubory jejichž cesta obsahuje některý ze zde zadaných řetězců bude zakázáno automatické vyhledávání a stahování.\nZadejte například: \"soukromá složka\\videa|práce\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"cesta\"\t\tSoubor nebo adresář, který má být otevřen\n\t\t(povoleny masky, \"-\" označuje standardní vstup)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"soubor\"\tNačte soubor se zvukovou stopou"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"soubor\"\tNačte soubor se zvukovou stopou posunutou\n\t\to XXms (pokud název souboru obsahuje\n\t\t\"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tSpustí vykreslování v D3D fullscreen režimu"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"soubor\"\tNačte soubor s titulky"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"soubor\"\tNačte DirectShow filtr (*.ax nebo *.dll, povoleny\n\t\tmasky)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tSpustí MPC-HC v DVD režimu, volitelný parametr\n\t\t\"cesta\" určuje DVD adresář"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#K\tSpustí přehrávání titulu T, kapitoly K"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tSpustit přehrávání titulu T od pozice P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tNačte všechny stopy AudioCD/(S)VCD, volitelný\n\t\tparametr \"cesta\" udává písmeno CD mechaniky"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOtevře výchozí video zařízení"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tNačte soubor, ale nespustí přehrávání"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tNačte soubor a přehraje ho"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tPo ukončení přehrávání zavře přehrávač (funkční\n\t\tjen v kombinaci s /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tPo ukončení přehrávání vypne počítač"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPo přehrání přepne systém do úsporného režimu"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tPo přehrání přepne systém do režimu hibernace"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tPo přehrání odhlásí aktuálně přihlášeného uživatele"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tPo přehrání uzamkne aktivní uživatelský účet"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tPo přehrání vypne obrazovku"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tPo přehrání otevře další soubor v adresáři"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tSpustí přehrávač v režimu na celou obrazovku"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tSpustí přehrávač minimalizovaný"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tOtevře novou instanci MPC-HC"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tPřidá \"cestu\" do seznamu stop, může být kombinován\n\t\ts /open a /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tNáhodně seřadí seznam stop"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované video formáty"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované zvukové formáty"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tpodporované seznamy stop"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tNastaví MPC-HC jako výchozí přehrávač pro\n\t\tvšechny podporované formáty"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tZruší asociaci MPC-HC se všemi formáty\n\t\t(včetně playlistů)"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tSpustí přehrávání od zadané pozice\n\t\t(ms = milisekundy)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tSpustí přehrávání od pozice hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tSpustí přehrávač se zadanou velikostí okna"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tSpustí přehrávání na monitoru N, kde N\n\t\tzačíná od 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tPoužije audiorenderer N, kde N začíná od 1\n\t\t(viz nastavení \"Výstup\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Př\"\tPoužije předvolbu shaderů \"Př\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"název\"\tPoužije předvolbu Pan&Scan určitého názvu"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tZnovu přiřadí ikony formátů souborů"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tSpustí MPC-HC v pozadí"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tSpustí webové rozhraní na zadaném portu"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tZobrazí ladicí informace v OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDisable the crash reporter"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tPoužije MPC-HC jako podřízený proces"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tNastaví index GPU použitého pro HW dekódování.\n\t\tDostupné pouze pro CUVID a DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tObnoví výchozí nastavení"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tZobrazí tento dialog"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Prahová hodnota hodnocení pro automaticky stahované titulky. Vyšší hodnota zajistí přesnější výsledky přiřazení, ale sníží pravděpodobnost nalezení titulků, nižší hodnota zvýší pravděpodobnost nalezení titulků, ale zvýší pravděpodobnost načtení chybných titulků. Neexistuje ideální hodnota. Zvolte takovou, která bude fungovat vám."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Posun zvuku (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Velikost výchozího panelu nástrojů v pixelech."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Použít starý panel nástrojů místo nového vektorového."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.da.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.da.dialogs.po
index e90402656..21052d3e0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.da.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.da.dialogs.po
@@ -1,18 +1,20 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Jatyrael <cbf_x@hotmail.com>, 2014
+# Jatyrael <cbf_x@hotmail.com>, 2014,2016
+# Chreddy <chreddy1@gmail.com>, 2016
# Xebika <fidodkk@gmail.com>, 2014-2015
# Jatyrael <cbf_x@hotmail.com>, 2014
-# scootergrisen, 2015
+# NemoHJ <nemohj@gmail.com>, 2016
+# scootergrisen, 2015-2017
# Stoffi, 2014-2015
# Xebika <fidodkk@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-09-08 19:47:48+0000\n"
-"PO-Revision-Date: 2015-09-25 20:18+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-15 20:05+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/mpc-hc/mpc-hc/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -51,7 +53,7 @@ msgstr "Output"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Indspil video"
+msgstr "Optag video"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
@@ -59,7 +61,7 @@ msgstr "Forhåndsvis"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
msgid "Record Audio"
-msgstr "Indspil lyd"
+msgstr "Optag lyd"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
msgid "Preview"
@@ -75,7 +77,7 @@ msgstr "Lyd til wav"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
-msgstr "Indspil"
+msgstr "Optag"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
@@ -194,8 +196,8 @@ msgid "About"
msgstr "Om"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 se Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Ophavsret © 2002-2017 se Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -203,11 +205,11 @@ msgstr "Dette program er freeware og udgivet under GNU General Public License."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Dansk oversættelse af dansk MPC-HC team"
+msgstr "Dansk oversættelse af scootergrisen, Jatyrael"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr "Build-oplysninger"
+msgstr "Byg-oplysninger"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -223,7 +225,7 @@ msgstr "Ikke brugt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr "Build dato:"
+msgstr "Bygdato:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
@@ -247,11 +249,11 @@ msgstr "Åbn indstillinger"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "Brug den samme afspiller til alle mediefiler"
+msgstr "Brug den samme afspiller til hver mediefil"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
-msgstr "Åbn en ny afspiller til hver afspillet mediefil"
+msgstr "Åbn en ny afspiller for hver afspillet mediefil"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
@@ -339,11 +341,11 @@ msgstr "Husk sidste vinduesplacering"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
-msgstr "Husk den sidste vinduestørrelse"
+msgstr "Husk den sidste vinduesstørrelse"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Husk sidste pan-og-scan zoom"
+msgstr "Husk sidste pan-og-skan zoom"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -426,12 +428,16 @@ msgid "time(s)"
msgstr "gang(e)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Gentagelsestilstand:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Efter afspilning"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Output"
+msgid "Default zoom"
+msgstr "Standardzoom"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -539,7 +545,7 @@ msgstr "Animér aldrig underteksterne"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Render ved"
+msgstr "Rendér ved"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -570,7 +576,7 @@ msgid "Warning"
msgstr "Advarsel"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Hvis du tilsidesætter og aktivere fuldskærm antialiasing i grafikkortets indstillinger, kommer underteksterne ikke til at se bedre ud, men der bruges betydeligt flere CPU-ressourcer."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -591,7 +597,7 @@ msgstr "Tilknytning"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr "Brug de format-specifikke ikoner"
+msgstr "Brug de formatspecifikke ikoner"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
@@ -603,7 +609,7 @@ msgstr "Indstil som &standardprogram"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Realtid streame protokol handler (til rtsp://... URL'er)"
+msgstr "Realtid strømning protokol handler (til rtsp://... URL'er)"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -651,7 +657,7 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "Lyd CD"
+msgstr "Lyd-CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
@@ -775,7 +781,7 @@ msgstr "Forfatter:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Copyright:"
-msgstr "Copyright:"
+msgstr "Ophavsret:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Rating:"
@@ -815,7 +821,7 @@ msgstr "Relativt drev"
msgctxt "IDD_FAVORGANIZE_CAPTION"
msgid "Organize Favorites"
-msgstr "Håndter favoritter"
+msgstr "Håndtér favoritter"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
@@ -839,7 +845,7 @@ msgstr "OK"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Panorering og &scanning forudindstillinger"
+msgstr "Panorering og skanning-forudindstillinger"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -879,7 +885,7 @@ msgstr "Zoom: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
-msgstr "Globale medienøgler"
+msgstr "Globale medietaster"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
@@ -915,11 +921,11 @@ msgstr "Annuller"
msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
-msgstr "Indkodning:"
+msgstr "Kodning:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
-msgstr "Indkodning:"
+msgstr "Kodning:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "Delay:"
@@ -1126,8 +1132,8 @@ msgid "Audio Renderer"
msgstr "Lyd-renderer"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) og EVR (CP) indstillinger"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) og EVR (CP) indstillinger"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1139,11 +1145,11 @@ msgstr "Gensampling:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Vælg D3D9 rendere enhed"
+msgstr "Vælg D3D9 renderer-enhed"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Initialiser igen ved ændring af visning"
+msgstr "Initialisér igen ved ændring af visning"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
@@ -1171,7 +1177,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Undertekster"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1187,7 +1193,11 @@ msgstr "Rotation"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Undertekst renderer"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Mellemlager kompilerede shadere"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1223,7 +1233,7 @@ msgstr "Gennemse..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
msgid "Deploy..."
-msgstr "Installer..."
+msgstr "Installér..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "Default page:"
@@ -1234,16 +1244,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI handlere: (.filtype1=sti1;.filtype2=sti2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Undertekster tilgængelige online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Download og åbn"
+msgid "Download subtitles"
+msgstr "Download undertekster"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Erstat nuværende indlæste undertekster"
+msgstr "Erstat aktuelle indlæste undertekster"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Download"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Opdater"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Afbryd"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Indstillinger"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Upload undertekster"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Upload"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Afbryd"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Indstillinger"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1307,7 +1345,7 @@ msgstr "Eksportér nøgler"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
-msgstr "Tuner scanning"
+msgstr "Tuner skanning"
msgctxt "IDD_TUNER_SCAN_ID_START"
msgid "Start"
@@ -1435,7 +1473,7 @@ msgstr "Til stede ved nærmeste lodret synkronisering"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Målret synk. forskydning:"
+msgstr "Ønsket synk. forskydning:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1523,7 +1561,7 @@ msgstr "Info"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
msgid "Scan"
-msgstr "Scan"
+msgstr "Skan"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
@@ -1546,16 +1584,28 @@ msgid "Reset"
msgstr "Nulstil"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online database"
+msgid "Online search, download and upload subtitles"
+msgstr "Online søgning, download og upload af undertekster"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatisk søgning og download af undertekster hvis der ikke findes nogen lokalt"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Foretræk undertekster for hørehæmmet (når indikeret af undertekstudbyderen)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorér filer med de følgende ord:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL-rodadresse til online database med undertekster:"
+msgid "Languages in order of preference:"
+msgstr "Sprog i foretrukne rækkefølge:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Upload automatisk aktive undertekster ved slutningen af videoafspilning"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1595,7 +1645,7 @@ msgstr "Føj til efter-størrelsesændring"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Shader forudindstillinger"
+msgstr "Shader-forudindstillinger"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1663,11 +1713,11 @@ msgstr "Enhed"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr "Eksklusiv-tilstand"
+msgstr "Eksklusiv tilstand"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr "Tillad bitstreaming"
+msgstr "Tillad bitstrømning"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
@@ -1695,7 +1745,7 @@ msgstr "Niveau:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr "Bemærk/Bemærkning"
+msgstr "Bemærkning"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
@@ -1735,7 +1785,7 @@ msgstr "E-mail:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr "Din e-mail-adresse er valgfri og vil kun blive brugt i tilfælde hvor udviklerne har brug for yderligere oplysninger fra dig."
+msgstr "Din e-mailadresse er valgfri og vil kun blive brugt i tilfælde hvor udviklerne har brug for yderligere oplysninger fra dig."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.da.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.da.menus.po
index b2793560d..d6398cb52 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.da.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.da.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jatyrael <cbf_x@hotmail.com>, 2014
# Xebika <fidodkk@gmail.com>, 2015
-# scootergrisen, 2015
+# scootergrisen, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-30 21:10+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-11-24 12:43+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/mpc-hc/mpc-hc/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr "&Filer"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "&Åbn fil hurtigt..."
+msgstr "Åbn fil &hurtigt..."
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
@@ -66,29 +66,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Gem &miniaturer..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Indlæs undertekst..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Gem u&ndertekst..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "U&ndertekst-database"
+msgid "S&ubtitles"
+msgstr "&Undertekster"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Søg..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Indlæs undertekster..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Upload..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Gem &undertekster..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Download..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Download undertekster..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Upload undertekster..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -96,11 +92,11 @@ msgstr "E&genskaber"
msgctxt "ID_FILE_EXIT"
msgid "E&xit"
-msgstr "A&fslut"
+msgstr "&Afslut"
msgctxt "POPUP"
msgid "&View"
-msgstr "&Vis"
+msgstr "V&is"
msgctxt "ID_VIEW_CAPTIONMENU"
msgid "Caption&&Menu"
@@ -108,7 +104,7 @@ msgstr "Titel- og menulinje"
msgctxt "ID_VIEW_SEEKER"
msgid "See&k Bar"
-msgstr "&Søgelinje"
+msgstr "Søgelin&je"
msgctxt "ID_VIEW_CONTROLS"
msgid "&Controls"
@@ -120,7 +116,7 @@ msgstr "&Oplysninger"
msgctxt "ID_VIEW_STATISTICS"
msgid "&Statistics"
-msgstr "&Statistik"
+msgstr "Statisti&k"
msgctxt "ID_VIEW_STATUS"
msgid "St&atus"
@@ -144,7 +140,7 @@ msgstr "Na&vigation"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Fejlfind shadere"
+msgstr "Fejlfind &shadere"
msgctxt "POPUP"
msgid "&Presets..."
@@ -188,7 +184,7 @@ msgstr "Automatisk &tilpasning"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Automatisk tilpasning (&Kun større)"
+msgstr "Automatisk tilpasning (&kun større)"
msgctxt "POPUP"
msgid "R&enderer Settings"
@@ -204,7 +200,7 @@ msgstr "&Vis statistik"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Vis nuværende t&id"
+msgstr "Vis aktuelle t&id"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
@@ -236,11 +232,11 @@ msgstr "D3D fuldskærm &GUI understøttelse"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "10-bit &RGB output"
+msgstr "10-bit &RGB-output"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "Gennemtving 10-bit RGB &input"
+msgstr "Gennemtving 10-bit RGB-&input"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
@@ -256,7 +252,7 @@ msgstr "Deaktivér skrivebordsopbygning (&Aero)"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Aktivér &korrigering af billedtid "
+msgstr "Aktivér &korrigering af billedtid"
msgctxt "POPUP"
msgid "&Color Management"
@@ -268,7 +264,7 @@ msgstr "&Aktivér"
msgctxt "POPUP"
msgid "&Input Type"
-msgstr "&Input type"
+msgstr "&Inputtype"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
@@ -340,11 +336,11 @@ msgstr "A&lternativ lodret synkronisering"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Forskyd lodret synkronisering -"
+msgstr "&Lodret synkronisering -"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "&Forskyd lodret synkronisering +"
+msgstr "&Lodret synkronisering +"
msgctxt "POPUP"
msgid "&GPU Control"
@@ -410,17 +406,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Rør vindue &udefra"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Bevar højde-bredde-forhold"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Tilsidesæt &højde-bredde-forhold"
+msgid "&Aspect Ratio"
+msgstr "&Højde-bredde-forhold"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Standard"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Standard (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,13 +434,17 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "&Formod kvadratiske pixels (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "&Korrigér monitor/skrivebord højde-bredde-forskelle"
+msgstr "&Korrigér monitor/skrivebord h-b-forskelle"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Pa&norering og scanning"
+msgstr "Pa&norering og skanning"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -528,16 +524,32 @@ msgstr "&Afspil"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Afspil/Pause"
+msgstr "&Afspil/pause"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Billed&trin"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Gentag"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Uendeligt"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Fil"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Spilleliste"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Langsommere"
@@ -567,7 +579,7 @@ msgid "Su&btitle Track"
msgstr "&Undertekstspor"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospor"
msgctxt "POPUP"
@@ -668,7 +680,7 @@ msgstr "&Kapitelmenu"
msgctxt "ID_FAVORITES"
msgid "F&avorites"
-msgstr "F&avoritter"
+msgstr "Favori&tter"
msgctxt "POPUP"
msgid "&Help"
@@ -680,15 +692,15 @@ msgstr "&Hjemmeside"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr "Søg efter &opdateringer"
+msgstr "&Søg efter opdateringer"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "&Kommandolinjeparametre"
+msgstr "&Kommandolinjekontakter"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "Hent &værktøjslinjebilleder"
+msgstr "Download &værktøjslinjebilleder"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.da.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.da.strings.po
index 4e69ffb54..c3c35243c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.da.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.da.strings.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Jatyrael <cbf_x@hotmail.com>, 2015
+# Jatyrael <cbf_x@hotmail.com>, 2015-2016
+# Chreddy <chreddy1@gmail.com>, 2016
# Xebika <fidodkk@gmail.com>, 2015
-# scootergrisen, 2015
+# scootergrisen, 2015-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-24 20:31+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-01-14 09:54+0000\n"
+"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/mpc-hc/mpc-hc/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -52,20 +53,28 @@ msgstr "Afspil Musik"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "Afspil lyd CD"
+msgstr "Afspil lyd-CD"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
-msgstr "Afspil DVD film"
+msgstr "Afspil DVD-film"
msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Egenskaber"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fil"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Standardtypografi"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Spilleliste"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Filer"
@@ -116,7 +125,27 @@ msgstr "Typografi"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Hvis renderingsdestinationen er udefineret, vil SSA/ASS-undertekster blive rendereret i forhold til videobilledet, mens alle andre tekst-undertekster vil blive rendereret i forhold til vinduet."
+msgstr "Hvis renderingsdestinationen er udefineret, vil SSA-/ASS-undertekster blive rendereret i forhold til videobilledet, mens alle andre tekst-undertekster vil blive renderet i forhold til vinduet."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Gentagelsestilstand: Spilleliste"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Gentagelsestilstand: Fil"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Gentag uendeligt: Til"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Gentag uendeligt: Fra"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Gentag uendeligt"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -136,7 +165,7 @@ msgstr "Understøttes ikke af alle enheder. To video-dekodere er altid tilstede
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Hurtig, undtagen når der skiftes mellem forskellige video-stream. Der er kun én video-dekoder tilstede i filtergrafen."
+msgstr "Hurtig, undtagen når der skiftes mellem forskellige video-strøm. Der er kun én video-dekoder tilstede i filtergrafen."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -176,7 +205,7 @@ msgstr "Film/Drama"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
-msgstr "Nyheder/Aktuelle begivenheder"
+msgstr "Nyheder/aktuelle begivenheder"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
@@ -204,7 +233,7 @@ msgstr "Undertekst gensynk."
msgctxt "IDS_SUBRESYNC_CLN_TIME"
msgid "Time"
-msgstr "Tid"
+msgstr "Tidspunkt"
msgctxt "IDS_SUBRESYNC_CLN_END"
msgid "End"
@@ -264,7 +293,7 @@ msgstr "Kunne ikke åbne indspilningsenhed."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
-msgstr "Kan ikke åbne, ugyldige input parametre"
+msgstr "Kan ikke åbne, ugyldige input-parametre"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
@@ -276,7 +305,7 @@ msgstr "Den indtastede tid er større end filens varighed."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Ikon-biblioteket \"mpciconlib.dll\" mangler.\nAfspillerens standard-ikon vil blive brugt ved filtilknytninger.\nGeninstaller venligst MPC-HC for at få \"mpciconlib.dll\"."
+msgstr "Ikon-biblioteket \"mpciconlib.dll\" mangler.\nAfspillerens standard-ikon vil blive brugt ved filtilknytninger.\nGeninstallér venligst MPC-HC for at få \"mpciconlib.dll\"."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -412,7 +441,7 @@ msgstr "&Slet"
msgctxt "IDS_SUBRESYNC_DUPLICATE"
msgid "D&uplicate"
-msgstr "D&uplikere"
+msgstr "D&uplikér"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
@@ -476,7 +505,7 @@ msgstr "Diverse"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr "Medieinfo"
+msgstr "Medie info"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -518,18 +547,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -548,11 +569,11 @@ msgstr "Haali Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
-msgstr "Null (anything)"
+msgstr "Null (alt)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Null (uncompressed)"
+msgstr "Null (ukomprimeret)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -582,10 +603,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Afspiller::Webgrænseflade"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Undertekster::Database"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detaljer"
@@ -606,21 +623,13 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Renderer altid i Overlay. Generelt er kun YUV-formater tilladt, men de vises direkte uden konvertering til RGB. Dette er den hurtigste renderingsmetode af alle og den eneste hvor du kan være sikker på fuldskærm videospejlning til TV-out aktivering."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Standard renderer i Windows XP. Meget stabil og kun lidt langsommere end den Overlay mixer. Bruger DirectDraw og køre i Overlay når den kan."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Kun tilgængelig hvis du har DirectX 9 installeret. Har samme muligheder som VMR-7 (windowed), men den vil aldrig bruge Overlay-rendering og kan derfor være en smule langsommere end VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Samme som VMR-7 (windowed), men med allokationspræsentation-plugin'et fra MPC-HC til undertekster. Overlay videospejling VIL IKKE virke. Skrivebord-farverum med \"Ægte farver\" anbefales."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Kun tilgængelig hvis du har DirectX9 installeret. Meget stabil men den vil aldrig bruger Overlay rendering og kan derfor være en smule langsommere end Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Samme som VMR-9 (windowed), men med allokationspræsentation-plugin'et fra MPC-HC til undertekster. Overlay videospejling VIL MÅSKE virke. Skrivebord-farverum med \"Ægte farver\" anbefales. Anbefales til Windows XP."
+msgstr "Samme som VMR-9 (windowed), men med allokationspræsentation-pluginet fra MPC-HC til undertekster. Overlay videospejling vil MÅSKE virke. Skrivebord-farverum med \"Ægte farver\" anbefales. Anbefales til Windows XP."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
@@ -654,25 +663,17 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real's egen renderer. SMIL scripts vil virker, men interaktion vil formodentligt ikke virke. Bruger DirectDraw og køre i Overlay når den kan."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Output fra Real's motor rendereret af den DX7-baseret allokationspræsentation fra VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "Output fra Real's motor rendereret af den DX9-baseret allokationspræsentation fra VMR-9 (renderless)."
+msgstr "Output fra Real's motor renderet af den DX9-baseret allokationspræsentation fra VMR-9 (renderless)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime's egen renderer. Bliver lidt langsom når videoens område ændre størrelse eller delvist dækket af andre vinduer. Den kan godt lide at falde tilbage til GDI når Overlay ikke er tilgængelig."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Output fra QuickTime's motor rendereret af den DX7-baseret allokationspræsentation fra VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "Output fra QuickTime's motor rendereret af den DX9-baseret allokationspræsentation fra VMR-9 (renderless)."
+msgstr "Output fra QuickTime's motor renderet af den DX9-baseret allokationspræsentation fra VMR-9 (renderless)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -728,11 +729,11 @@ msgstr "Den valgte renderer er ikke installeret."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr "Null (anything)"
+msgstr "Null (alt)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Null (uncompressed)"
+msgstr "Null (ukomprimeret)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
@@ -744,15 +745,19 @@ msgstr "Navn"
msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
msgid "MIME Type"
-msgstr "MIME type"
+msgstr "MIME-type"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "For at kunne vise en indlejret ressource i din browser skal du aktivere webgrænsefladen.\n\nBrug \"Gem som\" knappen hvis du kun ønsker at gemme oplysningerne."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Download undertekster"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Download undertekster..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Upload undertekster..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +815,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Reducere iturivning ved at omgå standard lodret synkroniseringen indbygget i D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Tuner skanning"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Undertekster er ikke indlæst eller ikke understøttet renderer."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Gemmer kompilerede shadere i den lokale AppData for at forbedre indlæsningstiden."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Åbn VTS_xx_0.ifo for at indlæse VTS_xx_x.vob filer i ét stykke"
@@ -840,7 +857,7 @@ msgstr "Hvis renderingsdestinationen er udefineret, vil det blive nedarvet fra s
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Deaktiver animation af undertekst. CPU-forbruget vil blive mindre hvis denne indstilling slås til. Du kan bruge den hvis du oplever blinkende undertekster."
+msgstr "Forhindr animation af undertekst. CPU-forbruget vil blive mindre hvis denne indstilling slås til. Du kan bruge den hvis du oplever blinkende undertekster."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
@@ -936,7 +953,7 @@ msgstr "&Vælg shadere..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Fejlfind shadere..."
+msgstr "Fejlfind &shadere..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -944,15 +961,15 @@ msgstr "&Føj til favoritter..."
msgctxt "IDS_FAVORITES_ORGANIZE"
msgid "&Organize Favorites..."
-msgstr "&Håndter favoritter..."
+msgstr "&Håndtér favoritter..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Bland"
+msgid "Sh&uffle"
+msgstr "&Bland"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Åbn filplacering"
+msgid "Ope&n file location"
+msgstr "&Åbn filplacering"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -964,7 +981,7 @@ msgstr "Afspiller"
msgctxt "IDS_CONTROLS_PAUSED"
msgid "Paused"
-msgstr "Pauset"
+msgstr "Sat på pause"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
@@ -976,7 +993,7 @@ msgstr "&Ryd liste"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "Er du sikker på at du vil slette listen over seneste filer?"
+msgstr "Er du sikker på, at du vil slette listen over seneste filer?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
@@ -1035,8 +1052,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom til ultra-widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Skjul i fuldskærm"
+msgid "&Hide on Fullscreen"
+msgstr "&Skjul i fuldskærm"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1088,7 +1105,7 @@ msgstr "Forfatter"
msgctxt "IDS_INFOBAR_COPYRIGHT"
msgid "Copyright"
-msgstr "Copyright"
+msgstr "Ophavsret"
msgctxt "IDS_INFOBAR_RATING"
msgid "Rating"
@@ -1180,15 +1197,15 @@ msgstr "Kan ikke finde funktionsindgangspunkt i %s, pixel shadere vil ikke virke
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr "Shader forudindstilling: %s"
+msgstr "Shader-forudindstilling: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr "Næste shader forudindstilling"
+msgstr "Næste shader-forudindstilling"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr "Forrige shader forudindstilling"
+msgstr "Forrige shader-forudindstilling"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1196,7 +1213,7 @@ msgstr "%s:"
msgctxt "IDS_RECORD_START"
msgid "Record"
-msgstr "Indspil"
+msgstr "Optag"
msgctxt "IDS_RECORD_STOP"
msgid "Stop"
@@ -1223,8 +1240,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Tilføj overordnet mappe"
+msgid "Add containing &folder"
+msgstr "Tilføj indeholdende &mappe"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1352,7 +1369,7 @@ msgstr "Fjern alle"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr "Er du sikker på at du vil fjerne alle kanalerne fra listen?"
+msgstr "Er du sikker på, at du vil fjerne alle kanalerne fra listen?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
@@ -1388,7 +1405,7 @@ msgstr "Efter afspilning: Luk"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "MPC-HC støttet på et problem under initialisering. Med din hjælp, kan vi muligvis rette problemet.\n\nVil du rapporterer det? "
+msgstr "MPC-HC støttet på et problem under initialisering. Med din hjælp, kan vi muligvis rette problemet.\n\nVil du rapporterer det?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
@@ -1404,7 +1421,7 @@ msgstr "Denne indstilling kan bruges til at forhåndsvise mediefiler fra fjern-p
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Intern undertekst renderer"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1426,13 +1443,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Billedet blev gemt"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Indlæs undertekst"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Indlæs undertekster..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Gem undertekst"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Gem undertekster..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1444,7 +1461,7 @@ msgstr "Afslut"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
-msgstr "Afspil/Pause"
+msgstr "Afspil/pause"
msgctxt "IDS_AG_PLAY"
msgid "Play"
@@ -1544,7 +1561,7 @@ msgstr "Korrigering af billedtid: Fra"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Målret forskydning af lodret synkronisering: %.1f"
+msgstr "Ønsket forskydning af lodret synkronisering: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
@@ -1559,7 +1576,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniaturer blev gemt"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospor"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1572,7 +1589,7 @@ msgstr "Nulstil indstillinger"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Er du sikker på at du vil gendanne MPC-HC til sine standardindstillinger?\nBemærk at ALLE dine indstillinger vil gå tabt!"
+msgstr "Er du sikker på, at du vil gendanne MPC-HC til sine standardindstillinger?\nBemærk at ALLE dine indstillinger vil gå tabt!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1795,8 +1812,8 @@ msgid "PnS Dec Height"
msgstr "PnS lavere"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Downloader undertekst(er), vent venligst."
+msgid "Downloading [%s] \"%s\""
+msgstr "Downloader [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1812,7 +1829,7 @@ msgstr "%d tilgængelige undertekst(er)."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Vil du periodisk søge efter opdateringer til MPC-HC?\n\nFunktionen kan deaktiveres senere på siden med Diverse indstillinger."
+msgstr "Vil du periodisk søge efter opdateringer til MPC-HC?\n\nFunktionen kan deaktiveres senere på indstillingssiden Diverse."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1836,11 +1853,11 @@ msgstr "Automatisk tilpasning (kun større)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
-msgstr "Zoom automatisk tilpasning (Kun større)"
+msgstr "Zoom automatisk tilpasning (kun større)"
msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
msgid "Zoom: Auto (Larger Only)"
-msgstr "Zoom: Automatisk (Kun større)"
+msgstr "Zoom: Automatisk (kun større)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
@@ -1960,7 +1977,7 @@ msgstr "DVD menu forlad"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
-msgstr "Chef tast"
+msgstr "Chef-tast"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu"
@@ -2032,7 +2049,7 @@ msgstr "Til/Fra undertekst (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
-msgstr "OSD: Vis nuværende tid"
+msgstr "OSD: Vis aktuelle tid"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
@@ -2058,11 +2075,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Krypteret"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ja"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nej"
@@ -2124,11 +2141,11 @@ msgstr "Vinkel: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
msgid "%s, %s %u Hz %d bits %d %s"
-msgstr "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
-msgstr "Føj til MPC-HC spilleliste"
+msgstr "Føj til spilleliste i MPC-HC"
msgctxt "IDS_OPEN_WITH_MPC"
msgid "Play with MPC-HC"
@@ -2188,7 +2205,7 @@ msgstr "DVD: Inkompatibel disk og dekoder-regioner"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Denne indstilling er designet til at undgå iturivning. Det forhindre dog også MPC-HC i at vise genvejsmenuen og dialogbokse under afspilning.\n\nEr du sikker på at du vil aktivere denne indstilling?"
+msgstr "Denne indstilling er designet til at undgå iturivning. Det forhindre dog også MPC-HC i at vise genvejsmenuen og dialogbokse under afspilning.\n\nEr du sikker på, at du vil aktivere denne indstilling?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2214,14 +2231,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Billedbredde"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL'en ser ud til at være korrekt!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Uoverensstemmelse i protokol-version, opdater venligst din afspiller eller vælg en anden adresse!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Højde-bredde-forhold"
@@ -2296,7 +2305,7 @@ msgstr "Kunne ikke finde videoens billedstørrelse"
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
-msgstr "Ikke mere hukommelse, køb noget mere!"
+msgstr "Ikke mere ledig hukommelse, køb noget mere!"
msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
@@ -2315,20 +2324,20 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Miniaturerne ville blive for små, umuligt at oprette filen.\n\nPrøv at mindske antallet af miniaturer eller øge den samlede størrelse."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "For at indlæse undertekster skal du skifte video-renderer typen og genåbne filen.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR eller Haali\n- RealMedia: Speciel renderer til RealMedia, eller åbn den gennem DirectShow\n- QuickTime: DX7 eller DX9 renderer til QuickTime\n- ShockWave: ikke tilgængelig"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "For at indlæse undertekster skal du skifte video-renderer typen og genåbne filen.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR eller Haali\n- RealMedia: Speciel renderer til RealMedia, eller åbn den gennem DirectShow\n- QuickTime: DX7 eller DX9 renderer til QuickTime\n- ShockWave: ikke tilgængelig"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
-msgstr "Undertekst-filer"
+msgstr "Undertekstfiler"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
msgstr "Højde-bredde-forhold: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Højde-bredde-forhold: Standard"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Højde-bredde-forhold: Standard (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2340,7 +2349,7 @@ msgstr "Kapitel %d"
msgctxt "IDS_AG_OUT_OF_MEMORY"
msgid "Out of memory"
-msgstr "Ikke mere hukommelse"
+msgstr "Ikke mere ledig hukommelse"
msgctxt "IDS_MAINFRM_77"
msgid "Error: Adobe Flash Player for Internet Explorer is required"
@@ -2366,10 +2375,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Kunne ikke rendere filen"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Forkert URL, der blev ikke fundet en database med undertekster!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Kapitel: "
@@ -2444,7 +2449,7 @@ msgstr "Ukendt filtype"
msgctxt "IDS_MAINFRM_92"
msgid "Unsupported stream"
-msgstr "Ikke understøttede stream"
+msgstr "Ikke understøttede strøm"
msgctxt "IDS_MAINFRM_93"
msgid "Cannot find DVD directory"
@@ -2496,7 +2501,7 @@ msgstr " (pin) egenskaber..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
-msgstr "Ukendt stream"
+msgstr "Ukendt strøm"
msgctxt "IDS_AG_UNKNOWN"
msgid "Unknown %u"
@@ -2524,7 +2529,7 @@ msgstr "Vinkel %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Forskyd lodret synkronisering +"
+msgstr "Lodret synkronisering +"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2532,7 +2537,7 @@ msgstr "Deaktiveret"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
-msgstr "Forskyd lodret synkronisering -"
+msgstr "Lodret synkronisering -"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
@@ -2563,12 +2568,12 @@ msgid "Volume boost Max"
msgstr "Lydstyrke forstærk maksimum"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Anvendelse: mpc-hc.exe \"stinavn\" [parametre]\n\n\"stinavn\"\t\tHovedfilen eller mappen der skal indlæses\n\t\t(jokertegn er tilladt, \"-\" vælger standardinput)\n/dub \"dubnavn\"\tIndlæser en ekstra lydfil\n/dubdelay \"fil\"\tIndlæser en ekstra lydfil forskudt med XXms (hvis\n\t\tfilen indeholder \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering i D3D fuldskærm-tilstand\n/sub \"filnavn\"\tIndlæser en ekstra undertekstfil\n/filter \"filternavn\"\tIndlæser DirectShow-filtre fra et dynamisk linket\n\t\tbibliotek (jokertegn er tilladt)\n/dvd\t\tKør i DVD-tilstand, \"stinavn\" betyder\n\t\tDVD-mappen (valgfri)\n/dvdpos T#C\tStart afspilning ved titel T, kapitel C\n/dvdpos T#hh:mm\tStart afspilning ved titel T, tidspunkt hh:mm:ss\n/cd\t\tIndlæs alle spor fra en lyd-CD eller (S)VCD,\n\t\t\"stinavn\" betyder drevstien (valgfri)\n/device\t\tÅbn standard videoenheden\n/open\t\tÅbn filen, start ikke afspilning automatisk\n/play\t\tStart afspilning af filen så snart afspilleren er\n\t\tstartet\n/close\t\tLuk afspilleren når afspilning er slut (virker kun når\n\t\t/play bruges)\n/shutdown\tLuk styresystem når afspilning er slut\n/standby\t\tSæt styresystem i slumre når afspilning er slut\n/hibernate\tSæt styresystem i dvale når afspilning er slut\n/logoff\t\tLog af når afspilning er slut\n/lock\t\tLås arbejdsstation når afspilning er slut\n/monitoroff\tSluk skærmen når afspilning er slut\n/playnext\t\tÅbn næste fil i mappen når afspilning er slut\n/fullscreen\tStart i fuldskærm\n/minimized\tStart minimeret\n/new\t\tÅbn en ny forekomst af afspilleren\n/add\t\tTilføj \"stinavn\" til spilleliste, kan kombineres\n\t\tmed /open og /play\n/randomize\tTilfældig rækkefølge i spilleliste\n/regvid\t\tOpret filtilknytninger til videofiler\n/regaud\t\tOpret filtilknytninger til lydfiler\n/regpl\t\tOpret filtilknytninger til spillelistefiler\n/regall\t\tOpret filtilknytninger til alle understøttede filtyper\n/unregall\t\tFjern alle filtilknytninger\n/start ms\t\tStart afspilning ved \"ms\" (= millisekunder)\n/startpos\t\thh:mm:ss\tStart afspilning ved tidspunkt hh:mm:ss\n/fixedsize w,h\tBrug fast vinduesstørrelse\n/monitor N\tStart afspilning på skærm N, hvor N starter fra 1\n/audiorenderer N\tStart med lyd-rendereren N, hvor N starter fra 1\n\t\t(se \"Output\" indstillinger)\n/shaderpreset \"Pr\"\tStart med \"Pr\" shader forudindstilling\n/pns \"navn\"\tVælg panorering og scanning forudindstilling\n/iconsassoc\tTilknyt format-ikoner igen\n/nofocus\t\tÅbn MPC-HC i baggrunden\n/webport N\tStart webgrænsefladen på den valgte port\n/debug\t\tVis fejlfindingsoplysninger i OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tBrug MPC-HC som slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tGendan standardindstillinger\n/help /h /?\tVis hjælp til kommandolinjeparametre\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Brug: mpc-hc.exe \"stinavn\" [kontakter]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Ukendte parametre i kommandolinje streng: \n\n"
+msgstr "Ukendte kontakt(er) i kommandolinje streng: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
@@ -2612,7 +2617,7 @@ msgstr "Zoom 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
-msgstr "Næste højde-bredde-forudindstilling"
+msgstr "Næste h-b-forudindstilling"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
@@ -2650,14 +2655,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Aktivér alle filtre"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Tuner scanning"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Undertekster er ikke indlæst eller ikke understøttet renderer."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Ukendt forfatter. Kontakt os hvis du har lavet dette logo!"
@@ -2780,7 +2777,7 @@ msgstr "Pixels:"
msgctxt "IDS_TEXTFILE_ENC"
msgid "Encoding:"
-msgstr "Indkodning:"
+msgstr "Kodning:"
msgctxt "IDS_DISABLE_ALL_FILTERS"
msgid "&Disable all filters"
@@ -3088,19 +3085,19 @@ msgstr "Farvehåndtering: Fra"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
-msgstr "Input type: Automatisk"
+msgstr "Inputtype: Automatisk"
msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
msgid "Input Type: HDTV"
-msgstr "Input type: HDTV"
+msgstr "Inputtype: HDTV"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
msgid "Input Type: SDTV NTSC"
-msgstr "Input type: SDTV NTSC"
+msgstr "Inputtype: SDTV NTSC"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
msgid "Input Type: SDTV PAL"
-msgstr "Input type: SDTV PAL"
+msgstr "Inputtype: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
@@ -3200,19 +3197,19 @@ msgstr "D3D fuldskærm GUI understøttelse: Fra"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
-msgstr "10-bit RGB output: Til"
+msgstr "10-bit RGB-output: Til"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
-msgstr "10-bit RGB output: Fra"
+msgstr "10-bit RGB-output: Fra"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
-msgstr "Gennemtving 10-bit RGB input: Til"
+msgstr "Gennemtving 10-bit RGB-input: Til"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
msgid "Force 10-bit RGB Input: Off"
-msgstr "Gennemtving 10-bit RGB input: Fra"
+msgstr "Gennemtving 10-bit RGB-input: Fra"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
@@ -3268,11 +3265,11 @@ msgstr "\nDu bruger allerede den seneste stabile version."
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Din nuværende version er v%s.\n\nDen seneste stabile version er v%s."
+msgstr "Din aktuelle version er v%s.\n\nDen seneste stabile version er v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s er nu tilgængelig. Du bruger v%s.\n\nØnsker du at besøge MPC-HC's hjemmeside for at hente den?"
+msgstr "MPC-HC v%s er nu tilgængelig. Du bruger v%s.\n\nØnsker du at besøge MPC-HC's hjemmeside for at downloade den?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
@@ -3406,10 +3403,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"Gem billede\" og \"Gem miniaturer\" virker ikke med Overlay Mixer video-rendereren.\nVælg en anden video-renderer i MPC's outputindstillinger og åbn filen på ny."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Kan ikke oprette forbindelse til online databasen med undertekster."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Vil du aktivere EDL-editoren?"
@@ -3436,19 +3429,19 @@ msgstr "Kan ikke forbinde %s buffer filteret til grafen."
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr "Kan ikke tilføj %s indkodningsfilteret til grafen."
+msgstr "Kan ikke tilføj %s kodningsfilteret til grafen."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr "Kan ikke forbinde %s indkodningsfilteret til grafen."
+msgstr "Kan ikke forbinde %s kodningsfilteret til grafen."
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
-msgstr "Kan ikke anvende komprimeringsformatet på %s indkodningsfilteret."
+msgstr "Kan ikke anvende komprimeringsformatet på %s kodningsfilteret."
msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
msgid "Can't connect the %s stream to the multiplexer filter."
-msgstr "Kan ikke forbinde %s streamet til multiplekserfilteret."
+msgstr "Kan ikke forbinde %s strømmen til multiplekserfilteret."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
@@ -3468,7 +3461,7 @@ msgstr "Fejl ved initialisering af lyd output-fil."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr "Det korrekte tidsformat er [-]hh:mm:ss.ms (f.eks. 01:23:45.678)."
+msgstr "Det korrekte tidsformat er [-]tt:mm:ss.ms (f.eks. 01:23:45.678)."
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
@@ -3596,9 +3589,377 @@ msgstr "Indstillinger"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
-msgstr ""
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Udbyder"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Hørehæmmet"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Downloads"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Vurdering"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Søgning efter undertekster online mislykkedes."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Søgning efter undertekster online afbrudt."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Søgning efter undertekster online fuldført, %d undertekster fundet."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Søgning efter undertekster online fuldført, ingen undertekster fundet."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Download undertekster"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Søger efter undertekster online, vent venligst..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Søgninger efter undertekster online afbrydes..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Brugernavn"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Klar..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Ikke implementeret."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Uploader..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Undertekster blev uploadet."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Upload af undertekster mislykkedes."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Upload af undertekster afbrudt."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Undertekster findes allerede."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Uploader undertekster, vent venligst..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Upload afsluttet."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Upload afbrudt."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Upload mislykkedes."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Download og åbn"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Opsætning"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Nulstil"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Flyt op"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Flyt ned"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Åbn URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Sprog"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "FEJL: kunne ikke etablerer internetforbindelse."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Indtast loginoplysninger for websted"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Indtast dine loginoplysninger for at oprette forbindelse til: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Højde-bredde-forhold: Formod kvadratiske pixels (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Downloadet [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Upload undertekster"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Er du sikker på, at du vil uploade undertekstfilen \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Henter understøttede sprog..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Kunne ikke logge ind på \"%S\" med brugernavnet \"%S\".\n\nIndtast venligst det korrekte brugernavn og adgangskode eller nulstil loginoplysningerne for at logge ind som en anonym bruger."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatisk søgning og download vil blive deaktiveret for alle mediefiler som indeholder de mønstre som indtastes her.\nSkriv f.eks.: \"privat mappe\\videoer|arbejde\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"stinavn\"\tHovedfilen eller -mappen som skal indlæses\n\t\t(jokertegn tilladt, \"-\" angiver standardinput)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubnavn\"\tIndlæs en yderligere lydfil"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"fil\"\tIndlæs en yderligere lydfil forskudt med XXms\n\t\t(hvis filen indeholder \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tStart rendering i D3D fuldskærm-tilstand"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"undert.navn\"\tIndlæs en yderligere undertekstfil"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filternavn\"\tIndlæs DirectShow-filtre fra et dynamisk link bibliotek (jokertegn tilladt)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tKør i DVD-tilstand, \"stinavn\" betyder DVD-mappen (valgfri)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tStart afspilning ved titel T, kapitel C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tStart afspilning ved titel T, position P (tt:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tIndlæs alle spor fra en lyd-CD eller (S)VCD,\n\t\t\"stinavn\" betyder drevstien (valgfri)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tÅbn standard videoenheden"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tÅbn filen, start ikke afspilning automatisk"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tStart afspilning af filen så snart afspilleren køre"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tLuk afspilleren efter afspilning (virker kun når /play bruges)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tLuk styresystemet efter afspilning"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tSæt styresystemet i standby-tilstand efter afspilning"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tSæt styresystemet i dvale efter afspilning"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tLog af efter afspilning"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tLås arbejdsstation efter afspilning"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tSluk monitoren efter afspilning"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tÅbn næste fil i mappen efter afspilning"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tStart i fuldskærm-tilstand"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tStart i minimeret-tilstand"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tBrug en ny instans af afspilleren"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tTilføj \"stinavn\" til spilleliste. Kan kombineres med /open og /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tGør spillelistens rækkefølge tilfældig"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tOpret filtilknytninger for videofiler"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tOpret filtilknytninger for lydfiler"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tOpret filtilknytninger for spillelistefiler"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tOpret filtilknytninger for alle understøttede filtyper"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tFjern alle filtilknytninger"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tStart afspilning ved \"ms\" (= millisekunder)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos tt:mm:ss\tStart afspilning ved placering tt:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize b,h\tIndstil en fast vinduesstørrelse"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tStart afspiller på monitor N, hvor N starter fra 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tStart med brug af lyd-renderen N, hvor N starter fra 1 (se \"Output\" indstillinger)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Fo\"\tStart brug af \"Fo\" shader-forudindstilling"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"navn\"\tAngiv det Panorering og skanning-forudindstillingsnavn som skal bruges"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tTilknyt format-ikoner igen"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tÅbn MPC-HC i baggrunden"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tStart webgrænseflade på angivet port"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tVis fejlfindingsoplysninger i OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDeaktivér fejlrapporteringen"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tBrug MPC-HC som slave"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"indeks\"\tIndstil indekset af GPU'en brugt til hardware-dekodning.\n\t\tKun tilgængelig for CUVID og DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tGendan standardindstillinger"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tVis hjælp om kommandolinjekontakter"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Grænseværdi for undertekstervurdering som automatisk vil blive downloadet. Højere værdier betyder at mere præcise match vil blive indlæst, lavere værdi kan resulterer i indlæsning af forkerte undertekster, men der er ingen perfekt værdi. Vælg en som virker bedst for dig."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Lydforsinkelse (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Størrelse i pixels af standardværktøjslinjen."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Brug forældet værktøjslinje i stedet for den nye vektoriseret."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
index 67ebd2b03..899861cb1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
@@ -1,18 +1,18 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Gaugg_Markus, 2014
-# Gaugg_Markus, 2014
-# Luan <luanmail@gmx.net>, 2014-2015
+# Gaugg_Markus, 2014,2016
+# Gaugg_Markus, 2014,2016
+# Luan <luanmail@gmx.net>, 2014-2017
# Luan <luanmail@gmx.net>, 2014
# Luan <luanmail@gmx.net>, 2014
# M T <michtrz@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 17:47+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-01-29 09:18+0000\n"
"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/mpc-hc/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "&Aufnahme"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Internen Audio-Switcher aktivieren (Neustart erforderlich)"
+msgstr "Interner Audio-Switcher (Neustart erforderlich)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -111,7 +111,7 @@ msgstr "Audioverzögerung (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Benutzerdefinierte Kanalzuordnung aktivieren"
+msgstr "Benutzerdefinierte Kanalzuordnung"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
@@ -127,7 +127,7 @@ msgstr "Um Änderungen umgehend zu übernehmen, bei der Auswahl bitte \"Shift\"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
-msgstr "Gehe zu"
+msgstr "Springen zu"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
@@ -139,7 +139,7 @@ msgstr "Zeitpunkt:"
msgctxt "IDD_GOTO_DLG_IDC_OK1"
msgid "Go!"
-msgstr "OK"
+msgstr "&Springen"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
@@ -151,7 +151,7 @@ msgstr "Videobild:"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
-msgstr "OK"
+msgstr "S&pringen"
msgctxt "IDD_OPEN_DLG_CAPTION"
msgid "Open"
@@ -194,8 +194,8 @@ msgid "About"
msgstr "Über"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 siehe Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 siehe Authors.txt."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -203,7 +203,7 @@ msgstr "Dieses Programm ist Freeware und steht unter der GNU General Public Lice
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Übersetzung: alexW, Markus Gaugg und Luan"
+msgstr "Übersetzung von Luan und Markus Gaugg."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -311,7 +311,7 @@ msgstr "Prozesspriorität höher als normal"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "Audio-Cover anzeigen"
+msgstr "Coverbild anzeigen"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -411,7 +411,7 @@ msgstr "R"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Playback"
-msgstr "Wiedergabesteuerung"
+msgstr "Wiederholung"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
msgid "Play"
@@ -426,12 +426,16 @@ msgid "time(s)"
msgstr "Mal ab"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Modus:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Nach Wiedergabe"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Fensteransicht"
+msgid "Default zoom"
+msgstr "Standard-Ansicht"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -447,7 +451,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Bevorzugte Sprachspuren"
+msgstr "Bevorzugte Spuren"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -479,7 +483,7 @@ msgstr "Audiodateien automatisch laden"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
-msgstr "Steuerungskontrolle"
+msgstr "Steuerung"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume step:"
@@ -570,7 +574,7 @@ msgid "Warning"
msgstr "Hinweis"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Wird Vollbild-Antialiasing in den Einstellungen der Grafikkarte aktiviert, bleibt die Darstellungsqualität der Untertitel unverändert. Auch kann die CPU-Auslastung deutlich ansteigen."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -583,7 +587,7 @@ msgstr "&Standard"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
msgid "Set"
-msgstr "&Übernehmen"
+msgstr "&Anwenden"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
msgid "Association"
@@ -695,7 +699,7 @@ msgstr "OSD-Schrift:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "LCD-Unterstützung für Logitech-Tastaturen aktivieren (experimentell)"
+msgstr "LCD-Unterstützung für Logitech-Tastaturen (experimentell)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
@@ -703,7 +707,7 @@ msgstr "Mauszeiger bei Wiedergabe im Fenster automatisch ausblenden"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
-msgstr "H&inzufügen..."
+msgstr "&Hinzufügen..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON2"
msgid "Remove"
@@ -723,11 +727,11 @@ msgstr "Priorität setzen:"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
msgid "Up"
-msgstr "&Hoch"
+msgstr "H&öher"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON4"
msgid "Down"
-msgstr "&Runter"
+msgstr "&Tiefer"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
@@ -819,15 +823,15 @@ msgstr "Favoriten verwalten"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
-msgstr "&Umbenennen"
+msgstr "U&mbenennen"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
-msgstr "Nach &oben"
+msgstr "&Höher"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
msgid "Move Down"
-msgstr "Nach &unten"
+msgstr "&Tiefer"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
@@ -851,11 +855,11 @@ msgstr "&Löschen"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
msgid "Up"
-msgstr "&Hoch"
+msgstr "H&öher"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
msgid "Down"
-msgstr "&Runter"
+msgstr "&Tiefer"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
msgid "&Set"
@@ -883,11 +887,11 @@ msgstr "Multimedia-Tasten global abfragen"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
-msgstr "&Alle auswählen"
+msgstr "&Alle markieren"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
-msgstr "&Eintrag zurücksetzen"
+msgstr "Markierte &zurücksetzen"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
@@ -939,7 +943,7 @@ msgstr "JPEG-Qualität:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Thumbnails:"
-msgstr "Miniaturansichten:"
+msgstr "Layout:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "rows"
@@ -951,7 +955,7 @@ msgstr "Spalten"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Image width:"
-msgstr "Bildbreite:"
+msgstr "Breite:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "pixels"
@@ -1126,8 +1130,8 @@ msgid "Audio Renderer"
msgstr "Audio-Renderer"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Einstellungen für VMR-7/VMR-9 (renderless) und EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Einstellungen für VMR-9 (renderless) und EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1189,9 +1193,13 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Untertitel-Renderer"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Shader zwischenspeichern"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
-msgstr "Portnummer verwenden:"
+msgstr "Port überwachen:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
@@ -1199,7 +1207,7 @@ msgstr "Im Browser öffnen..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
-msgstr "Komprimierung aktivieren"
+msgstr "Inhalte komprimieren"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
@@ -1207,7 +1215,7 @@ msgstr "Nur lokalen Zugriff erlauben"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr "Medienvorschau aktivieren"
+msgstr "Medienvorschau"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1234,17 +1242,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI-Handler (.ext1=Pfad1;.ext2=Pfad2;...):"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
+msgid "Download subtitles"
msgstr "Untertitel herunterladen"
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "&Untertitel laden"
-
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Aktuell geladene Untertitel ersetzen"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "&Herunterladen"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "&Aktualisieren"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "&Abbrechen"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "&Optionen..."
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Untertitel hochladen"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "&Hochladen"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "&Abbrechen"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "&Optionen..."
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "&Speichern..."
@@ -1279,7 +1315,7 @@ msgstr "Programm-Update"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "Automatische Update-Prüfung aktivieren"
+msgstr "Automatische Update-Prüfung"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
@@ -1475,7 +1511,7 @@ msgstr "Zusatzfenster ausblenden"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
msgid "Exit fullscreen at the end of playback"
-msgstr "Vollbild bei Beendigung der Wiedergabe verlassen"
+msgstr "Vollbild am Ende der Wiedergabe verlassen"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
@@ -1487,7 +1523,7 @@ msgstr "Anzeigemodus bei Vollbild automatisch wechseln"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
-msgstr "&Hinzufügen"
+msgstr "&Neu"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
@@ -1495,11 +1531,11 @@ msgstr "&Entfernen"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
msgid "Up"
-msgstr "Nach &oben"
+msgstr "H&öher"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON4"
msgid "Down"
-msgstr "Nach &unten"
+msgstr "&Tiefer"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
@@ -1546,16 +1582,28 @@ msgid "Reset"
msgstr "&Standard"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Untertiteldatenbank"
+msgid "Online search, download and upload subtitles"
+msgstr "Online-Untertitel"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Untertitel für untertitellose Mediendateien automatisch herunterladen"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Ausgewiesene Untertitel für Hörgeschädigte bevorzugen"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Teilpfade ausgenommener Mediendateien:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Basis-URL:"
+msgid "Languages in order of preference:"
+msgstr "Auswahl der Untertitelsprachen:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "&Testen"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Wiedergegebene Untertitel automatisch hochladen"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1575,7 +1623,7 @@ msgstr "&Update ignorieren"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Mit den hier aufgeführten Shader-Modulen können verschiedene Effekte in das laufende Bild des Video-Renderers eingebunden werden."
+msgstr "Mit den hier aufgeführten Shadern können verschiedene Effekte in das laufende Bild des Video-Renderers eingebunden werden."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
@@ -1643,7 +1691,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Folgende Werte bitte nur bei genauer Kenntnis der jeweiligen Einstellung anpassen."
+msgstr "Folgende Werte bitte nur bei genauer Kenntnis der jeweiligen Einstellung anpassen:"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1659,7 +1707,7 @@ msgstr "Standard"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr "Audio-Gerät"
+msgstr "Audiogerät"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
@@ -1675,7 +1723,7 @@ msgstr "Weitere Einstellungen"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr "Crossfeed für Kopfhörer aktivieren"
+msgstr "Crossfeed für Kopfhörer"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
@@ -1707,7 +1755,7 @@ msgstr "JPEG-Qualität:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
-msgstr "Hilfe für Befehlszeile"
+msgstr "Kommandozeilenhilfe"
msgctxt "IDD_CMD_LINE_HELP_IDOK"
msgid "OK"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
index cbd822dd0..2aaa400e0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Gaugg_Markus, 2016
+# Gaugg_Markus, 2016
# JellyFrog, 2014
# JellyFrog, 2014
-# Luan <luanmail@gmx.net>, 2014-2015
+# Luan <luanmail@gmx.net>, 2014-2016
# Luan <luanmail@gmx.net>, 2014
# M T <michtrz@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-07-17 23:38+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-12-03 15:27+0000\n"
"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/mpc-hc/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -46,7 +48,7 @@ msgstr "&Verzeichnis öffnen..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
-msgstr "Disc-&Wiedergabe"
+msgstr "Dis&c-Wiedergabe"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
@@ -54,11 +56,11 @@ msgstr "&Zuletzt geöffnete Dateien"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
-msgstr "S&chließen"
+msgstr "&Schließen"
msgctxt "ID_FILE_SAVE_COPY"
msgid "&Save a Copy..."
-msgstr "&Kopie speichern unter..."
+msgstr "&Kopie speichern..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
@@ -66,31 +68,27 @@ msgstr "B&ild speichern..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Miniatur&ansichten speichern..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Untertiteldatei &laden..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Untertiteldatei &speichern..."
+msgstr "Mi&niaturbilder speichern..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Untertiteldatenbank"
+msgid "S&ubtitles"
+msgstr "&Untertitel"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Laden..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Durchsuchen"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Speichern..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Untertitel &hochladen"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "H&erunterladen..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Untertitel h&erunterladen..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "H&ochladen..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -234,7 +232,7 @@ msgstr "&Direct3D-Vollbildmodus"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "&GUI-Unterstützung bei Direct3D-Vollbildmodus"
+msgstr "&GUI bei Direct3D-Vollbildmodus"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
@@ -246,15 +244,15 @@ msgstr "10-Bit-RGB-&Eingabe erzwingen"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Gleitkommaverarbeitung mit &voller Genauigkeit"
+msgstr "&Volle Gleitkommagenauigkeit"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Gleitkommaverarbeitung mit &halber Genauigkeit"
+msgstr "&Halbe Gleitkommagenauigkeit"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
-msgstr "&Windows-Desktopgestaltung (Aero) deaktivieren"
+msgstr "De&sktopgestaltung deaktivieren"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
@@ -262,11 +260,11 @@ msgstr "&Bildzeitkorrektur"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "&Farbmanagement"
+msgstr "&Farbabstimmung"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
-msgstr "&Aktivieren"
+msgstr "&Farbmanagement"
msgctxt "POPUP"
msgid "&Input Type"
@@ -330,7 +328,7 @@ msgstr "&VSync-Kontrolle"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "&VSync-Kontrolle"
+msgstr "&VSync"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
@@ -366,7 +364,7 @@ msgstr "&Auf geleerte GPU warten"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "&Einstellungen"
+msgstr "Vor&einstellungen"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
@@ -412,17 +410,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Fenster von &außen berühren"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Seitenverhältnis &beibehalten"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
+msgid "&Aspect Ratio"
msgstr "&Seitenverhältnis"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Auto"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Standard (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -444,6 +438,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "&Quadratische Pixel (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Anzeige-&Verzerrung korrigieren"
@@ -530,16 +528,32 @@ msgstr "&Wiedergabe"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Wiedergabe/Pause"
+msgstr "Wiedergabe&/Pause"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
msgstr "&Stopp"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Einzel&bild vor"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Wiederholung"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Endlosschleife"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Datei"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Wiedergabeliste"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Tempo v&erringern"
@@ -569,7 +583,7 @@ msgid "Su&btitle Track"
msgstr "Unter&titelspur"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Videos&pur"
msgctxt "POPUP"
@@ -610,7 +624,7 @@ msgstr "&Programm beenden"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
-msgstr "&Energie sparen"
+msgstr "&Standby-Modus"
msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
msgid "&Hibernate"
@@ -626,7 +640,7 @@ msgstr "&Benutzer abmelden"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "Computer &sperren"
+msgstr "Computer s&perren"
msgctxt "POPUP"
msgid "&Navigate"
@@ -642,7 +656,7 @@ msgstr "&Vorwärts"
msgctxt "ID_NAVIGATE_GOTO"
msgid "&Go To..."
-msgstr "&Gehe zu..."
+msgstr "&Springen zu..."
msgctxt "ID_NAVIGATE_TITLEMENU"
msgid "&Title Menu"
@@ -666,7 +680,7 @@ msgstr "&Blickwinkelmenü"
msgctxt "ID_NAVIGATE_CHAPTERMENU"
msgid "&Chapter Menu"
-msgstr "Ka&pitelmenü"
+msgstr "&Kapitelmenü"
msgctxt "ID_FAVORITES"
msgid "F&avorites"
@@ -686,11 +700,11 @@ msgstr "&Auf Update prüfen"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "H&ilfe für Befehlszeile"
+msgstr "&Kommandozeile"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "&Toolbar-Bilder herunterladen"
+msgstr "&Toolbar-Bilder"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
index bf0813e15..c290761da 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Gaugg_Markus, 2014-2015
+# Gaugg_Markus, 2014-2016
# Gaugg_Markus, 2014
-# Luan <luanmail@gmx.net>, 2014-2015
+# Luan <luanmail@gmx.net>, 2014-2016
# Luan <luanmail@gmx.net>, 2014
# Luan <luanmail@gmx.net>, 2014
# M T <michtrz@gmail.com>, 2013-2014
@@ -13,9 +13,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-12-31 22:10+0000\n"
+"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/mpc-hc/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -67,10 +67,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Eigenschaften"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Datei"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Stan&dard-Style"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Wiedergabeliste"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Dateien"
@@ -121,7 +129,27 @@ msgstr "Style anpassen"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Positioniert Untertitel je nach Format automatisch, falls das Render-Ziel nicht vorgegeben ist. Bei SSA/ASS wird die Position relativ zum Videobild, andernfalls relativ zum Videofenster berechnet."
+msgstr "Wird das Renderziel nicht festgelegt, werden SSA/ASS weiter relativ zum Videobild, alle anderen Textformate aber relativ zum Videofenster ausgerichtet."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Wiederholung: Wiedergabeliste"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Wiederholung: Datei"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Wiederholung: Endlosschleife (ein)"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Wiederholung: Endlosschleife (aus)"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Wiederholung: Endlosschleife (ein/aus)"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -433,7 +461,7 @@ msgstr "Untertitelverzögerung (+)"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
-msgstr "Miniaturansichten speichern"
+msgstr "Miniaturbilder speichern"
msgctxt "IDD_PPAGEPLAYBACK"
msgid "Playback"
@@ -509,11 +537,11 @@ msgstr "Neue Version der Icon-Bibliothek"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
-msgstr "Icons wirklich neu zuordnen?"
+msgstr "Icons wirklich erneut zuordnen?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Die Neuzuordnung der Icons behebt Darstellungsfehler, die durch eine Aktualisierung der Icon-Bibliothek verursacht wurden. Dabei bleiben zuvor festgelegte Dateizuordnungen aber unverändert."
+msgstr "Die erneute Zuordnung der Icons behebt Darstellungsfehler, die durch eine Aktualisierung der Icon-Bibliothek verursacht wurden. Dabei bleiben zuvor festgelegte Dateizuordnungen aber unverändert."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
@@ -523,18 +551,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -585,55 +605,43 @@ msgstr "Wiedergabe::Ausgabe"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Programm::Web-Interface"
-
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Untertitel::Datenbank"
+msgstr "Programm::Webinterface"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
-msgstr "Details"
+msgstr "Datei"
msgctxt "IDD_FILEPROPCLIP"
msgid "Clip"
-msgstr "Daten"
+msgstr "Details"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Andere Video-Renderer fallen auf diesen Renderer zurück, wenn sie nicht geladen werden können. Unter Windows XP gleichbedeutend mit dem VMR-7 (windowed)."
+msgstr "Verwendet den Standard-Renderer für DirectShow-Video. Alle anderen Renderer fallen auf diesen Renderer zurück, wenn sie nicht geladen werden können. Entspricht unter Windows XP dem VMR 7 (windowed)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Verwendet je nach Grafikkarte und Sichtbarkeit des Videofensters das GDI, DirectDraw oder den Overlay-Modus. Standard-Renderer von Windows 9x/ME/2000."
+msgstr "Verwendet je nach Eigenschaften der Grafikkarte und Sichtbarkeit des Videofensters das GDI, DirectDraw oder den Overlay-Modus. Entspricht dem Standard-Renderer von Windows 9x/ME/2000."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Rendert im Overlay-Modus. Normalerweise sind nur YUV-Formate erlaubt, diese werden aber ohne Farbumwandlung direkt in RGB dargestellt. Ist die schnellste und zuverlässigste Methode, mit der ein Vollbild über TV-Ausgang gespiegelt ausgegeben werden kann."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Sehr stabil und kaum langsamer als der Overlay Mixer Renderer. Verwendet auch DirectDraw, arbeitet aber nach Möglichkeit im Overlay-Modus. Standard-Renderer von Windows XP."
+msgstr "Rendert im Overlay-Modus. Normalerweise sind nur YUV-Formate erlaubt. Diese werden aber ohne Farbumwandlung direkt in RGB dargestellt. Ist die schnellste und zuverlässigste Methode, um ein gespiegeltes Vollbild über TV-Ausgang auszugeben."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Bietet im Unterschied zum VMR-7 (windowed) keinen Overlay-Modus und kann dadurch etwas langsamer sein. Nur unter DirectX 9 verfügbar."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Bietet im Unterschied zum VMR-7 (windowed) eine Unterstützung für Untertitel. Gespiegelte Darstellung eines Overlay-Videos funktioniert NICHT! Desktop-Farbtiefe sollte auf Echtfarben eingestellt sein."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Arbeitet sehr stabil, bietet aber keinen Overlay-Modus und kann dadurch etwas langsamer sein. Ist nur unter DirectX 9 verfügbar."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Bietet im Unterschied zum VMR-9 (windowed) eine Unterstützung für Untertitel. Gespiegelte Darstellung eines Overlay-Videos KANN funktionieren! Desktop-Farbtiefe sollte auf Echtfarben eingestellt sein."
+msgstr "Bietet im Unterschied zum VMR-9 (windowed) eine Unterstützung für Untertitel. Die gespiegelte Darstellung eines Overlay-Videos KÖNNTE funktionieren. Desktop-Farbtiefe sollte auf Echtfarben eingestellt sein. Wird für Windows XP empfohlen."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Bietet im Unterschied zum VMR-9 einen echten bikubischen Zwei-Pass-Resizer."
+msgstr "Bietet im Unterschied zum VMR-9 (renderless) einen echten bikubischen Zwei-Pass-Resizer."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Verbindet sich mit allen Videotypen, um den eingehenden Stream zu verwerfen. Soll die CPU entlasten, falls keine Videoausgabe benötigt wird."
+msgstr "Verbindet sich mit sämtlichen Videotypen, um die eingehenden Samples zu verwerfen. Kann die CPU entlasten, falls keine Videoausgabe benötigt wird."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
@@ -641,28 +649,24 @@ msgstr "Unterstützt im Unterschied zum Null Video Renderer (anything) nur unkom
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Grundsätzlich unter Windows Vista/7/8 verfügbar. Setzt unter Windows XP die Installation eines .NET Framework 3.5 oder höher voraus."
+msgstr "Ist generell ab Windows Vista verfügbar. Setzt unter Windows XP die Installation des .NET Framework 3.5 oder höher voraus."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Bietet im Unterschied zum EVR eine Unterstützung für Untertitel und Postprocessing. Empfohlene Einstellung für Windows Vista/7/8."
+msgstr "Bietet im Unterschied zum EVR eine Unterstützung für Untertitel und Postprocessing. Wird ab Windows Vista empfohlen."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr "Renderer für höchste Videoqualität. Benötigt eine Grafikkarte, die Direct3D 9 oder höher unterstützt."
+msgstr "Bietet diverse Optionen für eine bessere Bildqualität. Benötigt eine Grafikkarte, die Direct3D 9 sowie Pixel-Shader 3.0 unterstützt."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr "Bietet im Unterschied zum EVR (CP) mehrere Optionen für die Synchronisierung der Videobildrate mit der Bildwiederholfrequenz des Anzeigegeräts, um übersprungene oder duplizierte Videobilder zu entfernen."
+msgstr "Bietet Optionen für die Synchronisierung der Bildrate mit der Bildwiederholfrequenz der Anzeige, um übergangene und duplizierte Videobilder zu vermeiden."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Gibt RealMedia-Video über RealNetworks' eigenen Renderer aus. SMIL-Scripte funktionieren, können aber Probleme bereiten. Verwendet neben DirectDraw nach Möglichkeit den Overlay-Modus."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Gibt RealMedia-Video über den VMR-7 (renderless) aus."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Gibt RealMedia-Video über den VMR-9 (renderless) aus."
@@ -671,17 +675,13 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Gibt QuickTime-Video über Apple's eigenen Renderer aus. Ist bei größenverändertem oder verdecktem Videofenster vergleichsweise langsam. Kann mangels Overlay-Modus auf das GDI zurückzufallen."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Gibt QuickTime-Video über den VMR-7 (renderless) aus."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Gibt QuickTime-Video über den VMR-9 (renderless) aus."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
-msgstr "Die Video-Oberfläche ist eine gleichmäßige Offscreen-Oberfläche."
+msgstr "Stellt die Videooberfläche als gleichmäßige Offscreen-Oberfläche bereit."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
@@ -753,12 +753,16 @@ msgstr "MIME-Typ"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Zur Darstellung eingebetteter Ressourcen bitte das Web-Interface aktivieren. Um nur die Informationen zu speichern, bitte den Button \"Speichern unter\" verwenden."
+msgstr "Zur Darstellung eingebetteter Ressourcen bitte das Webinterface aktivieren. Um nur die Informationen zu speichern, bitte den Button \"Speichern unter\" verwenden."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
msgstr "Untertitel herunterladen"
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Untertitel hochladen"
+
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
msgstr "Verzögerung (ms):"
@@ -789,11 +793,11 @@ msgstr "Kann Archiv-Volumen nicht finden"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Die Video-Oberfläche ist eine Textur-Oberfläche. 2D-Funktionen werden aber noch genutzt, um das Bild in den Hintergrundpuffer zu kopieren und zu strecken. Benötigt eine Grafikkarte, die 32-Bit, RGBA und Nicht-Zweierpotenztexturen in Auflösung des Videos oder höher unterstützt."
+msgstr "Stellt die Videooberfläche als Textur bereit. Dennoch werden 2D-Funktionen genutzt, um das Bild in den Hintergrundpuffer zu kopieren und zu strecken. Benötigt eine Grafikkarte, die 32-Bit, RGBA und Nicht-Zweierpotenztexturen in Auflösung des Videos oder höher unterstützt."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "Die Video-Oberfläche ist eine Textur-Oberfläche und wird als zwei Dreiecke in 3D gezeichnet. Ein in den Anzeige-Einstellungen aktiviertes Antialiasing kann die Rendergeschwindigkeit herabsetzen."
+msgstr "Stellt die Videooberfläche als Textur bereit, die mittels paarweiser Dreiecke in 3D gezeichnet wird. Ein in den Anzeige-Einstellungen aktiviertes Antialiasing kann die Rendergeschwindigkeit herabsetzen."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
@@ -809,15 +813,27 @@ msgstr "Verbessert die Leistung auf Kosten der Kompatibilität einiger Renderer.
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr "Reduziert Tearing-Effekte. Allerdings werden dabei keine Steuerelemente angezeigt."
+msgstr "Reduziert Tearing-Effekte. Dabei werden Kontextmenüs und Dialoge jedoch nicht angezeigt."
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Reduziert Tearing-Effekte unter Umgehung des von Direct3D verwendeten VSync."
+msgstr "Reduziert Tearing-Effekte unter Umgehung der von Direct3D verwendeten vertikalen Synchronisation."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Frequenzbereich scannen"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Kann Untertitel nicht laden oder mit Renderer darstellen"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Verkürzt die Ladezeit bereits kompilierter Shader."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
-msgstr "Öffnet eine VTS-Informationsdatei, um die zugehörigen Videodateien zu laden."
+msgstr "Liest VTSI-Dateien, um das zugehörige Video zu laden."
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
@@ -829,7 +845,7 @@ msgstr "Verwendet die internen LAV Filters."
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Verwendet die internen LAV Filters. Ist mit den Standard-Einstellungen\ndeaktiviert, da die Microsoft-eigenen Filter hier meist stabiler arbeiten.\nQuellen-Filter und Decoder-Filter dieser Formate sollten für bessere\nWiedergabe nicht unabhängig voneinander verwendet werden."
+msgstr "Verwendet die internen LAV Filters. Sollte deaktiviert\nbleiben, da Windows-eigene Filter hier meist stabiler\narbeiten. Sonst die internen LAV Filters möglichst für\nQuelle und Decoding aktivieren."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -841,15 +857,15 @@ msgstr "Genauer VSync (ein/aus)"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Übernimmt die Einstellung des Standard-Styles, falls das Render-Ziel nicht vorgegeben ist."
+msgstr "Übernimmt die Einstellung des Standard-Styles, falls das Renderziel nicht festgelegt ist."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Unterbindet die Untertitelanimation und reduziert somit die CPU-Auslastung. Kann bei flimmernden Untertiteln verwendet werden."
+msgstr "Unterbindet animierte Untertitel und reduziert somit die CPU-Auslastung. Hilft bei aufblitzenden Untertiteln."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Wird die Bilderanzahl im Puffer erhöht, wächst in der Regel auch die Renderer-Leistung. Dabei steigt die Speicherauslastung der Grafikkarte entspechend an."
+msgstr "Wird die Anzahl der gepufferten Untertitelbilder erhöht, wächst meist auch die Renderleistung. Dabei steigt die Speicherauslastung der Grafikkarte entsprechend an."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -857,7 +873,7 @@ msgstr "Zeigt nach Betätigung die aktuelle Dateizuordnung an. Dabei sind Eintr
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Deaktiviert werden flimmernde Untertitel zwar wirksam vermieden, dafür überspringt der Video-Renderer aber gegebenenfalls einzelne Videobilder."
+msgstr "Vermeidet deaktiviert zwar blinkende Untertitel, dafür überspringt der Video-Renderer aber eventuell einige Videobilder."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -952,11 +968,11 @@ msgid "&Organize Favorites..."
msgstr "Favoriten &verwalten..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "&Zufallswiedergabe"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "&Dateiordner öffnen"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -997,11 +1013,11 @@ msgstr "EDL-Fenster (ein/aus)"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
-msgstr "EDL-Anfang setzen"
+msgstr "EDL-Anfang festlegen"
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL-Ende setzen"
+msgstr "EDL-Ende festlegen"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
@@ -1040,7 +1056,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom für Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "&Bei Vollbild ausblenden"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1077,7 +1093,7 @@ msgstr "&Erneut laden"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
-msgstr "&Aktivieren"
+msgstr "&Anzeigen"
msgctxt "IDS_PANSCAN_EDIT"
msgid "&Edit..."
@@ -1137,7 +1153,7 @@ msgstr "Anwendungsbefehl"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
-msgstr "Mediendateien (alle Formate)"
+msgstr "Alle Medienformate"
msgctxt "IDS_AG_ALLFILES"
msgid "All files (*.*)|*.*|"
@@ -1145,7 +1161,7 @@ msgstr "Alle Dateien (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "Audiodateien (Alle Formate)"
+msgstr "Alle Audioformate"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1173,7 +1189,7 @@ msgstr "Kann Shader für Pre-Resize und Post-Resize nicht einrichten"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr "Shader werden bei Änderung zugehöriger Dateien automatisch neu kompiliert."
+msgstr "Shader werden bei Änderung der zugehörigen Dateien neu kompiliert."
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
@@ -1228,7 +1244,7 @@ msgid "+%d%%"
msgstr "+%d %%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "&Ordnerdateien hinzufügen"
msgctxt "IDS_HW_INDICATOR"
@@ -1237,7 +1253,7 @@ msgstr "[H/W]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr "Software Decoding"
+msgstr "Software-Decoding"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
@@ -1285,11 +1301,11 @@ msgstr "Bestimmt die Maximalanzahl gespeicherter Einträge der zuletzt geöffnet
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr "Beschränkt das Merken der Datei-Wiedergabeposition auf Dateien mit einer Laufzeit länger als N Minuten."
+msgstr "Beschränkt gemerkte Datei-Wiedergabepositionen auf Dateien mit einer Laufzeit länger als N Minuten."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr "Sieht das Merken der Datei-Wiedergabeposition auch für Audiodateien vor."
+msgstr "Sieht gemerkte Datei-Wiedergabepositionen auch für Audiodateien vor."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
@@ -1317,7 +1333,7 @@ msgstr "Bildschirm ausschalten"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
-msgstr "JPEG-Bild"
+msgstr "JPEG"
msgctxt "IDS_IMAGE_QUALITY"
msgid "Quality (%):"
@@ -1325,11 +1341,11 @@ msgstr "Qualität (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Beschränkt die Anzeige des Audio-Covers auf NxN Pixel."
+msgstr "Beschränkt die Coverbild-Anzeige im Nur-Audio-Modus auf NxN Pixel."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "Bestimmt die Schrittweite der Untertitelverzögerung bei Druck der Tasten %s und %s. Kleinere Werte erlauben zwar eine feinere Abstimmung, erschweren aber die Einstellung größerer Verzögerungen."
+msgstr "Bestimmt die Schrittweite der Untertitelverzögerung bei Druck der Tasten %s/%s."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
@@ -1393,7 +1409,7 @@ msgstr "Nach Wiedergabe: Medien schließen"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "Ein Initialisierungsfehler ist aufgetreten. Das geladene Videobild ist ungültig.\n\nDiesen Fehler jetzt melden?"
+msgstr "Initialisierungsfehler aufgetreten. Das geladene Videobild ist ungültig.\n\nDiesen Fehler jetzt melden?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
@@ -1401,11 +1417,11 @@ msgstr "Positive Werte erlauben eine spätere, negative Werte eine frühere Audi
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr "Medienvorschau nicht verfügbar, kann aber aktiviert werden"
+msgstr "Medienvorschau aktuell deaktiviert"
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr "Mit dieser Option kann die Vorschau einer Mediendatei von einem Remote-Standort aus eingesehen werden. Deshalb bitte nur in einem gut gesicherten privaten Netzwerk verwenden.\n\nMedienvorschau wirklich aktivieren?"
+msgstr "Mit dieser Option können Mediendateien von anderen Orten aus eingesehen werden. Deshalb bitte nur in gut gesicherten privaten Netzwerken verwenden.\n\nMedienvorschau wirklich aktivieren?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
@@ -1431,13 +1447,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Bild gespeichert"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Untertiteldatei laden"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Untertitel laden"
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Untertiteldatei speichern"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Untertitel speichern"
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1509,7 +1525,7 @@ msgstr "Datei löschen"
msgctxt "IDS_AG_SAVE_COPY"
msgid "Save a Copy"
-msgstr "Kopie speichern unter"
+msgstr "Kopie speichern"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
@@ -1521,7 +1537,7 @@ msgstr "Mit näherem Keyframe"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "Ein Initialisierungsfehler ist aufgetreten. Möglicherweise arbeitet die DVD-Wiedergabe nicht korrekt. Dies kann ein Hinweis auf Inkompatibilität mit bestimmten Sicherheitsprogrammen sein.\n\nDiesen Fehler jetzt melden?"
+msgstr "Initialisierungsfehler aufgetreten. Möglicherweise arbeitet die DVD-Wiedergabe nicht korrekt. Dies kann ein Hinweis auf Inkompatibilität mit bestimmten Sicherheitsprogrammen sein.\n\nDiesen Fehler jetzt melden?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1561,10 +1577,10 @@ msgstr "Tempo: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
-msgstr "Miniaturansichten gespeichert"
+msgstr "Miniaturbilder gespeichert"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Videos&pur"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1577,7 +1593,7 @@ msgstr "Programm-Einstellungen zurücksetzen"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Alle aktuellen Einstellungen gehen verloren!\n\nProgramm-Einstellungen wirklich vollständig zurücksetzen?"
+msgstr "Alle aktuellen Einstellungen gehen verloren!\n\nProgramm-Einstellungen wirklich zurücksetzen?"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1589,7 +1605,7 @@ msgstr "Programm-Einstellungen exportieren"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Nicht übernommene Einstellungen zuvor speichern?"
+msgstr "Nicht übernommene Einstellungen speichern?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
@@ -1800,8 +1816,8 @@ msgid "PnS Dec Height"
msgstr "Pan&Scan: Höhe verringern"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Lade Untertitel herunter..."
+msgid "Downloading [%s] \"%s\""
+msgstr "Lade [%s] \"%s\" herunter..."
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1861,7 +1877,7 @@ msgstr "Ungültige Eingabe"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
-msgstr "Bitte nur die Zahlen 1-365 verwenden."
+msgstr "Bitte nur Zahlen zwischen 1 und 365 eingeben."
msgctxt "IDS_AG_PNS_CENTER"
msgid "PnS Center"
@@ -2001,7 +2017,7 @@ msgstr "Untertitelspur zurück"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Untertitel (ein/aus)"
+msgstr "Untertitelspur anzeigen (ein/aus)"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
@@ -2033,7 +2049,7 @@ msgstr "DVD: Untertitelspur zurück"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "DVD: Untertitel (ein/aus)"
+msgstr "DVD: Untertitelspur anzeigen (ein/aus)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
@@ -2063,11 +2079,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Verschlüsselung"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ja"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nein"
@@ -2193,7 +2209,7 @@ msgstr "DVD: Regionalcode-Konflikt zwischen Disc und Decoder"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Mit dieser Option können störende Tearing-Effekte während der Videowiedergabe vermieden werden. Allerdings werden dabei keine Dialogboxen und Menüs angezeigt.\n\nDirect3D-Vollbildmodus aktivieren?"
+msgstr "Mit dieser Option können unerwünschte Tearing-Effekte bei Vollbild vermieden werden. Dabei werden Kontextmenüs und Dialoge jedoch nicht angezeigt.\n\nDirect3D-Vollbildmodus wirklich aktivieren?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2217,15 +2233,7 @@ msgstr "Spalten:"
msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
-msgstr "Bildbreite"
-
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Die angegebene URL ist gültig."
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protokollversionen stimmen nicht überein. Nach Möglichkeit bitte eine neuere Programmversion oder eine alternative Adresse verwenden."
+msgstr "Breite"
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
@@ -2261,7 +2269,7 @@ msgstr "Fehler"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
-msgstr "Untertitel: Aus"
+msgstr "Untertitelspur anzeigen: Aus"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
@@ -2281,11 +2289,11 @@ msgstr "Alle Dateien (*.*)|*.*||"
msgctxt "IDS_GETDIB_FAILED"
msgid "GetDIB failed, hr = %08x"
-msgstr "GetDIB ist fehlgeschlagen, hr = %08x."
+msgstr "GetDIB fehlgeschlagen, hr = %08x."
msgctxt "IDS_GETCURRENTIMAGE_FAILED"
msgid "GetCurrentImage failed, hr = %08x"
-msgstr "GetCurrentImage ist fehlgeschlagen, hr = %08x."
+msgstr "GetCurrentImage fehlgeschlagen, hr = %08x."
msgctxt "IDS_SCREENSHOT_ERROR"
msgid "Cannot create file"
@@ -2293,7 +2301,7 @@ msgstr "Datei konnte nicht erstellt werden."
msgctxt "IDS_THUMBNAILS_NO_DURATION"
msgid "Cannot create thumbnails for files with no duration"
-msgstr "Das vorgegebene Bildformat ist ungültig. Miniaturansichten können für Dateien ohne Laufzeit nicht erstellt werden."
+msgstr "Miniaturbilder können für Dateien ohne Laufzeit nicht erstellt werden."
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
@@ -2301,11 +2309,11 @@ msgstr "Videobildgröße konnte nicht erkannt werden."
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
-msgstr "Zu wenig Arbeitsspeicher verfügbar."
+msgstr "Speicher erschöpft!"
msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
-msgstr "Das vorgegebene Bildformat ist ungültig. Miniaturansichten können aus geräteunabhängigem Bitmap mit %d bpp nicht erstellt werden."
+msgstr "Das vorgegebene Bildformat ist ungültig. Miniaturbilder können aus geräteunabhängigem Bitmap mit %d bpp nicht erstellt werden."
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
@@ -2317,10 +2325,10 @@ msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Dateiname: %s\\N%sAuflösung
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr "Das vorgegebene Bildformat ist ungültig. Miniaturansichten können in dieser geringen Größe nicht erstellt werden. Bitte die Anzahl der Miniaturansichten verringern oder deren Gesamtgröße erhöhen."
+msgstr "Die Miniaturbilder wären zu klein. Bitte die angegebene Breite erhöhen oder deren Anzahl durch Korrektur des Layouts verringern."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr "Untertitel konnten nicht geladen werden. Bitte einen geeigneten Video-Renderer wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2332,8 +2340,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Seitenverhältnis: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Seitenverhältnis: Auto"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Seitenverhältnis: Standard (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2345,7 +2353,7 @@ msgstr "Kapitel %d"
msgctxt "IDS_AG_OUT_OF_MEMORY"
msgid "Out of memory"
-msgstr "Zu wenig Arbeitsspeicher verfügbar"
+msgstr "Speicher erschöpft"
msgctxt "IDS_MAINFRM_77"
msgid "Error: Adobe Flash Player for Internet Explorer is required"
@@ -2369,11 +2377,7 @@ msgstr "Abbruch"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Kann Datei nicht verarbeiten"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Die angegebene URL ist ungültig. Die Verbindung zur Untertiteldatenbank konnte nicht hergestellt werden."
+msgstr "Kann Datei nicht rendern"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2433,7 +2437,7 @@ msgstr "Kann keine Quellen-Filter laden"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
-msgstr "Kann Datei nicht verarbeiten"
+msgstr "Kann Datei nicht rendern"
msgctxt "IDS_MAINFRM_89"
msgid "Invalid file format"
@@ -2469,7 +2473,7 @@ msgstr "Kann Videoaufnahme-Filter nicht erstellen"
msgctxt "IDS_MAINFRM_98"
msgid "No capture filters"
-msgstr "Kann keine Aufnahme-Filter laden"
+msgstr "Kann keinen Aufnahme-Filter finden"
msgctxt "IDS_MAINFRM_99"
msgid "Can't create capture graph builder object"
@@ -2477,7 +2481,7 @@ msgstr "Kann Aufnahmegraph-Builder-Objekt nicht erstellen"
msgctxt "IDS_MAINFRM_108"
msgid "Couldn't open any device"
-msgstr "Kann Gerät nicht öffnen"
+msgstr "Kann kein Gerät öffnen"
msgctxt "IDS_AG_SOUND"
msgid "Sound"
@@ -2521,7 +2525,7 @@ msgstr " (Regie-Kommentar 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "DVD-Untertitel"
+msgstr "&Anzeigen"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2568,12 +2572,12 @@ msgid "Volume boost Max"
msgstr "Tonverstärkung: +300 % (max)"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Aufruf: mpc-hc.exe \"Pfadname\" [Optionen]\n\n\"Pfadname\"\tGibt Mediendatei oder Verzeichnis an\n\t\t(Wildcards sind möglich, Standardeingabe kann\n\t\tals \"-\" angegeben werden).\n/dub \"Datei\"\tÖffnet zusätzliche Audiodatei.\n/dubdelay \"Datei\"\tÖffnet zusätzliche Audiodatei, deren Wiedergabe\n\t\tum X ms versetzt wird (Dateiname muss\n\t\t\"DELAY Xms\" enthalten).\n/d3dfs\t\tStartet Player im Direct3D-Vollbildmodus.\n/sub \"Datei\"\tÖffnet zusätzliche Untertiteldatei.\n/filter \"F\"\t\tLädt DirectShow-Filter \"F\" aus Laufzeitbibliothek\n\t\t(Wildcards sind möglich).\n/dvd\t\tStartet Player im DVD-Modus (DVD-Verzeichnis\n\t\tkann als \"Pfadname\" angegeben werden).\n/dvdpos T#C\tStartet DVD-Wiedergabe bei Titel T, Kapitel C.\n/dvdpos T#P\tStartet DVD-Wiedergabe bei Titel T, Position P\n\t\t(hh:mm:ss).\n/cd\t\tÖffnet Audio-CD oder (S)VCD (Laufwerk kann\n\t\tals \"Pfadname\" angegeben werden).\n/device\t\tÖffnet Gerät.\n/open\t\tÖffnet Mediendatei und pausiert Wiedergabe.\n/play\t\tÖffnet Mediendatei und startet Wiedergabe.\n/close\t\tBeendet Player (nach Wiedergabe) (in\n\t\tKombination mit \"/play\").\n/shutdown\tFährt Computer herunter (nach Wiedergabe).\n/standby\t\tSpart Energie (nach Wiedergabe).\n/hibernate\tWechselt in Ruhezustand (nach Wiedergabe).\n/logoff\t\tMeldet Benutzer ab (nach Wiedergabe).\n/lock\t\tSperrt Computer (nach Wiedergabe).\n/monitoroff\tSchaltet Bildschirm aus (nach Wiedergabe).\n/playnext\t\tÖffnet nächste Ordnerdatei (nach Wiedergabe).\n/fullscreen\tStartet Player im Vollbild.\n/minimized\tStartet Player minimiert.\n/new\t\tÖffnet Mediendatei mit neuem Player.\n/add\t\tFügt \"Pfadname\" zur Wiedergabeliste hinzu\n\t\t(in Kombination mit \"/open\" oder \"/play\").\n/randomize\tSortiert Wiedergabeliste nach Zufall.\n/regvid\t\tRegistriert alle Videoformate.\n/regaud\t\tRegistriert alle Audioformate.\n/regpl\t\tRegistriert alle Wiedergabelisten.\n/regall\t\tRegistriert alle Medienformate.\n/unregall\t\tDeregistriert alle Medienformate.\n/start X\t\tStartet Wiedergabe bei X ms.\n/startpos P\tStartet Wiedergabe bei Position P (hh:mm:ss).\n/fixedsize W,H\tFixiert Fenstergröße bei Breite W und Höhe H.\n/monitor N\tStartet Player auf Monitor N (wobei N > 0).\n/audiorenderer N\tLädt Audio-Renderer N (wobei N > 0, siehe\n\t\tAusgabe-Optionen).\n/shaderpreset \"P\"\tLädt Shader-Profil \"P\".\n/pns \"P\"\t\tLädt Pan&Scan-Profil \"P\".\n/iconsassoc\tOrdnet Format-Icons neu zu.\n/nofocus\t\tStartet Player im Hintergrund.\n/webport N\tStartet Web-Interface mit Portnummer N.\n/debug\t\tZeigt Debug-Information im OSD an.\n/nocrashreporter\tDeaktiviert Fehlerberichterstattung.\n/slave \"T\"\t\tÖffnet Mediendatei mit gestartetem Player,\n\t\tversehen mit Fenstertitel \"T\".\n/hwgpu \"I\"\tVerwendet GPU-Index \"I\" für Hardware-Decoding,\n\t\tnur für CUVID und DXVA2 (copy-back) verfügbar\n/reset\t\tSetzt alle Programm-Einstellungen zurück.\n/help /h /?\tZeigt diese Hilfe an.\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Aufruf: mpc-hc.exe \"Pfadname\" [Parameter]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Unbekannte Option in der Befehlszeile:\n"
+msgstr "Unbekannter Parameter in der Kommandozeile:\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
@@ -2655,29 +2659,21 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "Alle Filter aktivieren"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Frequenzbereich scannen"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Kann Untertitel nicht laden oder mit Renderer darstellen"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
-msgstr "Autor unbekannt. Als Verfasser bitte melden!"
+msgstr "Urheber unbekannt. Als der Autor bitte melden!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "Keine weitere Ordnerdatei verfügbar"
+msgstr "Ende des Ordners erreicht"
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
-msgstr "Erste Ordnerdatei bereits erreicht"
+msgstr "Erste Ordnerdatei erreicht"
msgctxt "IDS_LAST_IN_FOLDER"
msgid "The last file of the folder is already loaded."
-msgstr "Letzte Ordnerdatei bereits erreicht"
+msgstr "Letzte Ordnerdatei erreicht"
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
@@ -2777,7 +2773,7 @@ msgstr "Abbrechen"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr "Miniaturansichten"
+msgstr "Layout"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
@@ -3173,11 +3169,11 @@ msgstr "Direct3D-Vollbildmodus: Aus"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
-msgstr "Windows-Desktopgestaltung deaktivieren: Ein"
+msgstr "Desktopgestaltung deaktivieren: Ein"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr "Windows-Desktopgestaltung deaktivieren: Aus"
+msgstr "Desktopgestaltung deaktivieren: Aus"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
@@ -3189,19 +3185,19 @@ msgstr "Alternativer VSync: Aus"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Standard-Einstellungen für Video-Renderer geladen"
+msgstr "Video-Renderer: Standard-Einstellungen"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Optimierte Einstellungen für Video-Renderer geladen"
+msgstr "Video-Renderer: Optimierte Einstellungen"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr "GUI-Unterstützung für Direct3D-Vollbildmodus: Ein"
+msgstr "GUI bei Direct3D-Vollbildmodus: Ein"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
-msgstr "GUI-Unterstützung für Direct3D-Vollbildmodus: Aus"
+msgstr "GUI bei Direct3D-Vollbildmodus: Aus"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
@@ -3221,19 +3217,19 @@ msgstr "10-Bit-RGB-Eingabe erzwingen: Aus"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr "Gleitkommaverarbeitung mit voller Genauigkeit: Ein"
+msgstr "Volle Gleitkommagenauigkeit: Ein"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
-msgstr "Gleitkommaverarbeitung mit voller Genauigkeit: Aus"
+msgstr "Volle Gleitkommagenauigkeit: Aus"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr "Gleitkommaverarbeitung mit halber Genauigkeit: Ein"
+msgstr "Halbe Gleitkommagenauigkeit: Ein"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
-msgstr "Gleitkommaverarbeitung mit halber Genauigkeit: Aus"
+msgstr "Halbe Gleitkommagenauigkeit: Aus"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
@@ -3277,11 +3273,11 @@ msgstr "Vorliegende Version:\t%s\n\nAktuelle stabile Version:\t%s"
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "Der MPC-HC %s ist verfügbar. Zurzeit wird noch Version %s verwendet.\n\nAktuelle Version jetzt herunterladen?"
+msgstr "MPC-HC %s verfügbar. Zurzeit wird noch die Version %s verwendet.\n\nAktuelle Version jetzt herunterladen?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Update-Server ist nicht erreichbar. Bitte die Internetverbindung prüfen oder später erneut versuchen."
+msgstr "Update-Server nicht erreichbar.\n\nBitte die Internetverbindung prüfen oder später erneut versuchen."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3393,27 +3389,23 @@ msgstr "Die angegebene Bildrate ist ungültig."
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr "Einzelbildschaltung ist nicht möglich. Bitte einen geeigneten Video-Renderer wählen und die Mediendatei erneut öffnen."
+msgstr "Einzelbildschaltung nicht möglich. Bitte einen geeigneten Video-Renderer wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von RealMedia nicht verwendet werden. Für RealMedia-Video bitte einen VMR-Renderer wählen und die Mediendatei erneut öffnen."
+msgstr "Einzelbilder können mit dem Standard-Renderer für RealMedia nicht erstellt werden. In den Ausgabe-Optionen bitte einen VMR-Renderer wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von QuickTime nicht verwendet werden. Für QuickTime-Video bitte einen VMR-Renderer wählen und die Mediendatei erneut öffnen."
+msgstr "Einzelbilder können mit dem Standard-Renderer für QuickTime nicht erstellt werden. In den Ausgabe-Optionen bitte einen VMR-Renderer wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit Shockwave-Dateien generell nicht verwendet werden."
+msgstr "Einzelbilder können mit Shockwave-Dateien nicht erstellt werden."
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Overlay-Mixer nicht verwendet werden. Bitte einen geeigneten Video-Renderer wählen und die Mediendatei erneut öffnen."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Kann Untertiteldatenbank nicht finden"
+msgstr "Einzelbilder können mit dem Overlay Mixer Renderer nicht erstellt werden. In den Ausgabe-Optionen bitte einen geeigneten Video-Renderer wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
@@ -3421,15 +3413,15 @@ msgstr "EDL-Editor aktivieren?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
-msgstr "Ein Aufnahmefehler ist aufgetreten."
+msgstr "Aufnahmefehler aufgetreten."
msgctxt "IDS_CAPTURE_ERROR_VIDEO"
msgid "video"
-msgstr "Ein Videofehler ist aufgetreten."
+msgstr "Videofehler aufgetreten."
msgctxt "IDS_CAPTURE_ERROR_AUDIO"
msgid "audio"
-msgstr "Ein Audiofehler ist aufgetreten."
+msgstr "Audiofehler aufgetreten."
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
@@ -3457,11 +3449,11 @@ msgstr "Kann Stream %s mit Multiplexer-Filter nicht verbinden"
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr "Kann keine Videoaufnahme-Pins rendern"
+msgstr "Kann keinen Videoaufnahme-Pin finden"
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "Kann keine Audioaufnahme-Pins rendern"
+msgstr "Kann keinen Audioaufnahme-Pin finden"
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
@@ -3469,7 +3461,7 @@ msgstr "Ausgabedatei konnte nicht initialisiert werden."
msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
msgid "Error initializing the audio output file."
-msgstr "Audio-Ausgabedatei konnte nicht initialisiert werden."
+msgstr "Audioausgabedatei konnte nicht initialisiert werden."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
@@ -3481,7 +3473,7 @@ msgstr "Der gewählte Typ wird bereits verwendet."
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr "Bitte nicht gespeicherte Einstellungen zuvor übernehmen."
+msgstr "Bitte nicht gespeicherte Einstellungen vor ihrem Test übernehmen."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
@@ -3489,7 +3481,7 @@ msgstr "Nach Wiedergabe: Programm beenden"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Nach Wiedergabe: Energie sparen"
+msgstr "Nach Wiedergabe: Standby-Modus"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
@@ -3537,7 +3529,7 @@ msgstr "Sättigung: %s"
msgctxt "IDS_OSD_RESET_COLOR"
msgid "Color settings restored"
-msgstr "Standard-Einstellungen für Farbsteuerung geladen"
+msgstr "Farbsteuerung: Standard-Einstellungen"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
@@ -3549,11 +3541,11 @@ msgstr "Farbsteuerung: Helligkeit erhöhen"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Erlaubt die Angabe mehrerer bevorzugter Sprachspuren einer Mediendatei nach dem Muster \"ger eng swe\"."
+msgstr "Erlaubt eine automatische Sprachauswahl nach Priorität durch bspw. \"ger eng swe\"."
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Übergeht die Auswahl der Sprachspur externer Splitter und verwendet die programmeigenen Vorgaben."
+msgstr "Übergeht die Sprachauswahl externer Splitter und verwendet die programmeigenen Vorgaben."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3565,7 +3557,7 @@ msgstr "&Wiedergabeliste"
msgctxt "IDS_NAVIGATE_CHAPTERS"
msgid "&Chapters"
-msgstr "&Kapitel"
+msgstr "Ka&pitel"
msgctxt "IDS_NAVIGATE_TITLES"
msgid "&Titles"
@@ -3607,3 +3599,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Anbieter"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Für Hörgeschädigte"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Downloads"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Bewertung"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Online-Untertitel-Suche fehlgeschlagen"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Online-Untertitel-Suche abgebrochen"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "%d Online-Untertitel gefunden"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Keine Online-Untertitel gefunden"
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Untertitel herunterladen"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Suche Online-Untertitel..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Unterbreche Online-Untertitel-Suche..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Benutzername"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Bereit"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Nicht verfügbar"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Lade hoch..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Untertitel erfolgreich hochgeladen"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Untertitel-Upload fehlgeschlagen"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Untertitel-Upload abgebrochen"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Untertitel bereits vorhanden"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Lade Untertitel hoch..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Upload beendet"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Upload abgebrochen"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Upload fehlgeschlagen"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Herunterladen && Öffnen"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "&Einrichten"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "&Zurücksetzen"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Nach &oben"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Nach &unten"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "UR&L öffnen"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Sprachen"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "Fehler: Keine Internetverbindung"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Anmeldeinformationen eingeben"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Verbindung herstellen mit: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Seitenverhältnis: Quadratische Pixel (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "[%s] \"%s\" heruntergeladen"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Untertitel hochladen"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Untertiteldatei \"%s\" wirklich hochladen?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Frage Angebot ab..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Auf %S konnte unter dem angegebenen Benutzernamen \"%S\" nicht zugegriffen werden. Bitte die Einrichtung der Anmeldeinformationen korrigieren oder auf anonyme Anmeldung zurücksetzen."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Deaktiviert den automatischen Download der Untertitel für Mediendateien, deren Pfad einen der angegebenen Teile nach dem Muster \"privates\\video|arbeit\\\" enthält."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"Pfadname\"\tGibt eine Mediendatei oder ein Verzeichnis an\n\t\t(Wildcards sind möglich, Standardeingabe kann als \"-\"\n\t\tangegeben werden)."
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"Datei\"\tLädt eine zusätzliche Audiodatei."
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"Datei\"\tLädt eine zusätzliche Audiodatei, deren Wiedergabe\n\t\tum X ms versetzt wird (Dateiname muss \"DELAY Xms\"\n\t\tenthalten)."
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tAktiviert den Direct3D-Vollbildmodus."
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"Datei\"\tLädt eine zusätzliche Untertiteldatei."
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"B\"\t\tLädt die in der dynamischen Bibliothek \"B\" enthaltenen\n\t\tDirectShow-Filter (Wildcards sind möglich)."
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tStartet den Player im DVD-Modus (DVD-Verzeichnis kann\n\t\tals \"Pfadname\" angegeben werden)."
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tStartet die DVD-Wiedergabe bei Titel T, Kapitel C."
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tStartet die DVD-Wiedergabe bei Titel T, Position P\n\t\t(hh:mm:ss)."
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tÖffnet eine Audio-CD oder (S)VCD (Laufwerk kann als\n\t\t\"Pfadname\" angegeben werden)."
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tÖffnet das Standard-Gerät."
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tÖffnet eine Mediendatei und pausiert die Wiedergabe."
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tÖffnet eine Mediendatei und startet die Wiedergabe."
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tBeendet den Player (nach Wiedergabe) (nur in\n\t\tKombination mit \"/play\")."
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tFährt den Computer herunter (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tWechselt in den Standby-Modus (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tWechselt in den Ruhezustand (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tMeldet den Benutzer ab (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tSperrt den Computer (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tSchaltet den Bildschirm aus (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tÖffnet die nächste Ordnerdatei (nach Wiedergabe)."
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tStartet den Player im Vollbild."
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tStartet den Player minimiert."
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tStartet einen neuen Player."
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tFügt \"Pfadname\" zur Wiedergabeliste hinzu (auch in\n\t\tKombination mit \"/open\" oder \"/play\")."
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tSortiert die Wiedergabeliste nach Zufall."
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tRegistriert alle Videoformate."
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tRegistriert alle Audioformate."
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tRegistriert alle Wiedergabelisten."
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tRegistriert alle Medienformate."
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tDeregistriert alle Medienformate."
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start X\t\tStartet die Wiedergabe bei X ms."
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos P\tStartet die Wiedergabe bei Position P (hh:mm:ss)."
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize W,H\tFixiert die Fenstergröße bei Breite W und Höhe H."
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tStartet den Player auf Monitor N (N > 0)."
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tVerwendet den Audio-Renderer N (N > 0, siehe\n\t\tAusgabe-Optionen)."
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"P\"\tLädt das Shader-Profil \"P\"."
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"P\"\t\tLädt das Pan&Scan-Profil \"P\"."
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tOrdnet die formateigenen Icons erneut zu."
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tStartet den Player im Hintergrund."
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tAktiviert das Webinterface auf Port N."
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tZeigt die Debug-Information im OSD an."
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDeaktiviert die Fehlerberichterstattung."
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"H\"\t\tStartet den Player im Slave-Modus mit dem\n\t\tFensterhandle \"H\"."
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"I\"\tVerwendet für das Hardware-Decoding den\n\t\tGPU-Index \"I\" (nur CUVID und DXVA2 copy-back)."
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tSetzt alle Programm-Einstellungen zurück."
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tZeigt diese Hilfe an."
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Beeinflusst den automatischen Untertitel-Download. Je höher der Wert, desto besser müssen Untertitel dabei namentlich zur Mediendatei passen."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audioverzögerung (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Gibt die Höhe der Standard-Toolbar in Pixeln an."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Verwendet wieder die nicht-vektorisierte Standard-Toolbar (Neustart erforderlich)."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
index 5536ce1fe..8a9ec9372 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -186,7 +186,7 @@ msgid "About"
msgstr ""
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
msgstr ""
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
@@ -418,11 +418,15 @@ msgid "time(s)"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
+msgid "Default zoom"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
@@ -562,7 +566,7 @@ msgid "Warning"
msgstr ""
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr ""
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1118,7 +1122,7 @@ msgid "Audio Renderer"
msgstr ""
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
msgstr ""
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
@@ -1181,6 +1185,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr ""
@@ -1226,15 +1234,43 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr ""
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
+msgid "Download subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
+msgid "Replace currently loaded subtitles"
msgstr ""
msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
+msgid "Download"
msgstr ""
-msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
-msgid "Replace currently loaded subtitles"
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
msgstr ""
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
@@ -1538,15 +1574,27 @@ msgid "Reset"
msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
+msgid "Languages in order of preference:"
msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
index 11a6b8654..15c53e917 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
@@ -1,17 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <geogeo.gr@gmail.com>, 2013-2015
# firespin <dartworldgr@hotmail.com>, 2014
-# geogeo.gr <geogeo.gr@gmail.com>, 2015
+# geogeo.gr <geogeo.gr@gmail.com>, 2015-2016
# Lampros Zouloumis <onebrand@hotmail.gr>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-09 17:06+0000\n"
-"Last-Translator: geogeo.gr <geogeo.gr@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Greek (http://www.transifex.com/mpc-hc/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -192,8 +192,8 @@ msgid "About"
msgstr "Περί"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 βλέπε Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 βλέπε Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -424,12 +424,16 @@ msgid "time(s)"
msgstr "φορά (ές)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Λειτ. επανάλ.:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Μετά την Αναπαραγωγή"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Έξοδος"
+msgid "Default zoom"
+msgstr "Προεπιλεγμένη εστίαση"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -568,7 +572,7 @@ msgid "Warning"
msgstr "Προειδοποίηση"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Εάν παρακάμψετε κι ενεργοποιήσετε την εξομάλυνση γραφικών πλήρους οθόνης κάπου στις ρυθμίσεις της κάρτας γραφικών σας, οι υπότιτλοι δεν πρόκειται να φανούν καλύτερα, αλλά σίγουρα θα τρώνε από τον επεξεργαστή σας."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1124,8 +1128,8 @@ msgid "Audio Renderer"
msgstr "Πρόγραμμα απόδοσης ήχου"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (χωρίς απόδοση) και ρυθμίσεις EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Ρυθμίσεις VMR-9 (χωρίς απόδοση) και EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1187,6 +1191,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Απόδοση υποτίτλων"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Μνήμη cache μεταγλωττισμένων Σκιάσεων"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Ακρόαση στη θύρα:"
@@ -1232,16 +1240,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Δείκτες χειρισμού CGI: (.ext1=κατάλογος1, .ext2=κατάλογος2, ...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Υπότιτλοι διαθέσιμοι με σύνδεση διαδικτύου"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Λήψη && Άνοιγμα"
+msgid "Download subtitles"
+msgstr "Λήψη υποτίτλων"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Αντικατάσταση υφιστάμενων φορτωμένων υποτίτλων"
+msgstr "Αντικ/ση φορτωμένων τώρα υποτίτλων"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Λήψη"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Ανανέωση"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Ματαίωση"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Επιλογές"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Αποστολή υποτίτλων"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Αποστολή"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Ματαίωση"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Επιλογές"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1544,16 +1580,28 @@ msgid "Reset"
msgstr "Επαναφορά"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Βάση δεδομένων σε σύνδεση"
+msgid "Online search, download and upload subtitles"
+msgstr "Αναζήτηση σε άμεση σύνδεση, λήψη και αποστολή υποτίτλων"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Αυτόματη αναζήτηση και λήψη υποτίτλων, εφόσον δεν βρεθούν τοπικά"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Προτίμηση υποτίτλων για προβλήματα ακοής (όταν αναφέρεται από πάροχο)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Παράβλεψη των αρχείων που περιέχουν τις λέξεις:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Βασική διεύθυνση URL της βάσης δεδομένων υποτίτλων:"
+msgid "Languages in order of preference:"
+msgstr "Γλώσσες κατά σειρά προτίμησης:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Δοκιμή"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Αυτόματη αποστολή ενεργών υπότιτλων στο τέλος της αναπαραγωγής βίντεο"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1645,11 +1693,11 @@ msgstr "Ρυθμίσεις για προχωρημένους, μην τις επ
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
-msgstr "Σωστό"
+msgstr "Αληθής"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
-msgstr "Λάθος"
+msgstr "Ψευδής"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
index 76a1e7cd2..ea5ff0ac9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <geogeo.gr@gmail.com>, 2014-2015
# firespin <dartworldgr@hotmail.com>, 2014
+# geogeo.gr <geogeo.gr@gmail.com>, 2016
# kasper93, 2013
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-10-05 10:12+0000\n"
-"Last-Translator: geogeo.gr <geogeo.gr@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Greek (http://www.transifex.com/mpc-hc/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -66,29 +67,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Αποθήκευση &μικρογραφιών..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Φόρτωση &υποτίτλων..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Αποθήκευση υπο&τίτλων..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Βάση δεδομένων υποτίτλων"
+msgid "S&ubtitles"
+msgstr "Υπότιτλοι"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Ανα&ζήτηση..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Φόρτωση υποτίτλων..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Α&ποστολή..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Απο&θήκευση υποτίτλων..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Λήψη..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Λήψη υποτίτλων..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Αποστολή υποτίτλων..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -184,11 +181,11 @@ msgstr "&200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
-msgstr "Αυτόματη προσαρμογή"
+msgstr "Αυτόματη &προσαρμογή"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Αυτόματη προσαρμογή (μόνο για μεγαλύτερα)"
+msgstr "Αυτόματη προσαρμογή (μόνο για &μεγαλύτερα)"
msgctxt "POPUP"
msgid "R&enderer Settings"
@@ -212,99 +209,99 @@ msgstr "Εμφάνιση ονόματος &αρχείου"
msgctxt "POPUP"
msgid "&Output Range"
-msgstr "Εύρος εξαγωγής"
+msgstr "Εύρος ε&ξαγωγής"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
-msgstr "Παρουσίαση"
+msgstr "&Παρουσίαση"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "D3D Λειτουργία πλήρους οθόνης"
+msgstr "D3D &Λειτουργία πλήρους οθόνης"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "D3D Πλήρους οθόνης με γραφικό περιβάλλον"
+msgstr "D3D Πλήρους οθόνης με &γραφικό περιβάλλον"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "Έξοδος RGB 10-bit"
+msgstr "Έ&ξοδος RGB 10-bit"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "Δυναμική είσοδος RGB 10-bit"
+msgstr "Δυναμική &είσοδος RGB 10-bit"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Επεξεργασία 32 bit κινητής υποδιαστολής"
+msgstr "Επεξεργασία &32 bit κινητής υποδιαστολής"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Επεξεργασία 16 bit κινητής υποδιαστολής"
+msgstr "Επεξεργασία &16 bit κινητής υποδιαστολής"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
-msgstr "Απενεργοποίηση σύνθεσης επιφάνειας εργασίας (Aero)"
+msgstr "Απενεργοποίηση σύνθεσης επιφάνειας εργασίας (&Αero)"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Ενεργοποίηση διόρθωσης χρόνου καρέ"
+msgstr "Ενεργοποίηση &διόρθωσης χρόνου καρέ"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "Διαχείριση χρωμάτων"
+msgstr "Διαχείριση χ&ρωμάτων"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
-msgstr "Ενεργοποίηση"
+msgstr "&Ενεργοποίηση"
msgctxt "POPUP"
msgid "&Input Type"
-msgstr "Τύπος εισόδου"
+msgstr "&Τύπος εισόδου"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
-msgstr "Αυτόματη ανίχνευση"
+msgstr "&Αυτόματη ανίχνευση"
msgctxt "ID_VIEW_CM_INPUT_HDTV"
msgid "&HDTV"
-msgstr "HDTV"
+msgstr "&ΗDTV"
msgctxt "ID_VIEW_CM_INPUT_SDTV_NTSC"
msgid "SDTV &NTSC"
-msgstr "SDTV NTSC"
+msgstr "SDTV &ΝTSC"
msgctxt "ID_VIEW_CM_INPUT_SDTV_PAL"
msgid "SDTV &PAL"
-msgstr "SDTV PAL"
+msgstr "SDTV &ΡAL"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "Περιβάλλον φωτισμού"
+msgstr "Περιβάλλον &φωτισμού"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
-msgstr "Φωτεινό (2.2 Gamma)"
+msgstr "&Φωτεινό (2.2 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "Μέσο (2.35 Gamma)"
+msgstr "&Μέσο (2.35 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
-msgstr "Σκοτεινό (2.4 Gamma)"
+msgstr "&Σκοτεινό (2.4 Gamma)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "Στόχος φωτοαπόδοσης"
+msgstr "&Στόχος φωτοαπόδοσης"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
@@ -316,7 +313,7 @@ msgstr "Σχετική μέτρηση χρωμάτων"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
-msgstr "Κορεσμός"
+msgstr "&Κορεσμός"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
@@ -324,19 +321,19 @@ msgstr "Απόλυτη μέτρηση χρωμάτων"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "Κατακόρυφος συγχρονισμός (VSync)"
+msgstr "&Κατακόρυφος συγχρονισμός (VSync)"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "Κατακόρυφος συγχρονισμός (VSync)"
+msgstr "&Κατακόρυφος συγχρονισμός (VSync)"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "Ακριβής VSync"
+msgstr "Α&κριβής VSync"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "Εναλλακτικός VSync"
+msgstr "&Εναλλακτικός VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
@@ -348,31 +345,31 @@ msgstr "&Αύξηση μετάθεσης του VSync"
msgctxt "POPUP"
msgid "&GPU Control"
-msgstr "Έλεγχος GPU"
+msgstr "Έ&λεγχος GPU"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Εκκαθάριση GPU πριν το VSync"
+msgstr "Εκκαθάριση GPU &πριν το VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Εκκαθάριση GPU μετά την Παρουσίαση"
+msgstr "Εκκαθάριση GPU &μετά την Παρουσίαση"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
-msgstr "Αναμονή για εκκαθαρίσεις"
+msgstr "&Αναμονή για εκκαθαρίσεις"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Επαναφορά"
+msgstr "Επανα&φορά"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Επαναφορά στις προεπιλεγμένες ρυθμίσεις απόδοσης"
+msgstr "Επαναφορά στις &προεπιλεγμένες ρυθμίσεις απόδοσης"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Επαναφορά στις βέλτιστες ρυθμίσεις απόδοσης"
+msgstr "Επαναφορά στις &βέλτιστες ρυθμίσεις απόδοσης"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -410,37 +407,37 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Άγγιγμα παραθύρου ε&ξωτερικά"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Διατή&ρηση αναλογιών"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Παράκαμψη αναλογιών"
+msgid "&Aspect Ratio"
+msgstr "Α&ναλογίες πλευρών"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Προεπιλογή"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Προεπιλογή (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
-msgstr "4:3"
+msgstr "&4:3"
msgctxt "ID_ASPECTRATIO_5_4"
msgid "&5:4"
-msgstr "5:4"
+msgstr "&5:4"
msgctxt "ID_ASPECTRATIO_16_9"
msgid "&16:9"
-msgstr "16:9"
+msgstr "&16:9"
msgctxt "ID_ASPECTRATIO_235_100"
msgid "&235:100"
-msgstr "235:100"
+msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Να θεωρούνται &τετράγονα πίξελ (SAR)"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
@@ -452,51 +449,51 @@ msgstr "Πανοραμική οπτική && Σάρ&ωση"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
-msgstr "Αύξηση μεγέθους"
+msgstr "Αύξηση &μεγέθους"
msgctxt "ID_VIEW_DECSIZE"
msgid "&Decrease Size"
-msgstr "Μείωση μεγέθους"
+msgstr "Μείωση μεγέ&θους"
msgctxt "ID_VIEW_INCWIDTH"
msgid "I&ncrease Width"
-msgstr "Αύξηση πλάτους"
+msgstr "Αύξηση &πλάτους"
msgctxt "ID_VIEW_DECWIDTH"
msgid "D&ecrease Width"
-msgstr "Μείωση πλάτους"
+msgstr "Μείωση π&λάτους"
msgctxt "ID_VIEW_INCHEIGHT"
msgid "In&crease Height"
-msgstr "Αύξηση ύψους"
+msgstr "Αύξηση ύ&ψους"
msgctxt "ID_VIEW_DECHEIGHT"
msgid "Decre&ase Height"
-msgstr "Μείωση ύψους"
+msgstr "Μείωση ύψ&ους"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
-msgstr "Μετακίνηση δεξιά"
+msgstr "Μετακίνηση &δεξιά"
msgctxt "ID_PANSCAN_MOVELEFT"
msgid "Move &Left"
-msgstr "Μετακίνηση αριστερά"
+msgstr "Μετακίνηση α&ριστερά"
msgctxt "ID_PANSCAN_MOVEUP"
msgid "Move &Up"
-msgstr "Μετακίνηση πάνω"
+msgstr "Μετακίνηση πά&νω"
msgctxt "ID_PANSCAN_MOVEDOWN"
msgid "Move &Down"
-msgstr "Μετακίνηση κάτω"
+msgstr "Μετακίνηση κά&τω"
msgctxt "ID_PANSCAN_CENTER"
msgid "Cen&ter"
-msgstr "Κέντρο"
+msgstr "&Κέντρο"
msgctxt "ID_VIEW_RESET"
msgid "Re&set"
-msgstr "Επαναφορά"
+msgstr "Επανα&φορά"
msgctxt "POPUP"
msgid "On &Top"
@@ -508,15 +505,15 @@ msgstr "&Προεπιλογή"
msgctxt "ID_ONTOP_ALWAYS"
msgid "&Always"
-msgstr "Πάντα"
+msgstr "Πάν&τα"
msgctxt "ID_ONTOP_WHILEPLAYING"
msgid "While &Playing"
-msgstr "Στην αναπαραγωγή"
+msgstr "Στην &αναπαραγωγή"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
-msgstr "Στην αναπαραγωγή βίντεο"
+msgstr "Στην αναπαραγωγή &βίντεο"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
@@ -535,9 +532,25 @@ msgid "&Stop"
msgstr "&Διακοπή"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Βήμα κα&ρέ"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Επανάληψη"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Συνεχής"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Αρχείο"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Λίστα αναπαραγωγής"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Μείωση ταχύτητας"
@@ -567,7 +580,7 @@ msgid "Su&btitle Track"
msgstr "Κανάλι &Υποτίτλων"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Κανάλι &Βίντεο"
msgctxt "POPUP"
@@ -604,27 +617,27 @@ msgstr "Απενεργοποίηση &οθόνης"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
-msgstr "Έξοδος"
+msgstr "Έ&ξοδος"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
-msgstr "Αναμονή"
+msgstr "&Αναμονή"
msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
msgid "&Hibernate"
-msgstr "Αδρανοποίηση"
+msgstr "Α&δρανοποίηση"
msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
msgid "Shut&down"
-msgstr "Τερματισμός"
+msgstr "&Τερματισμός"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
-msgstr "Αποσύνδεση"
+msgstr "Απο&σύνδεση"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "Κλείδωμα"
+msgstr "&Κλείδωμα"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
index c5f12740f..3b4373fa6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
@@ -1,16 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <geogeo.gr@gmail.com>, 2013-2015
-# firespin <dartworldgr@hotmail.com>, 2014-2015
-# geogeo.gr <geogeo.gr@gmail.com>, 2015
+# firespin <dartworldgr@hotmail.com>, 2014-2016
+# Elena Sotiri <elenaph33@gmail.com>, 2016
+# geogeo.gr <geogeo.gr@gmail.com>, 2015-2016
+# Lampros Zouloumis <onebrand@hotmail.gr>, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-23 07:03+0000\n"
+"Last-Translator: Lampros Zouloumis <onebrand@hotmail.gr>\n"
"Language-Team: Greek (http://www.transifex.com/mpc-hc/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -62,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Ιδιότητες"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Αρχείο"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Προεπιλεγμένο στυλ"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Λίστα αναπαραγωγής"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Αρχεία"
@@ -118,6 +128,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Εάν ο στόχος απόδοσης μείνει απροσδιόριστος, οι υπότιτλοι SSA/ASS θα αποδοθούν ανάλογα με το καρέ βίντεο, ενώ όλοι οι άλλοι υπότιτλοι κειμένου θα αποδοθούν ανάλογα με το παράθυρο."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Λειτουργία επανάληψης: Λίστα αναπαραγωγής"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Λειτουργία επανάληψης: Αρχείο"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Λειτουργία επανάληψης: Ναι"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Λειτουργία επανάληψης: Όχι"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Συνεχής επανάληψη"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Ποτέ (ταχύτερη προσέγγιση)"
@@ -518,18 +548,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Απόδοση μείκτη επικάλυψης"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Απόδοση μείξης βίντεο 7 (σε παράθυρο)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Απόδοση μείξης βίντεο 9 (σε παράθυρο)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Απόδοση μείξης βίντεο 7 (χωρίς απόδοση)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Απόδοση μείξης βίντεο 9 (χωρίς απόδοση)"
@@ -582,10 +604,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Αναπαραγωγός::Διεπαφή διαδικτύου"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Υπότιτλοι::Βάση δεδομένων"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Λεπτομέρειες"
@@ -606,17 +624,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Απόδοση πάντα σε επικάλυψη. Γενικά επιτρέπονται μόνο μορφές YUV, αλλά παρουσιάζονται άμεσα, χωρίς καμία μετατροπή χρώματος σε RGB. Αυτή είναι η ταχύτερη μέθοδος απόδοσης απ΄όλες και η μόνη που μπορείτε να είστε σίγουρος για την ενεργοποίηση καθρεπτίσματος μεγιστοποιημένου βίντεο στην έξοδο TV."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Η προεπιλεγμένη απόδοση των Windows XP. Πολύ σταθερή και λίγο πιο αργή απ΄ ότι ο μίκτης Επικάλυψης. Χρησιμοποιεί DirectDraw και τρέχει σε Επικάλυψη όταν μπορεί."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Είναι διαθέσιμο μόνο αν έχετε εγκατεστημένο το DirectX 9. Έχει τις ίδιες δυνατότητες με το VMR-7 (σε παράθυρο), αλλά δεν χρησιμοποιεί ποτέ απόδοση επικάλυψης και λόγω αυτού μπορεί να είναι λίγο πιο αργό από το VMR-7 (σε παράθυρο)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Ίδιο με το VMR-7 (σε παράθυρο), αλλά με το πρόσθετο Εκχώρησης-Παρουσίασης του MPC-HC για υποτιτλισμό. Το καθρέπτισμα βίντεο επικάλυψης ΔΕΝ λειτουργεί. Συνιστάται το μέγιστο βάθος χρώματος οθόνης (32 bit)."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Διαθέσιμο μόνο αν έχετε εγκαταστήσει το DirectX 9. Πολύ σταθερό αλλά ποτέ δεν θα χρησιμοποιήσει απόδοση Επικάλυψης και γι αυτό μπορεί να είναι λίγο πιο αργό απ΄ ότι ο μείκτης Επικάλυψης."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +664,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Η απόδοση του QuickTime. Είναι λίγο αργή όταν η περιοχή του βίντεο αλλάζει μέγεθος ή καλύπτεται εν μέρει από ένα άλλο παράθυρο. Όταν η επικάλυψη δεν είναι διαθέσιμη, αυτό μπορεί να επανέλθει στο GDI."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Η έξοδος των μηχανών απόδοσης των Real, από τη βασισμένη στο DX7 Εκχώρηση-Παρουσίαση της VMR-7 (χωρίς απόδοση)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Η έξοδος των μηχανών απόδοσης των Real, από τη βασισμένη στο DX9 Εκχώρηση-Παρουσίαση της VMR-9 (χωρίς απόδοση)."
@@ -666,10 +672,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Η απόδοση του QuickTime. Είναι λίγο αργή όταν η περιοχή του βίντεο αλλάζει μέγεθος ή καλύπτεται εν μέρει από ένα άλλο παράθυρο. Όταν η επικάλυψη δεν είναι διαθέσιμη, αυτό μπορεί να επανέλθει στο GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Η έξοδος των μηχανών απόδοσης του QuickTime, από τη βασισμένη στο DX7 Εκχώρηση-Παρουσίαση της VMR-7 (χωρίς απόδοση)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Η έξοδος των μηχανών απόδοσης του QuickTime, από τη βασισμένη στο DX9 Εκχώρηση-Παρουσίαση της VMR-9 (χωρίς απόδοση)."
@@ -720,7 +722,7 @@ msgstr "Δικυβική A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
-msgstr "**δεν είναι διαθέσιμη**"
+msgstr "**μη διαθέσιμη**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
@@ -750,9 +752,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Για να προβάλετε έναν ενσωματωμένο πόρο στο πρόγραμμα περιήγησής σας, πρέπει να ενεργοποιήσετε τη διασύνδεση web.\n\nΧρησιμοποιήστε το κουμπί «Αποθήκευση ως», εάν θέλετε να αποθηκεύσετε μόνο τις πληροφορίες."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Λήψη υποτίτλων"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Λήψη υποτίτλων..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Αποστολή υποτίτλων..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +816,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Μειώνει το σχίσιμο παρακάμπτοντας την προεπιλογή VSync ενσωματωμένου στο D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Σάρωση δέκτη"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Οι υπότιτλοι δεν έχουν φορτωθεί ή δεν υποστηρίζεται το πρόγραμμα απόδοσης."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Αποθήκευση μεταγλωττισμένων σκιάσεων στο τοπικό AppData για επιτάχυνση του χρόνου φόρτωσης."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Άνοιγμα VTS_xx_0.ifo για φόρτωση αρχείων VTS_xx_x.vob σε ένα κομμάτι"
@@ -947,12 +965,12 @@ msgid "&Organize Favorites..."
msgstr "&Οργάνωση αγαπημένων..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Τυχαία σειρά"
+msgid "Sh&uffle"
+msgstr "Τυχαία &σειρά"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Άνοιγμα θέσης αρχείου"
+msgid "Ope&n file location"
+msgstr "Άνοιγμα &θέσης αρχείου"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -964,7 +982,7 @@ msgstr "Αναπαραγωγή"
msgctxt "IDS_CONTROLS_PAUSED"
msgid "Paused"
-msgstr "Σταματημένο"
+msgstr "Σε παύση"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
@@ -1035,8 +1053,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Εστίαση σε υπερευρυγώνια οθόνη,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Απόκρυψη σε πλήρη οθόνη"
+msgid "&Hide on Fullscreen"
+msgstr "&Απόκρυψη σε πλήρη οθόνη"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1223,8 +1241,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Προσθήκη του φακέλου που περιέχει το αρχείο"
+msgid "Add containing &folder"
+msgstr "Προσθήκη του φακέλου που περιέχει το &αρχείο"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1328,7 +1346,7 @@ msgstr "Η καθυστέρηση στους υπότιτλους θα μειω
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr "<not defined>"
+msgstr "<Δεν έχει καθοριστεί>"
msgctxt "IDS_NAVIGATION_WATCH"
msgid "Watch"
@@ -1426,13 +1444,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Η αποθήκευση εικόνας ολοκληρώθηκε"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Φόρτωση υποτίτλων"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Φόρτωση υποτίτλων..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Αποθήκευση υποτίτλων"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Αποθήκευση υποτίτλων..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,7 +1577,7 @@ msgid "Thumbnails saved successfully"
msgstr "Οι μικρογραφίες αποθηκεύτηκαν επιτυχώς"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Κανάλι &Βίντεο"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1795,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "Πανοραμική: Ύψος -"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Λήψη υποτίτλων. Παρακαλώ περιμένετε."
+msgid "Downloading [%s] \"%s\""
+msgstr "Λήψη [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2058,11 +2076,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Κρυπτογραφημένο"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ναι"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Όχι"
@@ -2136,7 +2154,7 @@ msgstr "Αναπαραγωγή με το MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "Ο MPC-HC δεν έχει δεν έχει επαρκή δικαιώματα για να αλλάξει τις συσχετίσεις των μορφών αρχείων. Παρακαλώ κάντε κλικ στο \"Χρήση ως διαχειριστής\" κουμπί."
+msgstr "Το MPC-HC δεν έχει επαρκή δικαιώματα για να αλλάξει τις συσχετίσεις των μορφών αρχείων. Παρακαλώ κάντε κλικ στο κουμπί \"Εκτέλεση ως διαχειριστής\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2214,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Πλάτος εικόνας:"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Η διεύθυνση URL φαίνεται να είναι σωστή!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Ασυμφωνία έκδοσης πρωτοκόλλου. Παρακαλώ να αναβαθμίσετε το πρόγραμμα αναπαραγωγής ή να επιλέξετε μια διαφορετική διεύθυνση!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Αναλογία πλευρών"
@@ -2315,8 +2325,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Οι μικρογραφίες θα είναι πολύ μικρές. Δεν είναι δυνατό να δημιουργηθεί το αρχείο.\n\nΠροσπαθήστε να μειώσετε τον αριθμό των μικρογραφιών ή να αυξήσετε το συνολικό μέγεθος."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Για φόρτωση υποτίτλων πρέπει να αλλάξετε τον τύπο απόδοσης βίντεο και να ανοίξετε ξανά το αρχείο.\n- DirectShow: VMR-7/VMR-9 (χωρίς απόδοση), EVR (CP), Sync, madVR ή Haali\n- RealMedia: Ειδική απόδοση για RealMedia ή άνοιγμά του με το DirectShow\n- QuickTime : απόδοση DX7 ή DX9 για QuickTime\n- ShockWave : Μη διαθέσιμο"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Για να φορτώσετε υπότιτλους θα πρέπει να αλλάξετε τον τύπο απόδοσης του βίντεο και να ανοίξετε ξανά το αρχείο.\n- DirectShow: VMR-9 (χωρίς απόδοση), EVR (CP), Sync, madVR or Haali\n- RealMedia: Απόδοση ειδικά για RealMedia ή άνοιγμά του μέσω DirectShow\n- QuickTime: Απόδοση DX7 ή DX9 για QuickTime\n- ShockWave: Μη διαθέσιμο"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2337,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Αναλογία πλευρών: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Αναλογία πλευρών: Προεπιλογή"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Αναλογίες πλευρών: Προεπιλογή (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2376,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Η απόδοση του αρχείου απέτυχε"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Εσφαλμένη διεύθυνση. Δεν υπάρχει βάση δεδομένων υποτίτλων εδώ!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Κεφάλαιο: "
@@ -2563,8 +2569,8 @@ msgid "Volume boost Max"
msgstr "Μέγιστη ώθηση έντασης"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Χρήση: mpc-hc.exe \"κατάλογος\" [παράμετροι]\n\n\"κατάλογος\"\tΤο κύριο αρχείο ή ο κατάλογος που θα φορτωθεί\n\t\t(επιτρέπονται τα μπαλαντέρ \"-\" υποδηλώνει τυπική είσοδο)\n/dub \"αρχείο ήχου\"\tΦόρτωση ενός πρόσθετου αρχείου ήχου\n/dubdelay \"αρχείο\"\tΦόρτωση ενός πρόσθετου αρχείου ήχου μετατοπισμένο με XXms\n\t\t(εάν το αρχείο περιέχει \"...DELAY XXms...\")\n/d3dfs\t\tΕκκίνηση απόδοσης σε λειτουργία D3D πλήρους οθόνης\n/sub \"όνομα υπότιτλων\"\tΦόρτωση ενός πρόσθετου αρχείου υποτίτλων\n/filter \"όνομα φίλτρου\"\tΦόρτωση φίλτρων DirectShow από ένα dll\n\t\t(επιτρέπονται τα μπαλαντέρ)\n/dvd\t\tΕκτέλεση σε λειτουργία DVD. Ως \"κατάλογος\" εννοείται\n\t\tο φάκελος του DVD (προαιρετικά)\n/dvdpos T#C\tΈναρξη αναπαραγωγής στον τίτλο T, κεφάλαιο C\n/dvdpos T#hh:mm\tΈναρξη αναπαραγωγής στον τίτλο T, θέση hh:mm:ss\n/cd\t\tΦόρτωση όλων των κομματιών από ένα CD ή (S)VCD\n\t\tΩς \"κατάλογος\" εννοείται της συσκευής οδήγησης (προαιρετικά)\n/device\t\tΆνοιγμα της προεπιλεγμένης συσκευής βίντεο\n/open\t\tΆνοιγμα του αρχείου χωρίς αυτόματη έναρξη αναπαραγωγής\n/play\t\tΈναρξη αναπαραγωγής του αρχείου με την εκκίνηση του\n\t\tπρογράμματος αναπαραγωγής\n/close\t\tΚλείσιμο του προγράμματος μετά την αναπαραγωγή\n\t\t(δουλεύει μόνο όταν χρησιμοποιείται με το /play)\n/shutdown\tΤερματισμός του συστήματος μετά την αναπαραγωγή\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tΈκκίνηση σε λειτουργία πλήρους οθόνης\n/minimized\tΈκκίνηση σε ελαχιστοποιημένη λειτουργία\n/new\t\tΕκκινεί μια νέα παρουσία του MPC-HC\n/add\t\tΠροσθήκη του \"κατάλογος\" στη λίστα αναπαραγωγής\n\t\tΜπορεί να συνδυαστεί με /open και /play\n/randomize\tRandomize the playlist\n/regvid\t\tΔημιουργεί συσχετίσεις για αρχεία βίντεο\n/regaud\t\tΔημιουργεί συσχετίσεις για αρχεία ήχου\n/regpl\t\tΔημιουργεί συσχετίσεις για αρχεία λίστας αναπαραγωγής\n/regall\t\tΔημιουργεί συσχετίσεις αρχείων\n\t\tγια όλους τους υποστηριζόμενους τύπους αρχείων\n/unregall\t\tΚαταργεί όλες τις συσχετίσεις αρχείων\n/start ms\t\tΈναρξη αναπαραγωγής στα \"ms\" (= χιλιοστά δευτερολέπτου)\n/startpos hh:mm:ss\tΈναρξη αναπαραγωγής στη θέση hh:mm:ss\n/fixedsize w,h\tΟρίζει το μέγεθος ενός σταθερού παραθύρου\n/monitor N\tΕκκίνηση του MPC-HC στην οθόνη N (όπου το N ξεκινά από 1)\n/audiorenderer N\tΈναρξη απόδοσης ήχου με χρήση του N (όπου το N ξεκινά από 1)\n\t\t(βλέπε ρυθμίσεις \"Έξοδος\")\n/shaderpreset \"Pr\"\tΈναρξη με χρήση της προρύθμισης σκίασης \"Pr\"\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tΕπαναφορά προεπιλεγμένων ρυθμίσεων\n/help /h /?\tΕμφάνιση βοήθειας σχετικά με τις παραμέτρους της γραμμής εντολών\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Χρήση: mpc-hc.exe \"διαδρομή\" [παράμετρος]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2656,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Ενεργοποίηση όλων των φίλτρων"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Σάρωση δέκτη"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Οι υπότιτλοι δεν έχουν φορτωθεί ή δεν υποστηρίζεται το πρόγραμμα απόδοσης."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Άγνωστος δημιουργός. Επικοινωνήστε μαζί μου εάν δημιουργήσατε αυτό το λογότυπο!"
@@ -3406,10 +3404,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Οι επιλογές \"Αποθήκευση εικόνας\" και \"Αποθήκευση μικρογραφιών\" δεν λειτουργούν με την απόδοση βίντεο Overlay Mixer.\nΑλλάξτε την απόδοση βίντεο στις επιλογές εξόδου του MPC-HC και ανοίξτε πάλι το αρχείο."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Δεν ήταν δυνατή η σύνδεση με τη βάση δεδομένων υποτίτλων."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Θέλετε να ενεργοποιήσετε τον επεξεργαστή EDL;"
@@ -3602,3 +3596,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Πάροχος"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Άτομα με προβλήματα ακοής"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Λήψεις"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Αποτέλεσμα"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Η αναζήτηση υποτίτλων σε άμεση σύνδεση απέτυχε."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Η αναζήτηση υποτίτλων σε άμεση σύνδεση ματαιώθηκε."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Η αναζήτηση υποτίτλων σε άμεση σύνδεση ολοκληρώθηκε. Βρέθηκαν %d υπότιτλοι."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Η αναζήτηση υποτίτλων σε άμεση σύνδεση ολοκληρώθηκε. Δεν βρέθηκαν υπότιτλοι."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Λήψη υποτίτλων"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Αναζήτηση για υπότιτλους σε άμεση σύνδεση. Παρακαλώ περιμένετε..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Ματαίωση αναζήτησης υποτίτλων σε άμεση σύνδεση..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Όνομα χρήστη"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Κατάσταση"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Έτοιμο..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Δεν υλοποιήθηκε."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Αποστολή..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Οι υπότιτλοι ανέβηκαν με επιτυχία."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Η αποστολή υποτίτλων απέτυχε."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Η αποστολή υποτίτλων ματαιώθηκε."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Οι υπότιτλοι υπάρχουν ήδη."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Αποστολή υποτίτλων. Παρακαλώ περιμένετε..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Η αποστολή ολοκληρώθηκε."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Η αποστολή ματαιώθηκε."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Η αποστολή απέτυχε."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Λήψη && Άνοιγμα"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Διαμόρφωση"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Επαναφορά"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Μετακίν. πάνω"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Μετακίν. κάτω"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Άνοιγμα URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Γλώσσες"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ΣΦΑΛΜΑ: Δεν ήταν δυνατή η δημιουργία σύνδεσης στο διαδίκτυο."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Εισάγετε τα διαπιστευτήρια τοποθεσιών web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Εισάγετε τα διαπιστευτήριά σας για σύνδεση σε: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Αναλογίες εικόνας: Να θεωρούνται τετράγωνα πίξελ (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Παραλήφθηκαν [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Αποστολή υποτίτλων"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Είστε βέβαιος ότι θέλετε να ανεβάσετε το αρχείο υποτίτλων \"%s\";"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Λήψη υποστηριζόμενων γλωσσών..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Απέτυχε η σύνδεση στο \"%S\" με όνομα χρήστη \"%S\".\n\nΠαρακαλώ εισάγετε το σωστό όνομα χρήστη και κωδικό ή ακυρώστε τα διαπιστευτήρια για να συνδεθείτε ως ανώνυμος χρήστης."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Η αυτόματη αναζήτηση και λήψη θα απενεργοποιηθεί για όλα τα αρχεία πολυμέσων που η διαδρομή τους περιλαμβάνει οποιοδήποτε από τα μοτίβα που έχουν εισαχθεί εδώ.\nΓια παράδειγμα, γράψτε: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"⇥Το κύριο αρχείο ή φάκελος που θα ανοίξει\n\n⇥⇥(επιτρέπονται οι χαρακτήρες μπαλαντέρ, το \"-\" υποδηλώνει τυπική είσοδο)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"⇥Φόρτωση ενός πρόσθετου αρχείου ήχου"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"αρχείο\"\tΦόρτωση ενός πρόσθετου αρχείου ήχου μετατοπισμένο με XXms\n\t\t(εάν το αρχείο περιέχει \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tΕκκίνηση απόδοσης σε λειτουργία D3D πλήρους οθόνης"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"⇥Φόρτωση ενός πρόσθετου αρχείου υποτίτλων"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"όνομα φίλτρου\"\tΦόρτωση φίλτρων DirectShow από ένα dll (τα wildcards επιτρέπονται)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tΕκτέλεση σε λειτουργία DVD. Ως \"κατάλογος\" εννοείται φάκελος του DVD (προαιρετικά)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tΈναρξη αναπαραγωγής στον τίτλο T, κεφάλαιο C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tΈναρξη αναπαραγωγής στον τίτλο T, θέση P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tΦόρτωση όλων των κομματιών από ένα CD ή (S)VCD. Ως \"κατάλογος\" εννοείται της συσκευής οδήγησης (προαιρετικά)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tΆνοιγμα της προεπιλεγμένης συσκευής βίντεο"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tΆνοιγμα του αρχείου, χωρίς αυτόματη έναρξη αναπαραγωγής"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tΈναρξη της αναπαραγωγής του αρχείου με την εκκίνηση του προγράμματος αναπαραγωγής"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tΚλείσιμο του προγράμματος μετά την αναπαραγωγή (δουλεύει μόνο όταν χρησιμοποιείται με το /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tΤερματισμός του συστήματος μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tΣε αναμονή μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tΑδρανοποίηση μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tΑποσύνδεση μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tΚλείδωμα του σταθμού εργασίας μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tΑπενεργοποίηση της οθόνης μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tΆνοιγμα του επόμενου αρχείου στο φάκελο μετά την αναπαραγωγή"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tΈναρξη σε λειτουργία πλήρους οθόνης"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tΈναρξη σε ελαχιστοποιημένη λειτουργία"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tΕκκινεί μια νέα παρουσία του MPC-BE"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tΠροσθήκη του \"\"κατάλογος\"\" στη λίστα αναπαραγωγής. Μπορεί να συνδυαστεί με /open and /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tΤυχαία λίστα αναπαραγωγής"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tΔημιουργεί συσχετίσεις για αρχεία βίντεο"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tΔημιουργεί συσχετίσεις για αρχεία ήχου"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tΔημιουργεί συσχετίσεις για αρχεία λίστας αναπαραγωγής"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tΔημιουργεί συσχετίσεις αρχείων για όλους τους υποστηριζόμενους τύπους αρχείων"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tΚαταργεί όλες τις συσχετίσεις αρχείων"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tΈναρξη αναπαραγωγής στα \"ms\" (= χιλιοστά δευτερολέπτου)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tΈναρξη αναπαραγωγής στη θέση hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tΟρισμός σταθερού μεγέθους παραθύρου"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tΕκκίνηση του MPC-HC στην οθόνη N (όπου το N ξεκινά από 1)"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tΈναρξη απόδοσης ήχου με χρήση του N (όπου το N ξεκινά από 1)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tΈναρξη με χρήση \"Pr\" προκαθορισμένη σκίαση"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"όνομα\"\tΚαθορισμός Pan&Scan προκαθορισμένου ονόματος για χρήση"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tΣυσχέτιση ξανά της μορφής εικονιδίων"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tΆνοιγμα του MPC-HC στο παρασκήνιο"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tΈναρξη της διεπαφής web στη καθορισμένη θύρα"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tΕμφάνιση πληροφοριών εντοπισμού σφαλμάτων OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tΑπενεργοποίηση της αναφοράς κατάρρευσης"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tΧρήση του MPC-HC ως δευτερεύον"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tΟρισμός ευρετηρίου της GPU για χρήση αποκωδικοποίησης υλικού.\n\t\tΔιαθέσιμο μόνο για CUVID και DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tΕπαναφορά προεπιλεγμένων ρυθμίσεων"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tΕμφάνιση βοήθειας για τις παραμέτρους της γραμμής εντολών"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Η οριακή βαθμολογία για υπότιτλους, η οποία θα γίνει λήψη αυτόματα. Υψηλότερες τιμές σημαίνει ότι η φόρτωση των υποτίτλων θα έχουν μεγαλύτερη ακρίβεια, χαμηλότερες τιμές μπορεί να οδηγήσει σε εσφαλμένη φόρτωση υποτίτλων, αλλά δεν υπάρχει μία ακριβής τιμή. Διάλεξε αυτό που λειτουργεί καλύτερα για σένα."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Καθυστέρηση ήχου (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Μέγεθος σε pixels της προεπιλεγμένης γραμμής εργαλείων."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Χρήση της παλαιάς γραμμής εργαλείων αντί της νέας."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
index ddf1ed2b1..6cb2de0c6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2015
+# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2016
# Underground78, 2013
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-28 01:53+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-01-26 15:33+0000\n"
"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/mpc-hc/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "About"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 see Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 see Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "time(s)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Repeat mode:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "After Playback"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Output"
+msgid "Default zoom"
+msgstr "Default zoom"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,8 +570,8 @@ msgid "Warning"
msgstr "Warning"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Audio Renderer"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) and EVR (CP) settings"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Subtitle Renderer"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Cache compiled Shaders"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Listen on port:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtitles available online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Download && Open"
+msgid "Download subtitles"
+msgstr "Download subtitles"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Replace currently loaded subtitles"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Download"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Refresh"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Abort"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Options"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Upload subtitles"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Upload"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abort"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Options"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Save As..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Reset"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online database"
+msgid "Online search, download and upload subtitles"
+msgstr "Online search, download and upload subtitles"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatically search and download subtitles if none are found locally"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignore files containing any of the following word(s):"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Base URL of the online subtitle database:"
+msgid "Languages in order of preference:"
+msgstr "Languages in order of preference (e.g. \"eng ell spa\"):"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automatically upload active subtitles at the end of video playback"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
index 991936de1..955b0b392 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2015
+# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-31 23:00+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-07 07:51+0000\n"
"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/mpc-hc/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Save &Thumbnails..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Load Subtitle..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Save S&ubtitle..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Subtitle Data&base"
+msgid "S&ubtitles"
+msgstr "Subtitles"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Search..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Load Subtitles..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Upload..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Save S&ubtitles..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Download..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Download Subtitles..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Upload Subtitles..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Touch Window From &Outside"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Keep Aspect Ratio"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Override &Aspect Ratio"
+msgid "&Aspect Ratio"
+msgstr "&Aspect Ratio"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Default"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Default (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Assume &square pixels (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Correct Monitor/Desktop AR Diff"
@@ -533,8 +529,24 @@ msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "F&rame Step"
+msgid "Fra&me Step"
+msgstr "Fra&me Step"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Repeat"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "F&orever"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&File"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Playlist"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
@@ -565,8 +577,8 @@ msgid "Su&btitle Track"
msgstr "Su&btitle Track"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "&Video Track"
+msgid "Vide&o Track"
+msgstr "Vide&o Track"
msgctxt "POPUP"
msgid "&Volume"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
index 17a381625..aa4baf344 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2015
+# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-24 10:52+0000\n"
+"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/mpc-hc/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +60,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Properties"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "File"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Default Style"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Playlist"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Files"
@@ -116,6 +124,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Repeat Mode: Playlist"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Repeat Mode: File"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repeat Forever: On"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repeat Forever: Off"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repeat Forever"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Never (fastest approach)"
@@ -516,18 +544,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -580,10 +600,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Player::Web Interface"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtitles::Database"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Details"
@@ -604,17 +620,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any colour conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Colour\" desktop colour space recommended."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -652,10 +660,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -664,10 +668,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -748,9 +748,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Download Subtitles..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Upload Subtitles..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +812,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Reduces tearing by bypassing the default VSync built into D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Tuner scan"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Subtitles are not loaded or unsupported renderer."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Stores compiled shaders in local AppData to speed up load time."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -945,12 +961,12 @@ msgid "&Organize Favorites..."
msgstr "&Organise Favourites..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Shuffle"
+msgid "Sh&uffle"
+msgstr "Sh&uffle"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Open file location"
+msgid "Ope&n file location"
+msgstr "Ope&n file location"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1033,8 +1049,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
+msgstr "&Hide on Fullscreen"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1221,8 +1237,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Add containing folder"
+msgid "Add containing &folder"
+msgstr "Add containing &folder"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1424,13 +1440,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Image saved successfully"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Load Subtitle"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Load Subtitles..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Save Subtitle"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Save Subtitles..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,8 +1573,8 @@ msgid "Thumbnails saved successfully"
msgstr "Thumbnails saved successfully"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "&Video Track"
+msgid "Vide&o Track"
+msgstr "Vide&o Track"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1793,8 +1809,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec Height"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Downloading subtitle(s), please wait."
+msgid "Downloading [%s] \"%s\""
+msgstr "Downloading [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2072,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Encrypted"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Yes"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "No"
@@ -2212,14 +2228,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Image width"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "The URL appears to be correct!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protocol version mismatch, please upgrade your player or choose a different address!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Aspect Ratio"
@@ -2313,8 +2321,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2333,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Aspect Ratio: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Aspect Ratio: Default"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Aspect Ratio: Default (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2372,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Failed to render the file"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Bad URL, could not locate subtitle database there!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Chapter: "
@@ -2561,8 +2565,8 @@ msgid "Volume boost Max"
msgstr "Volume boost Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimised mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomise the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Usage: mpc-hc.exe \"pathname\" [switches]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2648,14 +2652,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Enable all filters"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Tuner scan"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtitles are not loaded or unsupported renderer."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Author unknown. Contact us if you made this logo!"
@@ -3404,10 +3400,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Cannot connect to the online subtitles database."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Do you want to activate the EDL editor?"
@@ -3600,3 +3592,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Provider"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Hearing Impaired"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Downloads"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Score"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Online subtitles search failed."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Online subtitles search aborted."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Online subtitles search completed, %d subtitles found."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Online subtitles search completed, no subtitles found."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Download subtitles"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Searching for subtitles online, please wait..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Online subtitles search aborting..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Username"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Ready..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Not implemented."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Uploading..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Subtitles uploaded succeessfuly."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Subtitles upload failed."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Subtitles upload aborted."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Subtitles already exist."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Uploading subtitles, please wait..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Upload finished."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Upload aborted."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Upload failed."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Download && Open"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Setup"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Reset"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Move Up"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Move Down"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Open URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Languages"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ERROR: Internet connection could not be established."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Enter website credentials"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Enter your credentials to connect to: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Aspect Ratio: Assume square pixels (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Downloaded [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Upload subtitles"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Are you sure you want to upload the subtitle file \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Fetching supported languages..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tLoad an additional audio file"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tLoad an additional subtitle file"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tStart playback at title T, chapter C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOpen the default video device"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOpen the file, don't automatically start playback"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tStart playing the file as soon the player is launched"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tClose the player after playback (only works when used with /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tShutdown the operating system after playback"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPut the operating system in standby mode after playback"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHibernate operating system after playback"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tLog off after playback"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tLock workstation after playback"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tTurn off the monitor after playback"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOpen next file in the folder after playback"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tStart in fullscreen mode"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tStart in minimised mode"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUse a new instance of the player"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tRandomise the playlist"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCreate file associations for video files"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCreate file associations for audio files"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCreate file associations for playlist files"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCreate file associations for all supported file types"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tRemove all file associations"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tSet a fixed window size"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tStart player on monitor N, where N starts from 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tReassociate format icons"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOpen MPC-HC in background"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tStart web interface on specified port"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tShow debug information in OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDisable the crash reporter"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUse MPC-HC as slave"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestore default settings"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tShow help about command line switches"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audio Delay (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Size in pixels of the default toolbar."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Use legacy toolbar instead of new vectorised one."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
index 2c3eef12e..f190231e3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
@@ -1,20 +1,20 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014-2015
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2014-2015
+# Adolfo Jayme-Barrientos, 2015-2016
+# Adolfo Jayme-Barrientos, 2014
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2013
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2014
# squallmx <squallmx@users.sourceforge.net>, 2014
-# strel, 2014-2015
+# strel, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 13:22+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Spanish (http://www.transifex.com/mpc-hc/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +24,7 @@ msgstr ""
msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
msgid "Select Media Type"
-msgstr "Seleccione el tipo de medio"
+msgstr "Seleccione el tipo de audiovisual"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
@@ -68,7 +68,7 @@ msgstr "Vista previa"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
-msgstr "Búferes V/A:"
+msgstr "Buffers de V/A:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
@@ -80,7 +80,7 @@ msgstr "Grabar"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Activar filtro interno para cambiar pistas de audio (requiere reinicio)"
+msgstr "Activar filtro conmutador de audio integrado (requiere reinicio)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -96,7 +96,7 @@ msgstr "%"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
msgid "Regain volume"
-msgstr "Ganancia de volumen"
+msgstr "Reganar pérdidas de volumen"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
msgid "Boost:"
@@ -124,7 +124,7 @@ msgstr "canales de entrada:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Mantenga presionada Mayús para aplicar los cambios de inmediato"
+msgstr "Mantenga pulsada Mayúsculas al hacer clic para aplicar los cambios de inmediato"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -132,7 +132,7 @@ msgstr "Ir a…"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Escriba una marca de tiempo en el formato [hh]:mm:ss:ms para saltar a ese momento. No es necesario escribir los separadores."
+msgstr "Escriba una marca de tiempo en formato [hh]:mm:ss:ms para saltar a ese instante. No es necesario escribir los separadores."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -144,11 +144,11 @@ msgstr "Ir"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Escriba dos conjuntos de números para acceder a un cuadro específico; el primero es el número de cuadros y el segundo la tasa de cuadros por segundo."
+msgstr "Escriba dos números para acceder a un fotograma específico; el primero es el número del fotograma y el segundo la tasa de fotogramas por segundo (FPS)."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
-msgstr "Cuadro"
+msgstr "Fotograma"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
@@ -160,7 +160,7 @@ msgstr "Abrir"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Escriba la ruta del archivo multimedia (en Internet o en el equipo) y el reproductor lo abrirá."
+msgstr "Escriba la ruta del archivo de vídeo o audio (en Internet o en el equipo) y el reproductor lo abrirá por usted."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -195,20 +195,20 @@ msgid "About"
msgstr "Acerca de"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "© 2002-2015. Consulte el archivo Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017. Consulte Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Este programa es gratuito y está publicado bajo la Licencia Pública General de GNU."
+msgstr "Este programa es gratuito y está publicado bajo la Licencia Pública General de GNU (GPL)."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traducción: Adolfo, Strel y otros."
+msgstr "Traducción: Adolfo, strel y otros."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr "Información de la compilación"
+msgstr "Información de la versión de compilación"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -236,7 +236,7 @@ msgstr "Nombre:"
msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
msgid "Copy to clipboard"
-msgstr "Copiar en el portapapeles"
+msgstr "Copiar al portapapeles"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
@@ -248,11 +248,11 @@ msgstr "Opciones de apertura"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "Usar el mismo reproductor para cada archivo multimedia"
+msgstr "Usar el mismo reproductor para cada archivo audiovisual"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
-msgstr "Abrir un reproductor nuevo por cada archivo multimedia"
+msgstr "Abrir un reproductor nuevo para cada archivo audiovisual"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
@@ -268,15 +268,15 @@ msgstr "Mostrar la ruta completa"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
-msgstr "Solo el nombre de archivo"
+msgstr "Sólo el nombre del archivo"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "No mostrar nada"
+msgstr "No prefijar nada"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Usar título como nombre de archivo"
+msgstr "Reemplazar el nombre del archivo con su título"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -284,23 +284,23 @@ msgstr "Otros"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
msgid "Tray icon"
-msgstr "Icono del área de notificación"
+msgstr "Icono de bandeja del sistema"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "Mostrar OSD (requiere reinicio)"
+msgstr "Mostrar sobreimpresión OSD (precisa reinicio)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
-msgstr "Limitar proporciones de ventana al cambiar su tamaño"
+msgstr "Limitar proporciones al redimensionar ventana"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
-msgstr "Ajustarse a los bordes del escritorio"
+msgstr "Atraer ventana a los bordes del escritorio"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Guardar configuración en archivo .ini"
+msgstr "Guardar configuración en un archivo .ini"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
@@ -308,11 +308,11 @@ msgstr "Desactivar el menú «Abrir disco»"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "Incrementar prioridad del proceso"
+msgstr "Elevar prioridad del proceso sobre normal"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "Activar compatibilidad con carátulas"
+msgstr "Activar soporte para carátulas"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -320,7 +320,7 @@ msgstr "Historial"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
-msgstr "Mantener historial de archivos abiertos recientemente"
+msgstr "Retener historial reciente de archivos abiertos "
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
@@ -328,11 +328,11 @@ msgstr "Recordar última lista de reproducción"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
-msgstr "Recordar la posición del archivo"
+msgstr "Recordar posición del archivo"
msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
msgid "Remember DVD position"
-msgstr "Recordar la posición del DVD"
+msgstr "Recordar posición del DVD"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
@@ -344,7 +344,7 @@ msgstr "Recordar tamaño de la ventana"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Recordar el último reencuadramiento"
+msgstr "Recordar zoom del reencuadre (pan&scan)"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -356,11 +356,11 @@ msgstr "Solicitar ubicación"
msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
msgid "Always open the default location:"
-msgstr "Siempre abrir la ubicación predefinida:"
+msgstr "Abrir siempre la ubicación predefinida:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Idioma favorito para menús de DVD y el «OGM Splitter» externo"
+msgstr "Idioma preferido para el filtro «DVD Navigator» y el «OGM Splitter» externo (demultiplexor)"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -376,11 +376,11 @@ msgstr "Subtítulos"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Additional settings"
-msgstr "Configuración adicional"
+msgstr "Configuraciones adicionales"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Permitir subtítulos en «Decodificador Línea 21»"
+msgstr "Permitir subtitulado para sordos (closed captions, CC) en el filtro «Line 21 Decoder»"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -392,11 +392,11 @@ msgstr "Volumen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Min"
-msgstr "Mín."
+msgstr "Mín"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Max"
-msgstr "Máx."
+msgstr "Máx"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
msgid "Balance"
@@ -416,31 +416,35 @@ msgstr "Reproducción"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
msgid "Play"
-msgstr "Reprod."
+msgstr "Reproducir"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
msgid "Repeat forever"
-msgstr "Repetir para siempre"
+msgstr "Repetir continuamente"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
msgstr "veces"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Modo de repetición:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Tras la reproducción"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Salida"
+msgid "Default zoom"
+msgstr "Zoom predeterminado"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
-msgstr "Escala automática:"
+msgstr "Zoom automático:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
-msgstr "Factor de ajuste automático:"
+msgstr "Factor del auto ajuste:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
@@ -448,7 +452,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Preferencia de pista predefinida"
+msgstr "Preferencias de la pista predeterminada"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -460,7 +464,7 @@ msgstr "Audio:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Permitir la elección de modificación de los divisores externos"
+msgstr "Permitir elección manual de demultiplexor (splitter) externo"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -468,11 +472,11 @@ msgstr "Opciones de apertura"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Usar proceso funcional para construir extr. de filtros"
+msgstr "Usar subproceso de trabajo para construir el diagrama de filtros"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Reportar conectores que no quieran funcionar"
+msgstr "Informar de etapas (del diagrama de filtros) que no logren renderizar"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
@@ -496,7 +500,7 @@ msgstr "Salto de velocidad:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
msgid "Override placement"
-msgstr "Fijar ubicación"
+msgstr "Posicionamiento manual"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
msgid "Horizontal:"
@@ -524,15 +528,15 @@ msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Opciones de textura (es necesario re-abrir el archivo para notar los cambios)"
+msgstr "Opciones de textura (es necesario reabrir el vídeo para notar los cambios)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
-msgstr "Numero de subtítulos para almacenar previamente:"
+msgstr "Subtítulos pre-renderizados en cola:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
-msgstr "Resolución de textura máxima:"
+msgstr "Resolución máxima de la textura:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
@@ -540,7 +544,7 @@ msgstr "Nunca animar los subtítulos"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Representar en"
+msgstr "Renderizar al"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -548,7 +552,7 @@ msgstr "% de la animación"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr "Animar en"
+msgstr "Animar al"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
@@ -556,7 +560,7 @@ msgstr "% de la tasa de fotogramas del vídeo"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Permite desechar algunas subimágenes si la cola lleva retardo"
+msgstr "Permitir desechar algunos subtítulos pre-renderizados si la cola lleva retraso"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -571,8 +575,8 @@ msgid "Warning"
msgstr "Advertencia"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Si activa el modo de suavizado a pantalla completa en la configuración de la tarjeta de vídeo, se incrementará el uso de la CPU sin mejoras de calidad visual de los subtítulos."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Si activa manualmente el suavizado (antialiasing) a pantalla completa en alguno de los ajustes de su tarjeta gráfica, seguramente se disparará el uso de la CPU sin lograr mejorar el aspecto de los subtítulos."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -580,11 +584,11 @@ msgstr "Extensiones de archivo"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
msgid "Default"
-msgstr "Original"
+msgstr "Predefinidas"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
msgid "Set"
-msgstr "Fijar"
+msgstr "Establecer"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
msgid "Association"
@@ -620,7 +624,7 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Basarse primero en extensión"
+msgstr "Basarse primero en la extensión"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -652,11 +656,11 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "CD de audio"
+msgstr "CD audio"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
-msgstr "Distancias de salto (corto, medio, largo en ms)"
+msgstr "Distancias de salto (corto, medio, largo, en ms)"
msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
msgid "Default"
@@ -664,15 +668,15 @@ msgstr "Original"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
-msgstr "Búsqueda rápida (sobre fotograma clave)"
+msgstr "Reposicionamiento rápido al fotograma clave"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
-msgstr "Mostrar las marcas de capítulo en la barra de desplazamiento"
+msgstr "Mostrar marcas de capítulo en la barra de desplazamiento"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "Mostrar la información «Reproduciendo ahora» en el mensaje de estado de ánimo de Skype"
+msgstr "Mostrar información «Now playing [...]» en el estado de ánimo de Skype"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
@@ -680,23 +684,23 @@ msgstr "Evitar minimizar el reproductor en modo a pantalla completa al usar otro
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr "Usar características mejoradas de barra de tareas"
+msgstr "Usar características de la barra de tareas mejorada"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Saltar al archivo anterior/siguiente en la carpeta en «Saltar siguiente/anterior» cuando solo hay un archivo en la lista de reproducción"
+msgstr "Abrir el archivo anterior/siguiente de la carpeta al «Retroceder/Avanzar» cuando sólo haya un elemento en la lista de reproducción"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
-msgstr "Burbuja de tiempo:"
+msgstr "Mostrar etiqueta emergente de tiempo:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
-msgstr "Tipo de letra de OSD:"
+msgstr "Tipo de letra de la sobreimpresión (OSD):"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Activar compatibilidad con LCD Logitech (experimental)"
+msgstr "Activar compatibilidad con LCD de Logitech (pantalla en teclado) (experimental)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
@@ -732,11 +736,11 @@ msgstr "Abajo"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Añadir tipo de medio…"
+msgstr "Añadir tipo de medio"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Añadir tipo de sub.…"
+msgstr "Añadir subtipo..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -776,11 +780,11 @@ msgstr "Autor:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Copyright:"
-msgstr "Derechos del autor:"
+msgstr "Derechos de autor:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Rating:"
-msgstr "Clasificación:"
+msgstr "Valoración:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Location:"
@@ -840,7 +844,7 @@ msgstr "Aceptar"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Modos de reencuadramiento"
+msgstr "Modos de reencuadre (pan&scan)"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -860,7 +864,7 @@ msgstr "Bajar"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
msgid "&Set"
-msgstr "&Fijar"
+msgstr "&Establecer"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
@@ -876,19 +880,19 @@ msgstr "Posición: 0.0 -> 1.0"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Zoom: 0.2 -> 3.0"
-msgstr "Escala: 0.2 → 3.0"
+msgstr "Zoom: 0.2 → 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
-msgstr "Teclas multimedia globales"
+msgstr "Teclas multimedia globales (teclado, mando...)"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
-msgstr "Seleccionar todo"
+msgstr "Seleccionar todas"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
-msgstr "Restablecer selec."
+msgstr "Restablecer seleccionadas"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
@@ -896,11 +900,11 @@ msgstr "Aviso"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC no pudo renderizar algunos de los conectores del esquema. Quizá no haya instalado los códecs o los filtros necesarios en el sistema."
+msgstr "MPC-HC no pudo renderizar algunas de las etapas del diagrama de filtros, puede que no tenga instalados los codecs o filtros necesarios en el sistema."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
-msgstr "Los conectores siguientes no encontraron un filtro conectable:"
+msgstr "La(s) siguiente(s) etapa(s) no pudieron encontrar un filtro conectable:"
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
@@ -1020,15 +1024,15 @@ msgstr "Sombra"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Screen Alignment && Margins"
-msgstr "Alineación de pantalla y márgenes"
+msgstr "Alineamiento en pantalla y márgenes"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
-msgstr "Izq."
+msgstr "Izquierda"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Right"
-msgstr "Der."
+msgstr "Derecha"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Top"
@@ -1040,7 +1044,7 @@ msgstr "Abajo"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "Posición de los subtítulos relativa al tamaño del cuadro de video"
+msgstr "Situar subtítulos en relación al fotograma"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1068,11 +1072,11 @@ msgstr "Remarcado"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
msgid "Link alpha channels"
-msgstr "Enlazar canales alfa"
+msgstr "Canales alpha sincronizados"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Si prefiere utilizar las versiones independientes de estos filtros o algun otro reemplazo, desactívelos aquí."
+msgstr "Si desea utilizar las versiones individuales de estos filtros o algún otro sustituto, desactívelos aquí."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
@@ -1084,11 +1088,11 @@ msgstr "Filtros de transformación"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr "Ajustes de los filtros LAV internos"
+msgstr "Ajustes de los LAV Filters internos"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
-msgstr "Divisor"
+msgstr "Demultiplexor (splitter)"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
@@ -1112,23 +1116,23 @@ msgstr "Examinar…"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
-msgstr "Video DirectShow"
+msgstr "Vídeo DirectShow"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "RealMedia Video"
-msgstr "Video RealMedia"
+msgstr "Vídeo RealMedia"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "QuickTime Video"
-msgstr "Video QuickTime"
+msgstr "Vídeo QuickTime"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
msgstr "Renderizador de audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Ajustes de VMR-7/VMR-9 (sin renderizador) y EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Configuración de VMR-9 (sin renderizado) / EVR (CP) "
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1136,11 +1140,11 @@ msgstr "Superficie:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Resizer:"
-msgstr "Redimensión:"
+msgstr "Redimensionador:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Seleccionar dispositivo Render D3D9"
+msgstr "Escoger dispositivo rederizador D3D9"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
@@ -1152,7 +1156,7 @@ msgstr "D3D a pantalla completa"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "VSync alternativo"
+msgstr "VSync alternativa"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
@@ -1160,11 +1164,11 @@ msgstr "VMR-9 en modo mixer"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "Mixer YUV"
+msgstr "YUV mixing (bajo consumo)"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
-msgstr "Búferes de EVR:"
+msgstr "Buffers (colas) de EVR:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DXVA"
@@ -1176,19 +1180,23 @@ msgstr "Subtítulos"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
-msgstr "Captura de pantalla"
+msgstr "C. de pant."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr "Sombreadores"
+msgstr "Shaders"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
-msgstr "Giro"
+msgstr "Rotación"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr "Motor de visualización de subtítulos"
+msgstr "Motor renderizador de subtítulos"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Almacenar shaders compilados en caché"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1204,7 +1212,7 @@ msgstr "Activar compresión"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
-msgstr "Permitir acceso solo desde el equipo local"
+msgstr "Permitir acceso sólo desde este equipo (localhost)"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
@@ -1235,16 +1243,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Manejadores de CGI: (.ext1=ruta1;.ext2=ruta2;…)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtítulos disponibles en línea"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Descargar y abrir"
+msgid "Download subtitles"
+msgstr "Descargar subtítulos"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Remplazar los subtítulos cargados actualmente"
+msgstr "Remplazar subtítulos cargados actualmente"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Descargar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Actualizar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Interrumpir"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opciones"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Subir subtítulos"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Subir"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abandonar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opciones"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1292,7 +1328,7 @@ msgstr "días"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Settings management"
-msgstr "Gestión de configuración"
+msgstr "Gestión de la configuración"
msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
msgid "Reset"
@@ -1348,7 +1384,7 @@ msgstr "Q"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
msgid "Use an offset"
-msgstr "Usar un desplazamiento"
+msgstr "Usar un desfase"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
@@ -1380,7 +1416,7 @@ msgstr "País"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Digital settings (BDA)"
-msgstr "Configuración digital (BDA)"
+msgstr "Configuración digital (BDA (drivers de TV))"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
msgid "Network Provider"
@@ -1400,11 +1436,11 @@ msgstr "Forma de conmutación de canal:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
-msgstr "Reconstruir gráfico de filtros"
+msgstr "Rehacer diagr. filtros"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr "Detener gráfico de filtros"
+msgstr "Detener diag. filtros"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
@@ -1416,7 +1452,7 @@ msgstr "Ajuste de frecuencia:"
msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
msgid "Sync display to video"
-msgstr "Sincronizar pantalla con el vídeo"
+msgstr "Sincronizar pantalla con el vídeo (requiere PowerStrip y tarjeta gráfica compatible)"
msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
msgid "Frequency adjustment:"
@@ -1432,11 +1468,11 @@ msgstr "columnas"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "Presentar al vsync más cercano"
+msgstr "Presentar al valor de sincronización vertical (VSync) más próximo"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Desfase de sincronización:"
+msgstr "Objetivo de desfase de la sincro:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1484,7 +1520,7 @@ msgstr "Monitor a pantalla completa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "Usar modo de cambio automático a pantalla completa"
+msgstr "Usar modo de cambio automático a pantalla completa del monitor"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1504,7 +1540,7 @@ msgstr "Bajar"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
-msgstr "Usar modo predet. del monitor al salir de pantalla completa"
+msgstr "Aplicar modo predeterminado del monitor al salir de pantalla completa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
msgid "Restore resolution on program exit"
@@ -1532,11 +1568,11 @@ msgstr "Preferir pistas de subtítulos forzadas/predeterminadas"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Preferir subtítulos externos a los incorporados"
+msgstr "Preferir subtítulos externos a los integrados"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Ignorar los subtítulos incorporados"
+msgstr "Ignorar los subtítulos integrados"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
@@ -1547,16 +1583,28 @@ msgid "Reset"
msgstr "Restablecer"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Base de datos en línea"
+msgid "Online search, download and upload subtitles"
+msgstr "Búsqueda en línea, descarga y subida de subtítulos"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Buscar y descargar subtítulos automáticamente si no se encuentran localmente"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferir subtítulos para sordos (cuando los indique (CC) el proveedor)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorar archivos que contengan cualquiera de estas palabras:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL básico de la base de datos de subtítulos:"
+msgid "Languages in order of preference:"
+msgstr "Idiomas en orden de preferencia:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Probar"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Subir subtítulos activos automáticamente al finalizar la reproducción"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1576,11 +1624,11 @@ msgstr "&Ignorar esta actualización"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Los sombreadores contienen efectos especiales que pueden añadirse al proceso de renderización del vídeo."
+msgstr "Los shaders ('sombreadores') contienen efectos especiales que pueden añadirse al proceso de renderización del vídeo."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "Añadir archivo sombreador"
+msgstr "Añadir archivo shader"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1596,7 +1644,7 @@ msgstr "Añadir a posredimensión"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Sombreador predefinido"
+msgstr "Preajustes de shader"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1612,15 +1660,15 @@ msgstr "Eliminar"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "Shaders de preredimensión activos"
+msgstr "Shaders de pre-redimensionado activos"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "Shaders de postredimensión activos"
+msgstr "Shaders de post-redimensionado activos"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr "Depurar sombreadores"
+msgstr "Depurar shaders"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
@@ -1644,7 +1692,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Configuración avanzada. No la modifique a menos que sepa lo que hace."
+msgstr "Configuraciones avanzadas. No las modifique a menos que sepa lo que hace."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1700,7 +1748,7 @@ msgstr "Nota"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr "Para minimizar la distorsión del sonido, se recomienda mantener el volumen del reproductor en torno al 85 % al reproducir contenido ruidoso codificado con pérdidas."
+msgstr "Para minimizar la distorsión del audio, se recomienda mantener el volumen del reproductor en torno al 85 % para el contenido ruidoso con compresión a pérdida."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1736,11 +1784,11 @@ msgstr "Correo electrónico:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr "Su direccion de correo electrónico es opcional y sólo se usará si los desarrolladores necesitan contactar con usted para recabar más información."
+msgstr "Su dirección de correo electrónico es opcional y solo se usará si los desarrolladores necesitan contactar con usted para recabar más información."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr "Descripción del problema (use sólo inglés):"
+msgstr "Descripción del problema (en inglés únicamente):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
index d46e96376..7191681c4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
@@ -1,19 +1,19 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2015-2016
+# Adolfo Jayme-Barrientos, 2014
# JellyFrog, 2013
# squallmx <squallmx@users.sourceforge.net>, 2014
-# strel, 2014-2015
+# strel, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-30 03:58+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-05-19 14:51+0000\n"
+"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/mpc-hc/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +27,7 @@ msgstr "&Archivo"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "Abrir archivo &rápido…"
+msgstr "Apertura &rápida de archivo…"
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
@@ -69,29 +69,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Guardar &miniaturas…"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Cargar &subtítulos…"
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Guardar s&ubtitulos…"
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Base de &datos de subtítulos"
+msgid "S&ubtitles"
+msgstr "Subtítulos"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Buscar…"
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Cargar subtítulos…"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "S&ubir…"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "G&uardar subtítulos…"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Descargar…"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Descargar subtítulos…"
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Subir subtítulos…"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -107,11 +103,11 @@ msgstr "&Ver"
msgctxt "ID_VIEW_CAPTIONMENU"
msgid "Caption&&Menu"
-msgstr "Subtítulos &y menú"
+msgstr "Barra de título &y menú"
msgctxt "ID_VIEW_SEEKER"
msgid "See&k Bar"
-msgstr "Barra de na&vegación"
+msgstr "Barra de despla&zamiento"
msgctxt "ID_VIEW_CONTROLS"
msgid "&Controls"
@@ -131,7 +127,7 @@ msgstr "Est&ado"
msgctxt "ID_VIEW_SUBRESYNC"
msgid "Su&bresync"
-msgstr "Su&bresync"
+msgstr "Resincronización de su&btítulos"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
@@ -147,11 +143,11 @@ msgstr "Na&vegación"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Depurar sombreadores"
+msgstr "&Depurar shaders"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "&Modos de interfaz"
+msgstr "&Preajustes..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
@@ -171,7 +167,7 @@ msgstr "&Pantalla completa"
msgctxt "POPUP"
msgid "&Zoom"
-msgstr "&Escala"
+msgstr "&Zoom"
msgctxt "ID_VIEW_ZOOM_50"
msgid "&50%"
@@ -187,19 +183,19 @@ msgstr "&200 %"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
-msgstr "&Ajuste automático"
+msgstr "&Auto ajuste"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Ajuste autom. (si es más &grande)"
+msgstr "Auto ajustar (si es más &grande)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "Opciones del renderi&zador"
+msgstr "Ajustes del renderi&zador"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "Prueba de efecto &peine"
+msgstr "Prueba de efecto &rasgado (tearing)"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
@@ -211,7 +207,7 @@ msgstr "Mostrar &hora actual"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr "Mostrar nombre de archi&vo"
+msgstr "Mostrar nombre del archi&vo"
msgctxt "POPUP"
msgid "&Output Range"
@@ -231,27 +227,27 @@ msgstr "&Presentación"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "&Modo D3D a pantalla completa"
+msgstr "&Modo Direct3D (D3D) a pantalla completa"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "D3D a pantalla completa con I&GU"
+msgstr "Soporte de interfaz (GUI) Direct3D (D3D) a pantalla completa"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "Salida &RGB a 10 bits"
+msgstr "Salida &RGB de 10 bits"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "Forzar &entrada RGB a 10 bits"
+msgstr "Forzar &entrada RGB de 10 bits"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Procesamiento en coma &flotante completo"
+msgstr "Procesado en coma &flotante completo"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Procesamiento en coma flotante &medio"
+msgstr "Procesado en &semi coma flotante"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
@@ -259,11 +255,11 @@ msgstr "Desactivar composición de escritorio (&Aero)"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Activar &corrección de tiempo de fotograma"
+msgstr "Activar &corrección de tiempo del fotograma"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "Gestión de &colores"
+msgstr "Gestión de &color"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
@@ -291,31 +287,31 @@ msgstr "SDTV, &PAL"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "&Luz ambiental"
+msgstr "&Luz ambiente"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
-msgstr "&Brillante (2,2 gamma)"
+msgstr "&Brillante (Gamma 2,2)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "&Tenue (2,35 gamma)"
+msgstr "&Tenue (Gamma 2,35)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
-msgstr "&Oscura (2,4 gamma)"
+msgstr "&Oscura (Gamma 2,4)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "&Opciones de procesamiento"
+msgstr "&Gama (intent) de renderización"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
-msgstr "Perceptual"
+msgstr "&Perceptiva (recomendada)"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "Colorimétrico &relativo"
+msgstr "Colorimétrica &relativa (recomendada)"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
@@ -323,31 +319,31 @@ msgstr "&Saturación"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "Colorimétrico &absoluto"
+msgstr "Colorimétrica &absoluta"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "Sincronía &vertical (VSync)"
+msgstr "Sincronización &vertical (VSync)"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "Sincronía &vertical"
+msgstr "&VSync (sincro. vídeo/pantalla)"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "VSync &precisa"
+msgstr "&Precisa (usa más CPU)"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "VSync &alternativa"
+msgstr "&Alternativa (evita D3D, sugerida)"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Reducir compensación VSync"
+msgstr "&Reducir desfase de la VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "A&umentar compensación VSync"
+msgstr "A&umentar desfase de la VSync"
msgctxt "POPUP"
msgid "&GPU Control"
@@ -355,11 +351,11 @@ msgstr "Control de la &GPU"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Vaciar GPU &antes de VSync"
+msgstr "Vaciar GPU &antes de la VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Vaciar GPU &tras el presente"
+msgstr "Vaciar GPU &tras presentar (Present)"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
@@ -383,7 +379,7 @@ msgstr "&Fotograma"
msgctxt "ID_VIEW_VF_HALF"
msgid "&Half Size"
-msgstr "Tamaño &medio"
+msgstr "&Mitad de tamaño"
msgctxt "ID_VIEW_VF_NORMAL"
msgid "&Normal Size"
@@ -399,31 +395,27 @@ msgstr "A&justar a la ventana"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "&Tocar ventana desde adentro"
+msgstr "&Tocar ventana desde dentro"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
-msgstr "Escala &1"
+msgstr "Zoom &1"
msgctxt "ID_VIEW_VF_ZOOM2"
msgid "Zoom &2"
-msgstr "Escala &2"
+msgstr "Zoom &2"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "Tocar ventana desde a&fuera"
-
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Mantener relación de aspecto"
+msgstr "Tocar ventana desde &fuera"
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Forzar relación de aspecto específica"
+msgid "&Aspect Ratio"
+msgstr "Relación de &aspecto (AR)"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Predeterminada"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Pre&determinada (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -445,13 +437,17 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Asumir píxeles cuadrados (&SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "&Corregir dif. monitor/escritorio de RP"
+msgstr "&Corregir diferencia de AR monitor/escritorio"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Reen&cuadramiento"
+msgstr "Reen&cuadre (pan&scan)"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -531,16 +527,32 @@ msgstr "&Reproducir"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Reproducir/pausar"
+msgstr "&Reproducir/Pausar"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
msgstr "&Detener"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "A&vanzar un fotograma"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Repetir"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "P&ermanentemente"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Archivo"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista de reproducción"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Reducir velocidad"
@@ -570,7 +582,7 @@ msgid "Su&btitle Track"
msgstr "Pista de su&btítulos"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pista de &vídeo"
msgctxt "POPUP"
@@ -599,7 +611,7 @@ msgstr "No hacer na&da"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
-msgstr "Reproducir &siguiente archivo en la carpeta"
+msgstr "Reproducir &siguiente archivo de la carpeta"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
@@ -651,7 +663,7 @@ msgstr "Menú de &título"
msgctxt "ID_NAVIGATE_ROOTMENU"
msgid "&Root Menu"
-msgstr "Menú de &raíz"
+msgstr "Menú &raíz"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
@@ -687,7 +699,7 @@ msgstr "&Buscar actualizaciones"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "&Opciones de consola"
+msgstr "&Parámetros de consola"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
index 2324acfc3..ed62feaaa 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
@@ -1,23 +1,24 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014-2015
-# Adolfo Jayme Barrientos, 2015
-# Adolfo Jayme Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2014-2015
+# Adolfo Jayme-Barrientos, 2015-2016
+# Adolfo Jayme-Barrientos, 2014
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2013
-# fdelacruz <freddy@delacruz.cl>, 2014
+# Adolfo Jayme-Barrientos, 2016
+# fdelacruz <inactive+fdelacruz@transifex.com>, 2014
# Johan Ramirez <idonthumanbeing@gmail.com>, 2014
# Johan Ramirez <idonthumanbeing@gmail.com>, 2014
# Alpha120 <juanhc120@gmail.com>, 2014
# squallmx <squallmx@users.sourceforge.net>, 2014
-# strel, 2014-2015
+# strel, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-10 11:31+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 13:00+0000\n"
+"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/mpc-hc/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -47,7 +48,7 @@ msgstr "Capítulo"
msgctxt "IDS_CONTROLS_COMPLETING"
msgid "Completing..."
-msgstr "Completando..."
+msgstr "Completando…"
msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
msgid "Play Video"
@@ -69,17 +70,25 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Propiedades"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Archivo"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Estilo pre&determinado"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lista de reproducción"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Archivos"
msgctxt "IDS_FAVDVDS"
msgid "DVDs"
-msgstr "DVD"
+msgstr "DVDs"
msgctxt "IDS_INFOBAR_CHANNEL"
msgid "Channel"
@@ -107,7 +116,7 @@ msgstr "Tasa de bits"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(prom./act.)"
+msgstr "(promedio/actual)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -115,7 +124,7 @@ msgstr "Señal"
msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
msgid "Strength: %d dB, Quality: %ld%%"
-msgstr "Potencia: %d dB, calidad: %ld %%"
+msgstr "Potencia: %d dB, Calidad: %ld %%"
msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
msgid "Styles"
@@ -123,47 +132,67 @@ msgstr "Estilos"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Si se deja sin definir el objetivo de representación, los subtítulos SSA/ASS se mostrarán en relación al fotograma de vídeo y el resto se mostrará en relación a la ventana."
+msgstr "Si no se define el objetivo de renderizado, los subtítulos en formato SSA/ASS se representarán en relación al fotograma mientras el resto de subtítulos de texto se representarán en relación a la ventana."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Modo de repetición: Lista de reproducción"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Modo de repetición: Archivo"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repetir continuamente: Activado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repetir continuamente: Desactivado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repetir continuamente"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
-msgstr "Nunca (método más rápido)"
+msgstr "Nunca (opción más rápida)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
-msgstr "Solo cuando se cambia entre vídeos de diferentes tipos (predeterminado)"
+msgstr "Sólo al cambiar entre distintos tipos de vídeo (por defecto)"
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
-msgstr "Siempre (la opción más lenta)"
+msgstr "Siempre (opción más lenta)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Algunos dispositivos no lo admiten. Dos decodificadores de vídeo siempre presentes en el gráfico de filtros."
+msgstr "Algunos dispositivos no lo admiten. Dos decodificadores de vídeo siempre presentes en el diagrama de filtros."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Rápido excepto cuando se cambia entre diferentes flujos de vídeo. Solo un codificador de vídeo presente en el grafo de filtros."
+msgstr "Rápido excepto al cambiar entre distintos flujos de vídeo. Sólo hay un decodificador de vídeo en el diagrama de filtros."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
-msgstr "No recomendado. Solo para propósitos de prueba."
+msgstr "No recomendado. Sólo para propósitos de prueba."
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
-msgstr "Nunca si es posible (más rápido, pero no admitido por la mayoría de los filtros)"
+msgstr "Nunca si es posible (más rápido, pero no soportado por la mayoría de filtros)"
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
-msgstr "Solo al cambiar entre diferentes tipos de vídeos (predeterminado)"
+msgstr "Sólo al cambiar entre distintos tipos de vídeo (por defecto)"
msgctxt "IDS_PPAGE_CAPTURE_SFG2"
msgid "Always (may be required by some devices)"
-msgstr "Siempre (puede ser requerido por algunos dispositivos)"
+msgstr "Siempre (puede que sea requerido por algunos dispositivos)"
msgctxt "IDS_INFOBAR_PARENTAL_RATING"
msgid "Parental rating"
-msgstr "Clasificación parental"
+msgstr "Calificación parental"
msgctxt "IDS_PARENTAL_RATING"
msgid "%d+"
@@ -171,7 +200,7 @@ msgstr "%d+"
msgctxt "IDS_NO_PARENTAL_RATING"
msgid "Not rated"
-msgstr "Sin clasificar"
+msgstr "No calificado"
msgctxt "IDS_INFOBAR_CONTENT"
msgid "Content"
@@ -199,7 +228,7 @@ msgstr "DVD añadido a favoritos"
msgctxt "IDS_CAPTURE_SETTINGS"
msgid "Capture Settings"
-msgstr "Configuración de captura"
+msgstr "Ajustes de captura"
msgctxt "IDS_NAVIGATION_BAR"
msgid "Navigation Bar"
@@ -207,7 +236,7 @@ msgstr "Barra de navegación"
msgctxt "IDS_SUBRESYNC_CAPTION"
msgid "Subresync"
-msgstr "Subresync"
+msgstr "Resincronización de subtítulos"
msgctxt "IDS_SUBRESYNC_CLN_TIME"
msgid "Time"
@@ -247,11 +276,11 @@ msgstr "Tipo de letra"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Fallo al renderizar algunos pines del filtro Navegador de DVD"
+msgstr "No se pudieron renderizar algunas de las etapas de filtro «DVD Navigator»"
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
-msgstr "Fallo al consultar las interfaces requeridas para la reproducción de DVD"
+msgstr "No se pudieron consultar las interfaces requeridas para la reproducción de DVD"
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
@@ -259,11 +288,11 @@ msgstr "En vivo"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
-msgstr "No se puede añadir el filtro de captura de vídeo al gráfico"
+msgstr "No se puede añadir el filtro de captura de vídeo al diagrama de filtros"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "No se puede añadir el filtro de captura de audio al gráfico"
+msgstr "No se puede añadir el filtro de captura de audio al diagrama de filtros"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -271,19 +300,19 @@ msgstr "No se pudo abrir el dispositivo de captura."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
-msgstr "No se puede abrir: los parámetros de entrada no son válidos"
+msgstr "No se puede abrir, parámetros de entrada no válidos"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
-msgstr "Editar editor de listas"
+msgstr "Editor de listas de edición (EDLs)"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
-msgstr "El tiempo insertado es mayor que la duración del archivo."
+msgstr "El tiempo introducido es mayor que la duración del archivo."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "No se encuentra la biblioteca de iconos «mpciconlib.dll».\nSe usará el icono predeterminado del reproductor en las asociaciones de archivos.\nReinstale MPC-HC para obtener «mpciconlib.dll»."
+msgstr "No se encuentra la librería de iconos «mpciconlib.dll».\nSe usará el icono predeterminado del reproductor para las asociaciones de archivos.\nReinstale MPC-HC para obtener «mpciconlib.dll»."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -307,7 +336,7 @@ msgstr "Título(s)"
msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
msgid "CharSet"
-msgstr "Conjunto de caracteres"
+msgstr "Juego de caracteres"
msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
msgid "Unicode"
@@ -331,7 +360,7 @@ msgstr "Lista de reproducción"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
-msgstr "Activado/desactivado"
+msgstr "Activado/Desactivado"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
@@ -343,7 +372,7 @@ msgstr "A (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
-msgstr "Modo de visualización (Hz)"
+msgstr "Modo de pantalla (Hz)"
msgctxt "IDS_PPAGE_FS_DEFAULT"
msgid "Default"
@@ -355,19 +384,19 @@ msgstr "Otros"
msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
msgid "System Default"
-msgstr "Predefinido del sistema"
+msgstr "Predeterminado del sistema"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr "Fallo al consultar las interfaces requeridas para la reproducción"
+msgstr "No se pudieron consultar las interfaces requeridas para la reproducción"
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
-msgstr "No se puede establecer la ventana destino para la notificación gráfica"
+msgstr "No se pudo establecer la ventana destino para las notificaciones del diagrama de filtros"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Fallo al renderizar todos los pines del filtro Navegador de DVD"
+msgstr "No se pudieron renderizar todas las etapas de filtro «DVD Navigator»"
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -379,7 +408,7 @@ msgstr "A&ñadir"
msgctxt "IDS_PLAYLIST_REMOVE"
msgid "&Remove"
-msgstr "&Quitar"
+msgstr "&Eliminar"
msgctxt "IDS_PLAYLIST_CLEAR"
msgid "C&lear"
@@ -403,7 +432,7 @@ msgstr "Ordenar por &ruta"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
-msgstr "&Aleatorio"
+msgstr "Orden &aleatorio"
msgctxt "IDS_PLAYLIST_RESTORE"
msgid "R&estore"
@@ -471,7 +500,7 @@ msgstr "Filtros externos"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "Reproducción::Sombras"
+msgstr "Reproducción::Shaders"
msgctxt "IDD_FILEPROPRES"
msgid "Resources"
@@ -479,7 +508,7 @@ msgstr "Recursos"
msgctxt "IDD_PPAGEMISC"
msgid "Miscellaneous"
-msgstr "Varias"
+msgstr "Varios"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
@@ -491,7 +520,7 @@ msgstr "Reproducción::Captura"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Reproducción::Config. de Sync Renderer"
+msgstr "Reproducción::Renderizador Sync"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
@@ -507,47 +536,39 @@ msgstr "Conmutador de audio"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
-msgstr "Nueva versión de la biblioteca de iconos"
+msgstr "Nueva versión de la librería de iconos"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
-msgstr "¿Quiere reasociar los iconos?"
+msgstr "¿Quiere volver a asociar los iconos?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Esto reparará los iconos que muestran incorrectamente después de una actualización de la biblioteca de icono.\nLas asociaciones de archivo no serán modificadas, solo los iconos correspondientes serán actualizados."
+msgstr "Esto repara los iconos que se muestran incorrectamente después de una actualización de la librería de de iconos.\nLas asociaciones de archivo no se modificarán, sólo se actualizarán los iconos correspondientes."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "Renderizador viejo de vídeo"
+msgstr "(old) Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "Overlay Mixer Renderer"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (modo ventana)"
+msgstr "Renderizador Overlay Mixer"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "Video Mixing Renderer 9 (modo ventana)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (sin renderizador)"
+msgstr "Video Mixing Renderer 9 (windowed) [VMR-9 (modo ventana)]"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Video Mixing Renderer 9 (sin renderización)"
+msgstr "Video Mixing Renderer 9 (renderless) [VMR-9 (sin renderizado)]"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "Renderizador de vídeo mejorado"
+msgstr "Enhanced Video Renderer [EVR]"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr "Renderizador de vídeo mejorado (presentador personalizado)"
+msgstr "Enhanced Video Renderer (presentador personalizado) [EVR (CP)]"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
@@ -555,11 +576,11 @@ msgstr "Renderizador de vídeo Haali"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
-msgstr "Nulo (cualquier cosa)"
+msgstr "Null (cualquier entrada)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Nulo (sin compresión)"
+msgstr "Null (entrada no comprimida)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -589,10 +610,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Reproductor::Interfaz web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtítulos::Base de datos"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalles"
@@ -603,95 +620,79 @@ msgstr "Clip"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Filtro renderizador predeterminado para DirectShow. Otros lo utilizaran cuando no puedan cargarse adecuadamente por cualquier razón. En Windows XP es lo mismo que VMR-7 (ventana)."
+msgstr "Filtro renderizador de vídeo predeterminado para DirectShow. Otros filtros recurrirán a este cuando no puedan cargarse adecuadamente por cualquier motivo. En Windows XP es el propio VMR-7 (modo ventana)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Este es el renderizador predeterminado para Windows 9x/Me/2K. Dependiendo de la visibilidad de la ventana de video y de las capacidades de tu tarjeta gráfica, escogerá dinámicamente entre los renderizadores GDI, DirectDraw, y Overlay."
+msgstr "El antiguo Renderizador de Vídeo es el filtro renderizador predeterminado de Windows 9x/ME/2K. Dependiendo de la visibilidad de la ventana de vídeo y de las capacidades de su tarjeta gráfica, alternará dinámicamente entre los modos de renderizado GDI (interfaz [básica] del dispositivo gráfico), DirectDraw (una interfaz intensiva del entorno DirectX), y Overlay (hardware de renderizado directo)."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr ""
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "El renderizado predeterminado de XP. Muy estable y solo un poco mas lento que el mezclador Overlay. Usa DirectDraw y usa el Overlay cuando puede."
+msgstr "El filtro Overlay Mixer siempre renderiza en modo Overlay (hardware de renderizado directo). Generalmente sólo permite formatos de vídeo con codificación de color YUV, que se representan directamente sin ninguna conversión (bajo consumo) del color a RGB. Este es el modo de renderización más rápido de todos, y el único con el que puede estar seguro acerca de la activación de la replicación del vídeo en pantalla completa hacia la salida de TV."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Solo disponible si tienes instalado DirectX 9. Tiene las mismas habilidades que VMR-7 (ventana), pero nunca usara el renderizado Overlay y por tal razón podría ser un poco mas lento que VMR-7 (ventana)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Lo mismo que VMR-7 (ventana), pero con el plugin \"Allocator-Presenter\" de MPC-HC para el subtitulado. El espejo de Overlay NO funcionara. Se recomienda la profundidad de color del escritorio \"Color Verdadero\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "El Renderizador Mezclador de Vídeo 9 sólo está disponible si tiene el entorno DirectX 9 instalado. Es muy estable, pero nunca usará renderizado Overlay (hardware de renderizado directo) y a causa de esto puede ser un poco más lento que que el filtro renderizador Overlay Mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Lo mismo que VMR-9 (ventana), pero con el plugin \"Allocator-Presenter\" de MPC-HC para el subtitulado. El espejo de Overlay TALVEZ funcionara. Se recomienda la profundidad de color del escritorio \"Color Verdadero\"."
+msgstr "Lo mismo que el renderizador VMR-9 (modo ventana), pero con el componente Allocator-Presenter (asignador-presentador) de MPC-HC para el subtitulado. La replicación de vídeo en modo Overlay (hardware de renderizado directo) QUIZÁ funcione. Se recomienda la profundidad de color de escritorio «Color verdadero». Está indicado para Windows XP."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Igual que VMR-9 (sin renderizador), pero usa un redimensionador bicúbico de dos pasadas real. "
+msgstr "Lo mismo que el renderizador VMR-9 (sin renderizado), pero usa un redimensionador bicúbico en dos pasadas reales. "
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Funciona con cualquier tipo de vídeo e impide el envío de las muestras entrantes. Úselo si no necesita ver el vídeo y quiere evitar el uso innecesario de la CPU."
+msgstr "Renderizador nulo. Conecta con cualquier tipo de medio estilo-vídeo y envía el muestreo entrante a anulación. Úselo si no necesita mostrar el vídeo y quiere evitar el consumo innecesario de CPU."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "Igual que el renderizador Nulo normal, pero este solo conectara a tipos sin compresión."
+msgstr "Renderizador nulo igual que el normal, pero este sólo conectara con medios de tipos sin compresión."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Solo disponible en Vista o superior o en XP con al menos el Marco de trabajo .Net 3.5 instalado."
+msgstr "Solo disponible en Vista o superior, o en XP con .NET Framework 3.5 o superior instalado."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Lo mismo que EVR, pero con el complemento «Allocator-Presenter» de MPC-HC para el subtitulado y el posprocesamiento. Recomendado para Windows Vista en adelante."
+msgstr "Lo mismo que el renderizador EVR, pero con el componente Allocator-Presenter (asignador-presentador) de MPC-HC para el subtitulado y postprocesado. Está indicado para Windows Vista o superior."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr "Representador de alta calidad, requiere una GPU que admita D3D9 o superior."
+msgstr "Renderizador de alta calidad, requiere una GPU que soporte D3D9 (interfaz Direct3D del entorno DirectX 9) o superior."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr "Lo ismo que EVR (CP), pero ofrece bastantes opciones para sincronizar la tasa de marcos del vídeo con la tasa de actualización de visualización para eliminar marcos de vídeo saltados o duplicados."
+msgstr "El renderizador de sincronización es lo mismo que el renderizador EVR (CP), pero ofrece bastantes opciones para sincronizar la tasa de fotogramas con la frecuencia de refresco de pantalla para eliminar fotogramas omitidos o duplicados."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "El propio renderizador de Real. Los scripts SMIL funcionaran, pero la interacción probablemente no. Usa DirectDraw y corre en Overlay cuando puede."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La salida del mecanismo de Real será renderizado por el \"Allocator-Presenter\" basado en DX7 de VMR-7 (sin render)."
+msgstr "El renderizador propio de Real. Los scripts SMIL funcionaran, pero la interactividad probablemente no. Usa la interfaz de renderizado DirectDraw (versiones antiguas de DirectX), y cuando puede el modo Overlay (hardware de renderizado directo)."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "La salida del mecanismo de Real será renderizado por el \"Allocator-Presenter\" basado en DX9 de VMR-9 (sin render)."
+msgstr "La salida del motor de Real se expresará por el componente Allocator-Presenter (asignador-presentador) del renderizador VMR-9 (sin renderizado) del entorno DX9 (DirectX 9)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "El renderizador propio de QuickTime. Se vuelve un poco lento cuando su área de video es redimensionada o parcialmente cubierta por otra ventana. Cuando el overlay no esta disponible le gusta regresarse a GDI."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La salida del mecanismo de QuickTime será renderizado por el \"Allocator-Presenter\" basado en DX7 de VMR-7 (sin render)."
+msgstr "El renderizador propio de QuickTime. Se vuelve un poco lento cuando su área de vídeo es redimensionada o es parcialmente cubierta por otra ventana. Cuando el modo Overlay (hardware de renderizado directo) no está disponible le gusta recurrir al modo GDI (interfaz [básica] del dispositivo gráfico)."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "La salida del mecanismo de QuickTime será renderizado por el \"Allocator-Presenter\" basado en DX9 de VMR-9 (sin render)."
+msgstr "La salida del motor de QuickTime será representada por el componente Allocator-Presenter (asignador-presentador) del renderizador VMR-9 (sin renderizado) del entorno DirectX 9 (DX9)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
-msgstr "La superficie de video será distribuida como una superficie regular fuera de pantalla."
+msgstr "La superficie de vídeo será asignada como una superficie regular fuera de pantalla."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr "Renderizador de sincronización"
+msgstr "Renderizador Sync"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
-msgstr "Superficie fuera de pantallas convencionales"
+msgstr "Superficie simple normal fuera de pantalla"
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
@@ -699,7 +700,7 @@ msgstr "Superficies 2D"
msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
msgid "3D surfaces (recommended)"
-msgstr "Superficies 3D (recomendado)"
+msgstr "Superficies 3D (aconsejado)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
@@ -711,19 +712,19 @@ msgstr "Bilineal"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
msgid "Bilinear (PS 2.0)"
-msgstr "Bilineal (PS 2.0)"
+msgstr "Bilineal (Pixel Shader 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
msgid "Bicubic A=-0.60 (PS 2.0)"
-msgstr "Bicúbica A=-0.60 (PS 2.0)"
+msgstr "Bicúbico A=-0.60 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
msgid "Bicubic A=-0.75 (PS 2.0)"
-msgstr "Bicúbica A=-0.75 (PS 2.0)"
+msgstr "Bicúbico A=-0.75 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
msgid "Bicubic A=-1.00 (PS 2.0)"
-msgstr "Bicúbica A=-1.00 (PS 2.0)"
+msgstr "Bicúbico A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
@@ -735,11 +736,11 @@ msgstr "El renderizador seleccionado no está instalado."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr "Nulo (cualquier cosa)"
+msgstr "Renderizador nulo (cualquier entrada)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Nulo (sin compresión)"
+msgstr "Renderizador nulo (entrada no comprimida)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
@@ -755,11 +756,15 @@ msgstr "Tipo MIME"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Active la interfaz web para ver recursos incorporados en el navegador.\n\nSi solo quiere guardar la información, utilice el botón «Guardar como»."
+msgstr "Para ver recursos incrustados de su navegador tiene que habilitar la interfaz web.\n\nSi sólo quiere guardar la información, utilice el botón «Guardar como»."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Descargar subtítulos"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Descargar subtítulos…"
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Subir subtítulos…"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -767,99 +772,111 @@ msgstr "Retardo (ms):"
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
-msgstr "Automático"
+msgstr "Auto"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr "No hay teclas personalizadas para exportar."
+msgstr "No hay teclas personalizadas que exportar."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
-msgstr "No se encontraron archivos de multimedia en el comprimido"
+msgstr "No se encontraron ficheros audiovisuales en el archivo"
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
-msgstr "No se admiten los archivos comprimidos"
+msgstr "Los archivos comprimidos no están soportados"
msgctxt "IDS_RFS_ENCRYPTED"
msgid "Encrypted files are not supported"
-msgstr "No se admiten los archivos cifrados"
+msgstr "Los archivos cifrados no están soportados"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr "No se encontraron todas las partes del archivador"
+msgstr "No se encontraron todas las partes del archivo"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "La superficie de video será distribuida como una textura pero aun así las funciones 2D serán usadas para copiar y alargar en el backbuffer. Requiere una tarjeta de video que pueda alocar RGBA de 32 bits, por lo menos a la resolución del video."
+msgstr "La superficie de vídeo se asignará como una textura pero todavía se usarán las funciones 2D para copiarla y ajustarla dentro del backbuffer (buffer no visible). Requiere una tarjeta gráfica que pueda asignar profundidades de color de 32 bits, patrón de color RGBA, texturas con dimensiones que no sean potencias de 2, y que pueda hacerlo al menos en la resolución del vídeo."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "La superficie del video será distribuida como una textura y dibujada como dos triángulos en 3D. Si el antialiasing esta activado en la configuración de la tarjeta grafica podría reducir la velocidad de renderización."
+msgstr "La superficie de vídeo se asignará como una textura y se dibujará como una malla de pares de triángulos en 3D. Si el suavizado (antialiasing) está activado en la configuración de pantalla, esto podría reducir la velocidad de renderización."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "Si no se admite Pixel Shader 2.0, se usará automáticamente el redimensionamiento bilinear sencillo."
+msgstr "Si no hay soporte para Pixel Shader 2.0 (PS 2.0), se usará automáticamente el redimensionamiento bilineal simple."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Pone a VMR-9 (sin render) en el modo del mezclador, esto significa que la mayoría de los controles de la página de propiedades funcionaran y usara un proceso de trabajo separado para renderizar cuadros."
+msgstr "Pone el renderizador VMR-9 (sin renderizado) en modo mezclador, esto significa que la mayoría de los controles de su página de propiedades funcionarán y usará un subproceso de trabajo aparte para renderizar fotogramas."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr "Mejora el rendimiento a costa de cierta compatibilidad del renderizador."
+msgstr "Mejora el rendimiento a cambio de cierta compatibilidad del renderizador."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr "Reduce el desgarre pero evita que se muestre la barra de herramientas."
+msgstr "Reduce el efecto desgarro (tearing) pero evita que se muestre la barra de herramientas."
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Reduce el parpadeo al ignorar el VSync predeterminado dentro de D3D."
+msgstr "Reduce el efecto desgarro (tearing) al evitar la sincronización vertical (VSync~acompasado de frecuencia de vídeo y pantalla) predeterminada integrada en D3D (Direct3D)."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Sintonización"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "No se cargaron los subtítulos o el renderizador no es compatible."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Almacena los shaders ('sombreadores') compilados en el directorio AppData local para acelerar el tiempo de carga."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
-msgstr "Abre VTS_xx_0.ifo para cargar todos los archivos VTS_xx_x.vob de golpe"
+msgstr "Abrir VTS_xx_0.ifo para cargar todos los archivos VTS_xx_x.vob de una vez"
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
-msgstr "Basado en RARFileSource, no admite archivos comprimidos"
+msgstr "Basado en RARFileSource, no soporta archivos comprimidos"
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr "Usa filtros LAV"
+msgstr "Usa LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Usa filtros LAV. Inhabilitado predeterminadamente desde que los filtros de Microsoft suelen ser más estables para esos tipos de formatos.\nSi eliges usar los filtros internos, habilítalos para origen y decodificación para tener una mejor experiencia de reproducción."
+msgstr "Usa LAV Filters. Deshabilitado por defecto ya que los filtros de Microsoft suelen ser más estables para esos formatos.\nSi elige usar los filtros internos, habilítelos tanto para la fuente como para la decodificación para tener una mejor experiencia de reproducción."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr "Conmutar barra de navegación"
+msgstr "Accionar barra de navegación"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "VSync Precisa"
+msgstr "Sincronización vertical (VSync) precisa"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Si se deja sin definir el objetivo de representación, se heredará a partir del estilo predeterminado."
+msgstr "Si no se define el objeto de la renderización, se heredará a partir del estilo predeterminado."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Desactiva la animación de subtítulos. Esta opción reduce el uso de la CPU. Actívela si los subtítulos parpadean."
+msgstr "Deshabilita la animación de subtítulos. Esta opción reduce el uso de CPU. Úsela si los subtítulos centellean."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Al incrementar la cantidad de subimágenes en búfer se mejorará el rendimiento de representación, pero aumentará el uso de la RAM de vídeo de la GPU."
+msgstr "Aumentar el número de subtítulos pre-renderizados en cola debería mejorar en general el rendimiento de la renderización a cambio de un mayor uso de la RAM de vídeo en la GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "Después de dar clic en este botón, el estado de comprobación del formato del grupo reflejara las asociaciones de archivo actuales para MPC-HC. Una extensión recién agregada usualmente aparecerá en gris, ¡así que no olvides marcarla de nuevo antes de cerrar este cuadro de dialogo!"
+msgstr "Tras pulsar este botón, el estado marcado del grupo del formato hará que se refleje la asociación del archivo actual con MPC-HC. Una extensión recién añadida aparecerá sombreada, ¡así que no olvide marcarla de nuevo antes de cerrar este cuadro de diálogo!"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Al desactivar esta opción se evitará el parpadeo de los subtítulos, pero es posible que el representador de vídeo se salte algunos fotogramas del vídeo."
+msgstr "Deshabilitar esta opción prevendrá que los subtítulos centelleen, pero puede ocasionar que el renderizador de vídeo omita algunos fotogramas."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -879,11 +896,11 @@ msgstr "Paso\nPaso"
msgctxt "ID_PLAY_DECRATE"
msgid "Decrease speed\nDecrease speed"
-msgstr "Reducir la velocidad\nReducir la velocidad"
+msgstr "Reducir velocidad\nReducir velocidad"
msgctxt "ID_PLAY_INCRATE"
msgid "Increase speed\nIncrease speed"
-msgstr "Aumentar la velocidad\nAumentar la velocidad"
+msgstr "Aumentar velocidad\nAumentar velocidad"
msgctxt "ID_VOLUME_MUTE"
msgid "Mute"
@@ -939,11 +956,11 @@ msgstr "Opciones"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "Elegir &sombreadores..."
+msgstr "&Seleccionar shaders..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Depurar sombras..."
+msgstr "&Depurar shaders..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -954,11 +971,11 @@ msgid "&Organize Favorites..."
msgstr "&Organizar Favoritos..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Aleatorio"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Abrir ubicación del archivo"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -975,11 +992,11 @@ msgstr "En pausa"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
-msgstr "Clip nuevo EDL"
+msgstr "Nuevo clip de lista de edición (EDL)"
msgctxt "IDS_RECENT_FILES_CLEAR"
msgid "&Clear list"
-msgstr "&Vaciar la lista"
+msgstr "&Vaciar lista"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
@@ -987,23 +1004,23 @@ msgstr "¿Confirma que quiere vaciar la lista de archivos recientes?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
-msgstr "Guardado de EDL"
+msgstr "Guardar lista de edición (EDL)"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "Activar corrección de tiempos de fotogramas"
+msgstr "Activar corrección de tiempo de fotogramas"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Conmutar ventana EDL"
+msgstr "Accionar ventana de lista de edición (EDL)"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
-msgstr "EDL Fijada En Entrada"
+msgstr "Fijar inicio de la edición (omisión) de lista de edición (EDL)"
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL Fijada En Salida"
+msgstr "Fijar final de la edición (omisión) de lista de edición (EDL)"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
@@ -1027,7 +1044,7 @@ msgstr "Rotar PnS Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Prueba de parpadeo"
+msgstr "Prueba de efecto rasgado (tearing)"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1035,14 +1052,14 @@ msgstr "Escalar a 16:9 TV,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_WIDESCREEN"
msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Escalar a pantalla ancha,%.3f,%.3f,%.3f,%.3f"
+msgstr "Escalar a pantalla panorámica,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_ULTRAWIDE"
msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Escalar a pantalla ultraancha,%.3f,%.3f,%.3f,%.3f"
+msgstr "Escalar a pantalla ultrapanorámica,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Ocultar en pantalla completa"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1051,7 +1068,7 @@ msgstr "Detenido"
msgctxt "IDS_CONTROLS_BUFFERING"
msgid "Buffering... (%d%%)"
-msgstr "Almacenando en búfer… (%d %%)"
+msgstr "Almacenando en buffer (cola)… (%d %%)"
msgctxt "IDS_CONTROLS_CAPTURING"
msgid "Capturing..."
@@ -1087,7 +1104,7 @@ msgstr "Editar..."
msgctxt "IDS_INFOBAR_TITLE"
msgid "Title"
-msgstr "Titulo"
+msgstr "Título"
msgctxt "IDS_INFOBAR_AUTHOR"
msgid "Author"
@@ -1095,7 +1112,7 @@ msgstr "Autor"
msgctxt "IDS_INFOBAR_COPYRIGHT"
msgid "Copyright"
-msgstr "Derechos de autor"
+msgstr "Copyright"
msgctxt "IDS_INFOBAR_RATING"
msgid "Rating"
@@ -1119,7 +1136,7 @@ msgstr "Ninguno"
msgctxt "IDS_AG_COMMAND"
msgid "Command"
-msgstr "Orden"
+msgstr "Comando"
msgctxt "IDS_AG_KEY"
msgid "Key"
@@ -1135,11 +1152,11 @@ msgstr "Ratón en pantalla completa"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
-msgstr "Orden de aplicación"
+msgstr "Comando de la aplicación"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
-msgstr "Archivos multimedia (todos los tipos)"
+msgstr "Archivos audiovisuales (todos los tipos)"
msgctxt "IDS_AG_ALLFILES"
msgid "All files (*.*)|*.*|"
@@ -1155,11 +1172,11 @@ msgstr "No conocido"
msgctxt "IDS_MPLAYERC_0"
msgid "Quick Open File"
-msgstr "Abrir archivo rápido"
+msgstr "Apertura rápida de archivo"
msgctxt "IDS_AG_OPEN_FILE"
msgid "Open File"
-msgstr "Abrir un archivo"
+msgstr "Abrir archivo"
msgctxt "IDS_AG_OPEN_DVD"
msgid "Open DVD/BD"
@@ -1167,27 +1184,27 @@ msgstr "Abrir DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "Falló la configuración de los «shaders» posredimensionamiento"
+msgstr "No se pudieron establecer los shaders ('sombreadores') de post-redimensionado"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr "Fallido al configurar ambas sombras pre y post-redimensionadas"
+msgstr "No se pudieron establecer los shaders ('sombreadores') de pre-redimensionado ni de post-redimensionado"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr "Los sombreadores se recompilan automáticamente al modificar los archivos correspondientes."
+msgstr "Los shaders ('sombreadores') se vuelven a compilar automáticamente cuando se modifican los archivos correspondientes."
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr "No se puede cargar %s. Los «pixel shaders» no funcionarán."
+msgstr "No se puede cargar %s. Los pixel shaders (PS, 'sombreadores' de píxel) no funcionarán."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr "No se pueden encontrar las funciones de entrada en %s. Los sombreadores de píxeles no funcionarán."
+msgstr "No se pueden encontrar los puntos de entrada requeridos de la función en %s. Los pixel shaders (PS, 'sombreadores' de píxel) no funcionarán."
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr "Preajuste de «shader»: %s"
+msgstr "Preajuste del shader: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
@@ -1230,7 +1247,7 @@ msgid "+%d%%"
msgstr "+%d %%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Añadir carpeta contenedora"
msgctxt "IDS_HW_INDICATOR"
@@ -1283,7 +1300,7 @@ msgstr "Valor"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr "Cantidad máxima de archivos almacenados y mostrados en el menú «Archivos recientes»."
+msgstr "Número máximo de archivos almacenados y mostrados en el menú «Archivos recientes»."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
@@ -1387,19 +1404,19 @@ msgstr "Alta precisión "
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr "Tras la reproducción: rebobinar el archivo actual"
+msgstr "Tras la reproducción: Volver al principio del archivo"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr "Tras la reproducción: cerrar"
+msgstr "Tras la reproducción: Cerrar"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "Se produjo un problema al inicializar MPC-HC. Con su ayuda es posible que podamos corregir el problema.\n\n¿Quiere informarnos del fallo?"
+msgstr "MPC-HC encontró un problema con la inicialización. Con su ayuda es posible que podamos corregir el problema.\n\n¿Quiere informarnos del fallo?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr "Proporcione un valor positivo si el audio va adelantado o uno negativo si va retrasado."
+msgstr "Proporcione un valor positivo si el audio va adelantado, o uno negativo si va retrasado."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
@@ -1407,11 +1424,11 @@ msgstr "La previsualización actualmente está desactivada. Puede activarla en l
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr "Esta opción puede usarse para previsualizar archivos audiovisuales desde una ubicación remota. Úselo solo sobre una red privada adecuadamente asegurada.\n\n¿De verdad quiere activar esta opción?"
+msgstr "Esta opción puede usarse para previsualizar archivos audiovisuales desde una ubicación remota. Úselo sólo sobre una red privada adecuadamente asegurada.\n\n¿De verdad quiere activar esta opción?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr "Motor interno de visualización de subtítulos"
+msgstr "Renderizador interno de subtítulos"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1431,15 +1448,15 @@ msgstr "Guardar imagen (automático)"
msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
-msgstr "Imagen guardada satisfactoriamente"
+msgstr "Imagen guardada con éxito"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Cargar subtítulos"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Cargar subtítulos..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Guardar subtítulos"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Guardar subtítulos..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1451,7 +1468,7 @@ msgstr "Salir"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
-msgstr "Reproducir/pausar"
+msgstr "Reproducir/Pausar"
msgctxt "IDS_AG_PLAY"
msgid "Play"
@@ -1463,11 +1480,11 @@ msgstr "Detener"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "Avanzar un cuadro"
+msgstr "Avanzar un fotograma"
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "Retroceder un cuadro"
+msgstr "Retroceder un fotograma"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1515,11 +1532,11 @@ msgstr "Guardar una copia"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Último fotograma clave"
+msgstr "más reciente"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Fotograma clave más cercano"
+msgstr "más cercano"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
@@ -1531,15 +1548,15 @@ msgstr "Nunca mostrar"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr "Mostrar al mover el cursor, ocultar después de:"
+msgstr "Mostrar al mover el cursor, ocultar tras:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr "Mostrar al pasar por encima del control, ocultar después:"
+msgstr "Mostrar al pasar el cursor sobre los controles, ocultar tras:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr "No se pudieron establecer los «shaders» de prerredimensión"
+msgstr "No se pudieron establecer los shaders ('sombreadores') de pre-redimensionado"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
@@ -1551,11 +1568,11 @@ msgstr "Corrección de tiempo de marco: Apagado"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Desfase de sincronización vertical: %.1f"
+msgstr "Objetivo de desfase de la VSync: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
-msgstr "Desfase de sincronización vertical: %d"
+msgstr "Desfase de sincronización vertical (VSync): %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
@@ -1563,10 +1580,10 @@ msgstr "Velocidad: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
-msgstr "Miniaturas guardadas satisfactoriamente"
+msgstr "Miniaturas guardadas con éxito"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pista de &vídeo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1579,7 +1596,7 @@ msgstr "Restablecer configuración"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "¿Confirma que quiere restaurar la configuración predeterminada de MPC-HC?\nSe perderán TODOS sus ajustes."
+msgstr "¿Confirma que quiere restaurar la configuración predeterminada de MPC-HC?\n¡Se perderán TODOS sus ajustes!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1595,7 +1612,7 @@ msgstr "Algunos cambios no han sido guardados todavía.\n¿Deseas guardarlos ant
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
-msgstr "Las configuraciones han sido exportadas satisfactoriamente."
+msgstr "La configuración se ha exportado con éxito."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
@@ -1603,7 +1620,7 @@ msgstr "¡La exportación ha fallado! Esto puede ocurrir cuando no se tiene los
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
-msgstr "Error de BDA"
+msgstr "Error de BDA (drivers de TV)"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
@@ -1615,43 +1632,43 @@ msgstr "Restablecer velocidad"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Retardo de audio de +10 ms"
+msgstr "Retardo de audio +10 ms"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
-msgstr "Retardo de audio de -10 ms"
+msgstr "Retardo de audio -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
-msgstr "Salto Adelante (pequeño)"
+msgstr "Saltar adelante (corto)"
msgctxt "IDS_MPLAYERC_24"
msgid "Jump Backward (small)"
-msgstr "Salto Atrás (pequeño)"
+msgstr "Saltar atrás (corto)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "Salto Adelante (medio"
+msgstr "Saltar adelante (medio)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "Salto Atrás (medio)"
+msgstr "Saltar atrás (medio)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
-msgstr "Salto Adelante (largo)"
+msgstr "Saltar adelante (largo)"
msgctxt "IDS_MPLAYERC_28"
msgid "Jump Backward (large)"
-msgstr "Salto Atrás (largo)"
+msgstr "Saltar atrás (largo)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "Salto Adelante (fotograma clave)"
+msgstr "Saltar adelante (fotograma clave)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "Salto Atrás (fotograma clave)"
+msgstr "Saltar atrás (fotograma clave)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1691,7 +1708,7 @@ msgstr "Desplazar subtítulo a la derecha"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
-msgstr "Saltar al comienzo"
+msgstr "Saltar al principio"
msgctxt "IDS_OSD_SHOW_FILENAME"
msgid "OSD: Show File Name"
@@ -1723,11 +1740,11 @@ msgstr "Ocultar los &bordes"
msgctxt "IDS_VIEW_FRAMEONLY"
msgid "Fra&me Only"
-msgstr "Solo el cuadro"
+msgstr "Sólo el fo&tograma"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Mostrar &leyenda y menú"
+msgstr "Mostrar &barra de título y menú"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
@@ -1735,7 +1752,7 @@ msgstr "Ocultar el &menú"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr "Avanzado"
+msgstr "Avanzadas"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
@@ -1755,11 +1772,11 @@ msgstr "Pantalla completa"
msgctxt "IDS_MPLAYERC_39"
msgid "Fullscreen (w/o res.change)"
-msgstr "Pantalla completa (sin cambio de res.)"
+msgstr "Pantalla completa (sin cambiar resolución)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT"
msgid "Zoom Auto Fit"
-msgstr "Ajuste automático"
+msgstr "Auto ajuste de zoom"
msgctxt "IDS_AG_VIDFRM_HALF"
msgid "VidFrm Half"
@@ -1802,8 +1819,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec Altura"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Descargando subtítulos, espere un momento."
+msgid "Downloading [%s] \"%s\""
+msgstr "Descargando [%s] «%s»"
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1819,7 +1836,7 @@ msgstr "%d subtítulos disponibles."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "¿Quiere que MPC-HC busque actualizaciones automáticamente?\n\nPuede desactivar esta función en la página «Varias» de las opciones."
+msgstr "¿Quiere que MPC-HC busque actualizaciones automáticamente?\n\nPuede desactivar esta función en la página «Varios» de las opciones."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1835,19 +1852,19 @@ msgstr "200 %"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
-msgstr "Ajuste automático"
+msgstr "Autoajustar"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr "Ajuste automático (si es mayor)"
+msgstr "Auto ajuste (si es mayor)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
-msgstr "Ajuste automático (si es mayor)"
+msgstr "Auto ajuste de zoom (si es mayor)"
msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
msgid "Zoom: Auto (Larger Only)"
-msgstr "Escala: automática (si es mayor)"
+msgstr "Zoom: Automático (si es mayor)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
@@ -1855,7 +1872,7 @@ msgstr "Doble clic para abrir la ubicación del archivo"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
-msgstr "Conmutar entre tiempo transcurrido y restante"
+msgstr "Alternar entre tiempo transcurrido y tiempo restante"
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
@@ -1987,23 +2004,23 @@ msgstr "Opciones"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr "Pista de audio siguiente"
+msgstr "Siguiente pista de audio"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr "Pista de audio anterior"
+msgstr "Anterior pista de audio"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr "Pista de subtítulos siguiente"
+msgstr "Siguiente pista de subtítulos"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr "Pista de subtítulos anterior"
+msgstr "Anterior pista de subtítulos"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Activar/desactivar subtítulos"
+msgstr "Activar/Desactivar subtítulos"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
@@ -2019,19 +2036,19 @@ msgstr "Ángulo anterior (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr "Pista de audio siguiente (DVD)"
+msgstr "Siguiente pista de audio (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr "Pista de audio anterior (DVD)"
+msgstr "Anterior pista de audio (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr "Pista de subtítulos siguiente (DVD)"
+msgstr "Siguiente pista de subtítulos (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr "Pista de subtítulos anterior (DVD)"
+msgstr "Anterior pista de subtítulos (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2065,11 +2082,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Cifrado"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Sí"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "No"
@@ -2099,11 +2116,11 @@ msgstr "Se perdio el foco por: %s - %s"
msgctxt "IDS_AG_SUBTITLES_SAVED"
msgid "Subtitles saved"
-msgstr "Se guardaron los subtítulos"
+msgstr "Los subtítulos se han guardado"
msgctxt "IDS_MAINFRM_4"
msgid "Cannot save subtitles"
-msgstr "No se pueden guardar los subtítulos"
+msgstr "Los subtítulos no se pueden guardar"
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
@@ -2143,11 +2160,11 @@ msgstr "Reproducir con MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC no tiene privilegios suficientes para cambiar las asociaciones de los formatos de archivos. Pulse en el botón «Ejecutar como administrador»."
+msgstr "MPC-HC no tiene privilegios suficientes para cambiar las asociaciones de los formatos de archivo. Pulse el botón «Ejecutar como administrador»."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC es un reproductor para Windows extremadamente ligero y de código abierto. Admite todos los formatos comunes de vídeo y de audio. Estamos 100 % libres de «spyware», nada de anuncios ni barras de herramientas."
+msgstr "MPC-HC es un reproductor para Windows extremadamente ligero y de código abierto. Admite todos los formatos comunes de vídeo y audio. Estamos 100 % libres de «spyware», nada de publicidad ni barras de herramientas."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2163,43 +2180,43 @@ msgstr "Título %u"
msgctxt "IDS_MAINFRM_16"
msgid "DVD: Unexpected error"
-msgstr "DVD: error inesperado"
+msgstr "DVD: Error inesperado"
msgctxt "IDS_MAINFRM_17"
msgid "DVD: Copy-Protect Fail"
-msgstr "DVD: fallo en la protección anticopia"
+msgstr "DVD: Fallo en la protección anticopia"
msgctxt "IDS_MAINFRM_18"
msgid "DVD: Invalid DVD 1.x Disc"
-msgstr "DVD: disco DVD 1.x no válido"
+msgstr "DVD: Disco DVD 1.x no válido"
msgctxt "IDS_MAINFRM_19"
msgid "DVD: Invalid Disc Region"
-msgstr "DVD: la región del disco no es válida"
+msgstr "DVD: Región del disco no válida"
msgctxt "IDS_MAINFRM_20"
msgid "DVD: Low Parental Level"
-msgstr "DVD: nivel de control parental bajo"
+msgstr "DVD: Nivel de control parental bajo"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
-msgstr "DVD: fallo en Macrovision"
+msgstr "DVD: Fallo de Macrovision"
msgctxt "IDS_MAINFRM_22"
msgid "DVD: Incompatible System And Decoder Regions"
-msgstr "DVD: las regiones del sistema y el decodificador no son compatibles"
+msgstr "DVD: Las regiones del sistema y el decodificador no son compatibles"
msgctxt "IDS_MAINFRM_23"
msgid "DVD: Incompatible Disc And Decoder Regions"
-msgstr "DVD: las regiones del disco y el decodificador no son compatibles"
+msgstr "DVD: Las regiones del disco y el decodificador no son compatibles"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Esta opción está diseñada para evitar el efecto de desgarre («tearing»). Sin embargo, evitará que se muestren el menú contextual y las ventanas durante la reproducción.\n\n¿Confirma que quiere activar esta opción?"
+msgstr "Esta opción está diseñada para evitar el efecto de desgarro («tearing», fotogramas entremezclados). Sin embargo, también evitará que se muestre el menú contextual y cualquier cuadro de diálogo durante la reproducción.\n\n¿De verdad quiere activar esta opción?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Retardo de subs.: %ld ms"
+msgstr "Retardo de subtítulos: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2221,17 +2238,9 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Anchura de la imagen"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "El URL parece correcto."
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "La versión del protocolo no coincide. Actualice el reproductor o elija otra dirección."
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "Relación de aspecto"
+msgstr "Relación de aspecto (AR)"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
@@ -2299,7 +2308,7 @@ msgstr "Imposible crear miniaturas para los archivos sin duración"
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
-msgstr "No se pudo obtener el tamaño de fotograma de vídeo"
+msgstr "No se pudo obtener el tamaño de fotograma del vídeo"
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
@@ -2322,8 +2331,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "No se puede crear el archivo. Las miniaturas serían demasiado pequeñas.\n\nPruebe a disminuir el número de miniaturas o a aumentar el tamaño total."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Para cargar los subtítulos, cambie el renderizador de vídeo y abra el archivo de nuevo.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR o Haali\n- RealMedia: renderizador especial para RealMedia o ábralo mediante DirectShow\n- QuickTime: renderizador DX7 o DX9 para QuickTime\n- ShockWave: no disponible"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Para cargar subtítulos tiene que cambiar el tipo de renderizador de vídeo y reabrir el archivo.\n- DirectShow: VMR-9 (sin renderizado), EVR (CP), Sync, madVR o Haali\n- RealMedia: Renderizador especial para RealMedia, o ábralo mediante DirectShow\n- QuickTime: Renderizador DX7 o DX9 para QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2334,8 +2343,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Relación de aspecto: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Relación de aspecto: original"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Relación de aspecto: Predeterminada (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2359,7 +2368,7 @@ msgstr "QuickTime aún no es compatible con X64 (no hay bibliotecas de Apple dis
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "Imposible crear el objeto del esquema de filtros"
+msgstr "No se pudo crear el objeto del diagrama de filtros"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2373,10 +2382,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "No se pudo mostrar el archivo"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "No se encontró la base de datos de subtítulos en el URL especificado."
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Capítulo: "
@@ -2411,15 +2416,15 @@ msgstr "Pausa"
msgctxt "IDS_AG_TOGGLE_CAPTION"
msgid "Toggle Caption&Menu"
-msgstr "Alternar Menú de &Captura"
+msgstr "Accionar barra de título y menú"
msgctxt "IDS_AG_TOGGLE_SEEKER"
msgid "Toggle Seek Bar"
-msgstr "Mostrar/ocultar barra de navegación"
+msgstr "Mostrar/Ocultar barra de navegación"
msgctxt "IDS_AG_TOGGLE_CONTROLS"
msgid "Toggle Controls"
-msgstr "Mostrar/ocultar controles"
+msgstr "Mostrar/Ocultar controles"
msgctxt "IDS_MAINFRM_84"
msgid "Invalid file name"
@@ -2467,7 +2472,7 @@ msgstr "Error"
msgctxt "IDS_MAINFRM_96"
msgid "Can't create video capture filter"
-msgstr "Imposible crear el filtro de captura de video"
+msgstr "No se puede crear el filtro de captura de vídeo"
msgctxt "IDS_MAINFRM_98"
msgid "No capture filters"
@@ -2475,7 +2480,7 @@ msgstr "No hay filtros de captura"
msgctxt "IDS_MAINFRM_99"
msgid "Can't create capture graph builder object"
-msgstr "Imposible crear objeto constructor del esquema de captura"
+msgstr "No se puede crear un objeto del constructor del diagrama de captura"
msgctxt "IDS_MAINFRM_108"
msgid "Couldn't open any device"
@@ -2499,7 +2504,7 @@ msgstr "&Propiedades…"
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr " Propiedades del Pin..."
+msgstr " Propiedades de la etapa..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2511,7 +2516,7 @@ msgstr "%u desconocida"
msgctxt "IDS_AG_VSYNC"
msgid "VSync"
-msgstr "VSync (Sincronización Vertical)"
+msgstr "Sincronización vertical (VSync estándar)"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
@@ -2531,7 +2536,7 @@ msgstr "Ángulo n.º %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Aumentar desfase de sinc. vert."
+msgstr "Aumentar desfase de la VSync"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2539,7 +2544,7 @@ msgstr "Desactivado"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
-msgstr "Reducir desfase de sinc. vert."
+msgstr "Reducir desfase de la VSync"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
@@ -2570,8 +2575,8 @@ msgid "Volume boost Max"
msgstr "Aumento de Volumen Maximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"ruta\" [parámetros]\n\n\"ruta\"\tEl archivo o directorio principal a cargar (comodines\n\t\tpermitidos, \"-\" denota entrada estandar)\n/dub \"nombredeaudiodedoblaje\"\tCarga un archivo de audio adicional\n/dubdelay \"fichero\"\tCarga un archivo de audio adicional desplazado XXms (si\n\t\tel fichero contiene \"...DELAY XXms...\")\n/d3dfs\t\tInicia el renderizado en modo D3D a pantalla completa\n/sub \"nombredesubtítulo\"\tCarga un archivo de subtítulos adicional\n/filter \"nombredefiltro\"\tCarga filtros DirectShow desde una (.dll) biblioteca de vínculos\n\t\tdinámicos (comodines permitidos)\n/dvd\t\tEjecuta en modo DVD, \"ruta\" significa la carpeta de\n\t\tDVD (opcional)\n/dvdpos T#C\tInicia la reproducción en el título T, capítulo C\n/dvdpos T#hh:mm\tInicia la reproducción en el título T, posición hh:mm:ss\n/cd\t\tCarga todas las pistas de un CD de audio o S(VCD),\n\t\t\"ruta\" significa la ruta de la unidad (opcional)\n/device\t\tAbre el dispositivo de vídeo predeterminado\n/open\t\tAbre el archivo, no inicia automáticamente la reproducción\n/play\t\tComienza a reproducir el archivo tan pronto como el reproductor se\n\t\tcargue\n/close\t\tCierra el reproductor tras la reproducción (sólo funciona cuando\n\t\tse usa con /play)\n/shutdown\tCierra el sistema operativo tras la reproducción\n/standby\t\tPone el sistema operativo en modo suspensión tras la reproducción\n/hibernate\tHiberna el sistema operativo tras la reproducción\n/logoff\t\tCierra sesión del sistema tras la reproducción\n/lock\t\tBloquea el equipo tras la reproducción\n/monitoroff\tApaga el monitor tras la reproducción\n/playnext\t\tAbre el siguiente archivo en la carpeta tras la reproducción\n/fullscreen\tSe inicia en modo pantalla-completa\n/minimized\tSe inicia en modo minimizado\n/new\t\tUsa una nueva instancia del reproductor\n/add\t\tAñade la \"ruta\" a la lista de reproducción, puede combinarse\n\t\tcon /open y /play\n/randomize\tAleatoriza la lista de reproducción\n/regvid\t\tCrea asociaciones de archivo para archivos de vídeo\n/regaud\t\tCrea asociaciones de archivo para archivos de audio\n/regpl\t\tCrea asociaciones de archivo para archivos de tipo lista de reproducción\n/regall\t\tCrea asociaciones de archivo para todos los tipos de archivo soportados\n/unregall\t\tElimina todas las asociaciones de archivo\n/start ms\t\tSe inicia reproduciendo desde \"ms\" (= milisegundos)\n/startpos hh:mm:ss\tSe inicia reproduciendo desde la posición hh:mm:ss\n/fixedsize w,h\tEstablece un tamaño fijo de ventana\n/monitor N\tInicia el reproductor en el monitor N, donde N comienza a contar desde 1\n/audiorenderer N\tSe inicia usando el renderizador de audio N, donde N comienza a contar desde 1\n\t\t(vea las configuraciones de \"Salida\")\n/shaderpreset \"Pr\"\tSe inicia usando los preajustes \"Pr\" del sombreador\n/pns \"name\"\tEspecifica el nombre de la preconfiguración Pan&Scan (cambio del encuadre) a usar\n/iconsassoc\tReasocia los iconos de formatos\n/nofocus\t\tAbre MPC-HC en segundo plano\n/webport N\tInicia la interfaz web en el puerto especificado\n/debug\t\tMuestra información de depuración sobreimpresionada\n/nocrashreporter\tDeshabilita el informe de fallo\n/slave \"hWnd\"\tUsa MPC-HC como esclavo\n/hwgpu \"index\"\tAjusta el índice de la GPU usado para decodificación por hardware\n\t\tSólo disponible para CUVID y DXVA2 (copy-back)\n/reset\t\tRestablece las configuraciones por defecto\n/help /h /?\tMuestra la ayuda de parámetros de línea de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Uso: mpc-hc.exe \"ruta\" [parámetros]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2579,23 +2584,23 @@ msgstr "Se encontraron opciones no reconocidas en la orden ejecutada: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "Mostrar/ocultar información"
+msgstr "Mostrar/Ocultar información"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
-msgstr "Mostrar/ocultar estadísticas"
+msgstr "Mostrar/Ocultar estadísticas"
msgctxt "IDS_AG_TOGGLE_STATUS"
msgid "Toggle Status"
-msgstr "Mostrar/ocultar estado"
+msgstr "Mostrar/Ocultar estado"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Mostrar/ocultar barra de Subresync"
+msgstr "Accionar barra de resincronizado de subtítulos"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Mostrar/ocultar barra de lista"
+msgstr "Mostrar/Ocultar barra de lista de reproducción"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
@@ -2603,19 +2608,19 @@ msgstr "Mostrar/ocultar barra de captura"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr "Conmutar sombras de depuración"
+msgstr "Accionar «Depurar shaders»"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
-msgstr "Escalar al 50 %"
+msgstr "Zoom al 50 %"
msgctxt "IDS_AG_ZOOM_100"
msgid "Zoom 100%"
-msgstr "Escalar al 100 %"
+msgstr "Zoom al 100 %"
msgctxt "IDS_AG_ZOOM_200"
msgid "Zoom 200%"
-msgstr "Escalar al 200 %"
+msgstr "Zoom al 200 %"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
@@ -2643,35 +2648,27 @@ msgstr "Rotar PnS X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr "VidFrm Zoom 1"
+msgstr "Zoom 1 de fotograma"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr "VidFrm Zoom 2"
+msgstr "Zoom 2 de fotograma"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
-msgstr "Control de zoom de VidFrm (fotograma/frame de vídeo)"
+msgstr "Alternar zoom de fotograma"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "Acti&var todos los filtros"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Sintonización"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "No se cargaron los subtítulos o el renderizador no es compatible."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor desconocido. Contáctenos si es el autor."
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "No hay más archivos de multimedia en la carpeta actual."
+msgstr "No hay más archivos audiovisuales en la carpeta actual."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
@@ -2683,83 +2680,83 @@ msgstr "El último archivo de la carpeta ya está cargado."
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
-msgstr "Delante Izq."
+msgstr "Delantero izquierdo"
msgctxt "IDS_FRONT_RIGHT"
msgid "Front Right"
-msgstr "Delante Der."
+msgstr "Delantero derecho"
msgctxt "IDS_FRONT_CENTER"
msgid "Front Center"
-msgstr "Delate Centro"
+msgstr "Delantero central"
msgctxt "IDS_LOW_FREQUENCY"
msgid "Low Frequency"
-msgstr "Baja Frecuencia"
+msgstr "De baja frecuencia"
msgctxt "IDS_BACK_LEFT"
msgid "Back Left"
-msgstr "Detrás Izq."
+msgstr "Trasero izquierdo"
msgctxt "IDS_BACK_RIGHT"
msgid "Back Right"
-msgstr "Detrás Der."
+msgstr "Trasero derecho"
msgctxt "IDS_FRONT_LEFT_OF_CENTER"
msgid "Front Left of Center"
-msgstr "Delante Izq. de Centro"
+msgstr "Delantero central izq."
msgctxt "IDS_FRONT_RIGHT_OF_CENTER"
msgid "Front Right of Center"
-msgstr "Delante Der. de Centro"
+msgstr "Delantero central der."
msgctxt "IDS_BACK_CENTER"
msgid "Back Center"
-msgstr "Detrás Centro"
+msgstr "Trasero central"
msgctxt "IDS_SIDE_LEFT"
msgid "Side Left"
-msgstr "Lado Izq."
+msgstr "Lateral izquierdo"
msgctxt "IDS_SIDE_RIGHT"
msgid "Side Right"
-msgstr "Lado Der."
+msgstr "Lateral derecho"
msgctxt "IDS_TOP_CENTER"
msgid "Top Center"
-msgstr "Encima Centro"
+msgstr "Superior central"
msgctxt "IDS_TOP_FRONT_LEFT"
msgid "Top Front Left"
-msgstr "Encima Delante Izq."
+msgstr "Delantero superior izq."
msgctxt "IDS_TOP_FRONT_CENTER"
msgid "Top Front Center"
-msgstr "Encima Delante Centro"
+msgstr "Delantero superior cen."
msgctxt "IDS_TOP_FRONT_RIGHT"
msgid "Top Front Right"
-msgstr "Encima Delante Der."
+msgstr "Delantero superior der."
msgctxt "IDS_TOP_BACK_LEFT"
msgid "Top Back Left"
-msgstr "Encima Detrás Izq."
+msgstr "Trasero superior izq."
msgctxt "IDS_TOP_BACK_CENTER"
msgid "Top Back Center"
-msgstr "Encima Detrás Centro"
+msgstr "Trasero superior cen."
msgctxt "IDS_TOP_BACK_RIGHT"
msgid "Top Back Right"
-msgstr "Encima Detrás Der."
+msgstr "Trasero superior der."
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seek bar"
-msgstr "Sobre la barra de desplazamiento"
+msgstr "Sobre la barra de navegación"
msgctxt "IDS_TIME_TOOLTIP_BELOW"
msgid "Below seek bar"
-msgstr "Bajo la barra de desplazamiento"
+msgstr "Bajo la barra de navegación"
msgctxt "IDS_VIDEO_STREAM"
msgid "Video: %s"
@@ -2815,19 +2812,19 @@ msgstr "Ajustar a ventana"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
-msgstr "Tocar ventana desde interior"
+msgstr "Tocar ventana desde dentro"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
-msgstr "Escala 1"
+msgstr "Zoom 1"
msgctxt "IDS_ZOOM2"
msgid "Zoom 2"
-msgstr "Escala 2"
+msgstr "Zoom 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr "Tocar ventana desde exterior"
+msgstr "Tocar ventana desde fuera"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
@@ -2879,7 +2876,7 @@ msgstr "3G2"
msgctxt "IDS_MFMT_FLV"
msgid "Flash Video"
-msgstr "Vídeo Flash"
+msgstr "Flash Video"
msgctxt "IDS_MFMT_OGM"
msgid "Ogg Media"
@@ -2895,11 +2892,11 @@ msgstr "Real Script"
msgctxt "IDS_MFMT_WMV"
msgid "Windows Media Video"
-msgstr "Vídeo de Windows Media"
+msgstr "Windows Media Video"
msgctxt "IDS_MFMT_BINK"
msgid "Smacker/Bink Video"
-msgstr "Vídeo de Smacker/Bink"
+msgstr "Smacker/Bink Video"
msgctxt "IDS_MFMT_FLIC"
msgid "FLIC Animation"
@@ -2907,11 +2904,11 @@ msgstr "Animación FLIC"
msgctxt "IDS_MFMT_DSM"
msgid "DirectShow Media"
-msgstr "Multimedia de DirectShow"
+msgstr "Audiovisual de DirectShow"
msgctxt "IDS_MFMT_IVF"
msgid "Indeo Video Format"
-msgstr "Formato de vídeo de Indeo"
+msgstr "Formato de vídeo Indeo"
msgctxt "IDS_MFMT_OTHER"
msgid "Other"
@@ -2943,7 +2940,7 @@ msgstr "WAV"
msgctxt "IDS_MFMT_WMA"
msgid "Windows Media Audio"
-msgstr "Audio de Windows Media"
+msgstr "Windows Media Audio"
msgctxt "IDS_MFMT_WV"
msgid "WavPack"
@@ -3031,7 +3028,7 @@ msgstr "Lista de reproducción Blu-ray"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
-msgstr "Archivador RAR"
+msgstr "Archivo RAR"
msgctxt "IDS_DVB_CHANNEL_FPS"
msgid "FPS"
@@ -3043,39 +3040,39 @@ msgstr "Resolución"
msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "Relación de aspecto"
+msgstr "Relación de aspecto (AR)"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
-msgstr "VSync: Encendido"
+msgstr "VSync estándar: Activada"
msgctxt "IDS_OSD_RS_VSYNC_OFF"
msgid "VSync: Off"
-msgstr "VSync: Apagado"
+msgstr "VSync estándar: Desactivada"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr "VSync con precisión: Encendido"
+msgstr "VSync precisa: Activada"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr "VSync con precisión: Apagado"
+msgstr "VSync precisa: Desactivada"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
-msgstr "Sincronizar vídeo a visualizar: activado"
+msgstr "Sincronizar vídeo a mostrar: Activado"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
msgid "Synchronize Video to Display: Off"
-msgstr "Sincronizar vídeo a visualizar: desactivado"
+msgstr "Sincronizar vídeo a mostrar: Desactivado"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
msgid "Synchronize Display to Video: On"
-msgstr "Sincronizar pantalla a vídeo: activado"
+msgstr "Sincronizar pantalla con el vídeo: Activado"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
msgid "Synchronize Display to Video: Off"
-msgstr "Sincronizar pantalla a vídeo: desactivado"
+msgstr "Sincronizar pantalla con el vídeo: Desactivado"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
@@ -3087,11 +3084,11 @@ msgstr "Presentación en la VSync más próxima: Desactivado"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
-msgstr "Gestión de color: activada"
+msgstr "Gestión de color: Activada"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr "Gestión de color: desactivada"
+msgstr "Gestión de color: Desactivada"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
@@ -3123,31 +3120,31 @@ msgstr "Luz ambiental: oscura (2,4 gamma)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "Propósito de renderización: Perceptivo"
+msgstr "Gama (intent) de renderización: Perceptiva"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "Propósito de renderización: Colorimetría relativa"
+msgstr "Gama (intent) de renderización: Colorimétrica relativa"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr "Propósito de renderización: Saturación"
+msgstr "Gama (intent) de renderización: Saturación"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "Propósito de renderización: Colorimetría absoluta"
+msgstr "Gama (intent) de renderización: Colorimétrica absoluta"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
-msgstr "Intervalo de salida: %s"
+msgstr "Rango de salida: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr "Vaciar GPU antes de sincr. v.: activado"
+msgstr "Vaciar GPU antes de la VSync: Activado"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
-msgstr "Vaciar GPU antes de sincr. v.: desactivado"
+msgstr "Vaciar GPU antes de la VSync: Desactivado"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
@@ -3167,11 +3164,11 @@ msgstr "Esperar al vaciado de GPU: desactivado"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
-msgstr "D3D a pantalla completa: activado"
+msgstr "D3D a pantalla completa: Activado"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
msgid "D3D Fullscreen: Off"
-msgstr "D3D a pantalla completa: desactivado"
+msgstr "D3D a pantalla completa: Desactivado"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
@@ -3183,11 +3180,11 @@ msgstr "Desactivar composición del escritorio: Apagado"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr "VSync alternativo: Encendido"
+msgstr "VSync alternativa: Activada"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr "VSync alternativo: Apagado"
+msgstr "VSync alternativa: Desactivada"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
@@ -3199,11 +3196,11 @@ msgstr "Restablecer configuraciónes de renderizado a optimos"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr "D3D a pantalla completa con IGU: activado"
+msgstr "D3D a pantalla completa con interfaz gráfica (GUI): Activado"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
-msgstr "D3D a pantalla completa con IGU: desactivado"
+msgstr "D3D a pantalla completa con interfaz gráfica (GUI): Desactivado"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
@@ -3223,19 +3220,19 @@ msgstr "Forzar entrada 10-bit RGB: Apagado"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr "Procesamiento Full Floating Point: Encendido"
+msgstr "Procesamiento Full Floating Point: Activado"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
-msgstr "Procesamiento Full Floating Point: Apagado"
+msgstr "Procesamiento Full Floating Point: Desactivado"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr "Procesamiento Half Floating Point: Encendido"
+msgstr "Procesamiento Half Floating Point: Activado"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
-msgstr "Procesamiento Half Floating Point: Apagado"
+msgstr "Procesamiento Half Floating Point: Desactivado"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
@@ -3291,23 +3288,23 @@ msgstr "&Cerrar"
msgctxt "IDS_OSD_ZOOM"
msgid "Zoom: %.0lf%%"
-msgstr "Escala: %.0lf %%"
+msgstr "Zoom: %.0lf %%"
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
-msgstr "Escala: automática"
+msgstr "Zoom: Automático"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
-msgstr "Personalizar canal de mapping"
+msgstr "Accionar mapeo personalizado del canal"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
-msgstr "Personalización del canal de mapping: Encendido"
+msgstr "Mapeo personalizado del canal: Activado"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
msgid "Custom channel mapping: Off"
-msgstr "Personalización del canal de mapping: Apagado"
+msgstr "Mapeo personalizado del canal: Desactivado"
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
@@ -3339,7 +3336,7 @@ msgstr "bytes"
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
-msgstr "kB"
+msgstr "KB"
msgctxt "IDS_SIZE_UNIT_M"
msgid "MB"
@@ -3351,7 +3348,7 @@ msgstr "GB"
msgctxt "IDS_SPEED_UNIT_K"
msgid "KB/s"
-msgstr "kB/s"
+msgstr "KB/s"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
@@ -3391,19 +3388,19 @@ msgstr "Error al analizar el texto introducido"
msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
msgid "Error parsing the entered frame rate!"
-msgstr "Error al analizar la velocidad de cuadro introducido"
+msgstr "¡Error al procesar la tasa de fotogramas introducida!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr "No se puede enmarcar paso, pruebe con un render de vídeo diferente."
+msgstr "No es posible desplazarse fotograma a fotograma, pruebe con otro renderizador de vídeo."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el representador de vídeo predeterminado para RealMedia.\nSeleccione uno de los representadores de DirectX para RealMedia en las opciones de salida de MPC-HC y abra el archivo de nuevo."
+msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el renderizador de vídeo predeterminado para RealMedia.\nSeleccione uno de los renderizadores de DirectX para RealMedia en las opciones de salida de MPC-HC y abra de nuevo el archivo."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el representador de vídeo predeterminado para QuickTime.\nSeleccione uno de los representadores de DirectX para QuickTime en las opciones de salida de MPC-HC y abra el archivo de nuevo."
+msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el renderizador de vídeo predeterminado para QuickTime.\nSeleccione uno de los renderizadores de DirectX para QuickTime en las opciones de salida de MPC-HC y abra de nuevo el archivo."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3411,15 +3408,11 @@ msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan p
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el representador de vídeo Overlay Mixer.\nCambie el representador de vídeo en las opciones de salida de MPC y abra el archivo de nuevo."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "No se puede conectar con la base de subtítulos en línea."
+msgstr "Las funciones «Guardar imagen» y «Guardar miniaturas» no funcionan con el renderizador de vídeo Overlay Mixer.\nCambie el renderizador de vídeo en las opciones de salida de MPC y abra de nuevo el archivo."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "¿Quiere activar el editor de EDL?"
+msgstr "¿Quiere activar el editor de listas de edición (EDL)?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
@@ -3435,19 +3428,19 @@ msgstr "audio"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
-msgstr "No se puede añadir el filtro búfer %s a la gráfica."
+msgstr "No se puede añadir el filtro del buffer %s al diagrama de filtros."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
msgid "Can't connect the %s buffer filter to the graph."
-msgstr "No se puede conectar el filtro búfer %s a la gráfica."
+msgstr "No se puede conectar el filtro del buffer %s al diagrama de filtros."
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr "No se puede añadir el filtro codificador %s a la gráfica."
+msgstr "No se puede añadir el filtro del codificador %s al diagrama de filtros."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr "No se puede conectar el filtro codificador %s a la gráfica."
+msgstr "No se puede conectar el filtro del codificador %s al diagrama de filtros."
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
@@ -3459,11 +3452,11 @@ msgstr "No se puede conectar la transmisión %s al filtro multiplexor."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr "No se ha encontrado pin capturador de video."
+msgstr "No se ha encontrado etapa de captura de vídeo."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "No se ha encontrado pin capturador de sonido."
+msgstr "No se ha encontrado etapa de captura de sonido."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
@@ -3487,39 +3480,39 @@ msgstr "Necesita aplicar la configuración nueva antes de probarla."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
-msgstr "Tras la reproducción: salir"
+msgstr "Tras reproducir: Salir"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Tras la reproducción: suspender"
+msgstr "Tras reproducir: Suspender"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
-msgstr "Tras la reproducción: hibernar"
+msgstr "Tras reproducir: Hibernar"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr "Tras la reproducción: apagar"
+msgstr "Tras reproducir: Apagar"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
-msgstr "Tras la reproducción: cerrar la sesión"
+msgstr "Tras reproducir: Cerrar la sesión"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr "Tras la reproducción: bloquear"
+msgstr "Tras reproducir: Bloquear"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr "Tras la reproducción: apagar el monitor"
+msgstr "Tras reproducir: Apagar el monitor"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
-msgstr "Tras la reproducción: reproducir el archivo siguiente en la carpeta"
+msgstr "Tras reproducir: Reproducir el siguiente archivo de la carpeta"
msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
msgid "After Playback: Do nothing"
-msgstr "Tras la reproducción: no hacer nada"
+msgstr "Tras reproducir: No hacer nada"
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
@@ -3543,7 +3536,7 @@ msgstr "Configuraciones de color restablecidas"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
-msgstr "No se admite el control de color"
+msgstr "El control de color no está soportado"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
@@ -3551,11 +3544,11 @@ msgstr "Aumentar brillo"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Proporcione los idiomas que prefiera.\nPor ejemplo, escriba: «esp ita jap»"
+msgstr "Proporcione los idiomas que prefiera.\nPor ejemplo, escriba: «spa ita jap»"
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Los fraccionadores (splitters) externos pueden tener sus propias opciones de preferencia de idioma, así pues el comportamiento por defecto de MPC-HC es no cambiar su elección inicial.\nHabilite esta opción si quiere que MPC-HC controle los fraccionadores externos."
+msgstr "Los demultiplexores (splitters) externos pueden tener opciones en sus propias preferencias de idioma, de modo que el comportamiento por defecto de MPC-HC es no cambiar sus configuraciones iniciales.\nHabilite esta opción si quiere que MPC-HC controle los demultiplexores externos."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3579,7 +3572,7 @@ msgstr "&Canales"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Si «Último fotograma clave» está seleccionado, se buscará el primer fotograma clave («keyframe») anterior al punto de búsqueda actual.\nSi «Fotograma clave más cercano» está seleccionado, se buscará el primer fotograma clave anterior o posterior al punto de búsqueda dependiendo de cuál sea el más cercano."
+msgstr "Al cambiar el punto de avance de la reproducción de vídeo, está característica habilita que la reproducción se retome desde un fotograma clave (keyframe).\nSi se selecciona la opción del fotograma clave «más reciente», la reproducción se retomará desde el primer fotograma clave anterior al punto de reposicionamiento.\nSi se selecciona el fotograma clave «más cercano», la reproducción se retomará desde el fotograma clave anterior o posterior más cercano al punto de reposicionamiento."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
@@ -3587,11 +3580,11 @@ msgstr "Asociar con todos los formatos"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr "Asociar solo con formatos de vídeo"
+msgstr "Asociar sólo con formatos de vídeo"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "Asociar solo con formatos de audio"
+msgstr "Asociar sólo con formatos de audio"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
@@ -3609,3 +3602,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Proveedor"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Sordos (CC)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Descargas"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Valoración"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Falló la búsqueda de subtítulos en línea."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Se interrumpió la búsqueda de subtítulos en línea."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Se completó la búsqueda de subtítulos; se hallaron %d."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Se completó la búsqueda de subtítulos y no se halló ninguno."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Descargar subtítulos"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Espere mientras se buscan los subtítulos en línea…"
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Interrumpiendo la búsqueda de subtítulos…"
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nombre de usuario"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Estado"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Listo…"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "No implementado."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Subiendo…"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Se subieron los subtítulos correctamente."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Falló la subida de los subtítulos."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Se interrumpió la subida de los subtítulos."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Los subtítulos ya existen."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Espere mientras se suben los subtítulos…"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "La subida finalizó."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Se interrumpió la subida."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Falló la subida."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Descargar y abrir"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configuración"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Restablecer"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Bajar"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Abrir URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Idiomas"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ERROR: no se pudo establecer la conexión con Internet."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Proporcionar datos de acceso al sitio web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Proporcione sus datos de acceso para conectarse con:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Relación de aspecto: Asumir píxeles cuadrados (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Descargado [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Subir subtítulos"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "¿Está seguro de que quiere subir el archivo de subtítulo \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Descargando idiomas soportados..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "No se pudo guardar en \"%S\" con el nombre de usuario \"%S\".\n\nPor favor, introduzca el nombre de usuario y contraseña correctos o restablezca las credenciales para iniciar sesión como un usuario anónimo."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "La búsqueda automática y la descarga se deshabilitarán para todos los archivos audiovisuales cuya ruta contenga cualquiera de los patrones introducidos aquí.\nPor ejemplo, escriba: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"ruta\"\tEl archivo principal o carpeta a ser cargado\n\t\t(se permiten comodines, \"-\" denota entrada estándar)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"nombredeldoblaje\"\tCarga un archivo de audio adicional"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"archivo\"\tCarga un archivo de audio adicional (doblaje) desplazado XXms\n\t\t(si el archivo contiene \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tInicia el renderizado en modo D3D a pantalla completa"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"nombredelsubtítulo\"\tCarga un archivo de subtítulo adicional"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"nombredelfiltro\"\tCarga los filtros DirectShow desde una librería de enlace dinámico (dll) (comodines permitidos)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tSe ejecuta en modo DVD, \"ruta\" indica la carpeta del DVD (opcional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tInicia la reproducción en el título T, capítulo C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tComienza la reproducción en el título T, posición P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tCarga todas las pistas de un CD audio o un (S)VCD,\n\t\t\"ruta\" indica la ruta a la unidad (opcional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tAbre el dispositivo de vídeo predeterminado"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tAbre el archivo, no inicia su reproducción automáticamente"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tComienza la reproducción del archivo tan pronto se inicia el reproductor"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tCierra el reproductor tras la reproducción (sólo funciona cuando se usa con /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tCierra el sistema operativo tras la reproducción"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPone el sistema operativo en modo suspensión tras la reproducción"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHiberna el sistema operativo tras la reproducción"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tCierra sesión tras la reproducción"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBloquea el equipo tras la reproducción"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tApaga el monitor tras la reproducción"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tAbre el siguiente archivo de la carpeta tras la reproducción"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tInicia el reproductor en pantalla completa"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tInicia el reproductor en modo minimizado"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUsa una nueva instancia del reproductorº"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAñade una \"ruta\" a la lista de reproducción, se puede combinar con /open y /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tReproduce en orden aleatorio la lista de reproducción"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCrea asociaciones de archivo para archivos de vídeo"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCrea asociaciones de archivo para archivos de audio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCrea asociaciones de archivo para archivos de listas de reproducción"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCrea asociaciones de archivo para todos los tipos de archivo soportados"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tElimina todas las asociaciones de archivo"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tComienza la reproducción en \"ms\" (= millisegundos)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tComienza la reproducción en la posición hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tEstablece un tamaño de ventana fijado"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tInicia el reproductor en el monitor N, donde N comienza desde 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tSe inicia usando el renderizador de audio N, donde N comienza desde 1 (vea configuración de \"Salida\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tSe inicia usando el preajuste \"Pr\" de shader ('sombreador')"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"nombre\"\tEspecifica el nombre del modo de reencuadre (pan&scan) a usar"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tVuelve a asociar los iconos de formato"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tAbre MPC-HC en segundo plano"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tInicia la interfaz web en el puerto especificado"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tMuestra información de depuración sobreimpresionada (OSD)"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDeshabilita el informe de fallo"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUsa MPC-HC en modo esclavo"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tEstablece el índice que indica la GPU a usar para la decodificación por hardware.\n\t\tSólo disponible para los modos CUVID y DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestablece la configuración predeterminada"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tMuestra la ayuda de parámetros de línea de comandos"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Valor umbral de puntuación para subtítulos que se van a descargar automáticamente. Valores más altos indican que se cargarán subtítulos con una coincidencia más precisa, valores más bajos podrían resultar en que se carguen subtítulos incorrectos, pero no hay un valor perfecto. Seleccione aquel que mejor le funcione."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Retardo del audio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Tamaño en píxeles de la barra de herramientas predeterminada."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Usar antigua barra de herramientas en lugar de la nueva vectorizada."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
index f39c9dabf..1edf04053 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2015
+# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 13:37+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-01-24 20:49+0000\n"
"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/mpc-hc/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Honi buruz"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyrighta © 2002-2015 ikusi Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyrighta © 2002-2017 ikusi Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -421,12 +421,16 @@ msgid "time(s)"
msgstr "aldiz"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Berregin modua:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Irakurri Ondoren"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Irteera"
+msgid "Default zoom"
+msgstr "Berezko zooma"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,8 +569,8 @@ msgid "Warning"
msgstr "Kontuz"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Ezeztatzen baduzu eta gaitu ikusleiho-osoko hertzlehunketa zure bideo txartelaren ezarpenetan, azpidatziak ez dira hobeto ikusiko baina zihurrenik zure CPU-a jango du."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Ezeztatzen baduzu eta ikusleiho-osoko hertz-lehunketa gaitu zure bideo txartelaren ezarpenetan, azpidatziak ez dira hobeto ikusiko baina zihurrenik zure CPU-a jango du."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -1121,8 +1125,8 @@ msgid "Audio Renderer"
msgstr "Audio Aurkezlea"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (aurkezgabe) eta EVR (CP) ezarpenak"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (aurkezgabe) eta EVR (CP) ezarpenak"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Azpidatzi Aurkezlea"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Katxea bildutako Itzalak"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Aditze ataka:"
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI kudeatzaileak: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Azpidatziak eskuragarri online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Jeitsi eta Ireki"
+msgid "Download subtitles"
+msgstr "Jeitsi azpidatziak"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Ordeztu orain gertatutako azpidatziak"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Jeitsi"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Berritu"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Utzi"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Aukerak"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Igo azpidatziak"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Igo"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Utzi"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Aukerak"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Gorde Honela..."
@@ -1541,16 +1577,28 @@ msgid "Reset"
msgstr "Berrezarri"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online datubasea"
+msgid "Online search, download and upload subtitles"
+msgstr "Online bilaketa, jeitsi eta igo azpidatziak"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Berezgaitasunez bilatu eta jeitsi azpidatziak ez bada bat ere aurkitzen bertan"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Hobetsi gorrentzako azpidatziak (azpidatzi hornitzaileak adierazitakoan)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ezikusi hurrengo hitzetako bat duten agiriak:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Onlineko azpidatzi datubaseko URL-a:"
+msgid "Languages in order of preference:"
+msgstr "Hizkuntza hobespen hurrenkera:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Azterketa"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Berezgaitasunez igo jarduneko azpidatzia bideo irakurketa amaitutakoan"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
index 3e1332691..67f6a6789 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2015
+# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-30 21:32+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-07-07 11:10+0000\n"
"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/mpc-hc/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Gorde &Txikirudiak..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "Azpidatziak"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "Gertatu Az&pidatzia..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "G&orde Azpidatzia..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Azpidatzi Datuba&sea"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Bilatu..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Jeitsi Azpidatziak..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Igo..."
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Jeitsi..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Igo Azpidatziak..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Ikutu Leihoa &Kanpoaldetik"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Heutsi Ikuspegi Mailari"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "E&zeztatu Ikuspegi Maila"
+msgid "&Aspect Ratio"
+msgstr "Ik&uspegi Maila"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Berezkoa"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "B&erezkoa (BIM)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Pi&xel Karratuak Suposatuz (KIM)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Z&uzendu Monitore/Mahaigain IM Aldea"
@@ -533,9 +529,25 @@ msgid "&Stop"
msgstr "&Gelditu"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Frame Urratsa"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Berregin"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "E&tengabe"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Agiria"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Irakur-zerrenda"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Gut&xitu Neurria"
@@ -565,7 +577,7 @@ msgid "Su&btitle Track"
msgstr "Az&pidatzia Bidea"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Bi&deo Bidea"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
index 7759a12fa..e97a4af91 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2015
+# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-29 16:39+0000\n"
+"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/mpc-hc/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +60,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Ezaugarriak"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Agiria"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Berezko Estiloa"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Irakur-zerrenda"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Agiriak"
@@ -116,6 +124,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Aurkezpen xedea oraindik zehaztugabe badago, SSA/ASS azpidatziak bideo framearekiko aurkeztuko dira eta beste idazki azpidatzi guztiak leihoarekiko aurkeztuko dira."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Berregin Modua: Irakur-zerrenda"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Berregin Modua: Agiria"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Berregin Etengabe: Bai"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Berregin Etengabe: Ez"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Berregin Etengabe"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Inoiz ez (fokutze azkarrena)"
@@ -516,18 +544,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Gainjarpen Nahastzaile Aurkezlea"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Bideo Nahastzaile Aurkezlea 7 (leihotuta)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Bideo Nahastzaile Aurkezlea 9 (leihotuta)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Bideo Nahastzaile Aurkezlea 7 (aurkezgabe)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Bideo Nahastzaile Aurkezlea 9 (aurkezgabe)"
@@ -580,10 +600,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Irakurgailua::Web Interfazea"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Azpidatziak::Datubasea"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Xehetasunak"
@@ -604,17 +620,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Betik aurkezten du gainjarpenean. Orokorrean YUV heuskarriak bakarrik daude ahalbidetuta, baina zuzenean aurkezten dira RGB-rako margo bihurketarik gabe. Hau da aurkezpen metodo azkarrena guztien artean eta ikusleiho-osoko telebista irteerarako bideo ispilu zihur bakarra."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP-ren berezko aurkezlea. Oso egonkorra eta apur bat astiroagoa bakarrik Gainjarpen nahastzailearekiko. DirectDraw erabiltzen du eta Gainjarpenean abiarazten da ahal duenean."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Eskuragarri bakarrik DirectX 9 ezarrita baduzu. VMR-7-ren (leihotuta) gaitasun berak ditu, baina inoiz ezingo du Gainjarpen aurkezpena erabili eta honegaitik VMR-7 (leihotuta) baino apur bat astiroagoa izan daiteke."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "VMR-7-ren berdina da (leihotuta), baina MPC-HC-ren Banantzaile-Aurkezle pluginarekin azpidatzientzat. Bideo gainjarpen ispiluak EZ DU lanik egingo. 'True Color' mahigain margo tartea gomendatuta."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Eskuragarri bakarrik DirectX 9 ezarrita baduzu. Oso egonkorra baina inoiz ez du erabiltzen Gainjarpen aurkezpena eta horregaitik Gainjarpen nahastzailea baino apur bat astiroagoa izan daiteke."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -652,10 +660,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real-ren bere aurkezlea. SMIL eskriptak egingo dute lan, baina berrizpenak zihurrenik ez. DirectDraw erabiltzen du eta Gainjarpenean abiarazten da ahal duenean."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Real-ren gailuaren irteera VMR-7-ren (aurkezgabe) DX7-ohinarriko Banantzaile-Aurkezleak aurkeztuta."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Real-ren gailuaren irteera VMR-9-ren (aurkezgabe) DX9-ohinarriko Banantzaile-Aurkezleak aurkeztuta."
@@ -664,10 +668,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime-ren bere aurkezlea. Apur bat astiroa bideo eremua birneurriratua bada edo beste leiho batez erdi estalia. Gainjarpena ez dagoenean eskuragarri GDI-ra itzultzeko joera dau."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTime-ren gailuaren irteera VMR-7-ren (aurkezgabe) DX7-ohinarriko Banantzaile-Aurkezleak aurkeztuta."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTime-ren gailuaren irteera VMR-9-ren (aurkezgabe) DX9-ohinarriko Banantzaile-Aurkezleak aurkeztuta."
@@ -748,9 +748,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Barneraturiko baliabidea zure nabigatzailean ikusteko web interfazea gaitu behar duzu.\n\nErabili \"Gorde Honela\" botoia argibideak bakarrik gordetzea nahi badituzu."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Jeitsi azpidatziak"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Jeitsi azpidatziak..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Igo Azpidatziak..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +812,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Hauspena murrizten du D3D barne eraikitako berezko ZAldb-tik igaro gabe."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Sintonizagailu mihaketa"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Azpidatziak ez dira geratatu edo aurkezle sostengugabea."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Bildutako itzalak tokiko AppDatan biltegiratzen ditu gertatze denbora bizkortzeko."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Ireki VTS_xx_0.ifo VTS_xx_x.vob agiriak atal bakarrean gertatzeko"
@@ -945,12 +961,12 @@ msgid "&Organize Favorites..."
msgstr "&Antolatu Gogokoenak..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Nahastu"
+msgid "Sh&uffle"
+msgstr "Na&hastu"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Ireki agiri kokalekua"
+msgid "Ope&n file location"
+msgstr "Ireki agiri &kokalekua"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1033,8 +1049,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "&Zooma Ultra-Ikusleiho-zabalera,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Ezkutatu Ikusleiho-osoan"
+msgid "&Hide on Fullscreen"
+msgstr "E&zkutatu Ikusleiho-osoan"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1221,8 +1237,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Gehitu edukiaren agiritegia"
+msgid "Add containing &folder"
+msgstr "Gehitu &edukiaren agiritegia"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1424,13 +1440,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Irudia ongi gorde da"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Gertatu Azpidatzia"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Gertatu Azpidatziak..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Gorde Azpidatzia"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Gorde Azpidatziak..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,7 +1573,7 @@ msgid "Thumbnails saved successfully"
msgstr "Txikirudiak ongi gorde dira"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Bideo Bidea"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1793,8 +1809,8 @@ msgid "PnS Dec Height"
msgstr "PnS Txik Garaiera"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Azpidatzia(k) jeisten, mesedez itxaron."
+msgid "Downloading [%s] \"%s\""
+msgstr "Jeisten [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2072,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Enkriptatuta"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Bai"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ez"
@@ -2212,14 +2228,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Irudi zabalera"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL-a zuzen bezala agertzen da!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protokolo bertsioa ez dator bat, mesedez eguneratu zure irakurgailua edo hautatu beste helbide bat!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Ikuspegi Maila"
@@ -2313,8 +2321,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Txikirudiak txikiegiak dira, ezinezkoa agiria sortzea.\n\nSaiatu txikirudi zenbateko txikiago batekin edo handitu neurri orokorra."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Azpidatziak gertatzeko bideo aurkezlea aldatu eta agiria berrireki behar duzu.\n- DirectShow: VMR-7/VMR-9 (aurkezgabe), EVR Egile, EVR Aldib, edo Haali\n- RealMedia: RealMediarako aurkezle berezia, edo ireki DirectShow bidez\n- QuickTime: DX7 edo DX9 aurkezleak QuickTimerako\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Azpidatziak gertatzeko bideo aurkezle mota aldatu eta agiria berrireki behar duzu.\n- DirectShow: VMR-9 (aurkezgabe), EVR (CP), Aldib, madVR edo Haali\n- RealMedia: RealMedia-rako aurkezle berezia, edo ireki DirectShow bidez\n- QuickTime: DX7 edo DX9 aurkezleak QuickTime-rako\n- ShockWave: e/g"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2333,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Ikuspegi Maila: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Ikuspegi Maila: Berezkoa"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Ikuspegi Maila: Berezkoa (BIM)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2372,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Hutsegitea agiria aurkezterakoan"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL gaitza, ezin da azpidatzi datubasea hor aurkitu!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Atala: "
@@ -2561,8 +2565,8 @@ msgid "Volume boost Max"
msgstr "Bolumen bultzada Gehiena"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Erabilpena: mpc-hc.exe \"helburu-izena\" [aldagailuak]\n\n\"pathname\"\tGertatzeko agiri edo zuzenbide nagusia\n\t\t(ordezhizkiak ahal dira, \"-\"-k sarrera estandarra adierazten du)\n/dub \"dubname\"\tGertatu audio agiri gehigarri bat\n/dubdelay \"file\"\tGertatu audio agiri gehigarri bat XXsm aldatuta\n\t\t(baldin agiriak baditu \"...ATZERAPENA XXsM...\")\n/d3dfs\t\tHasi aurkezpena D3D ikusleiho-osoko moduan\n/sub \"subname\"\tGertatu azpidatzi agiri gehigarri bat\n/filter \"filtername\"\tGertatu DirectShow iragazkiak lotura dinamiko\n\t\tliburutegi batetik (ordezhizkiak ahal dira)\n/dvd\t\tEkin dvd moduan, \"helburu-izena\" esanahi du\n\t\tdvd agiritegia (aukerazkoa)\n/dvdpos T#C\tHasi irakurketa I izenburuan, A atalean\n/dvdpos T#hh:mm\tHasi irakurketa I izenburuan, kokapena oo:mn:sg\n/cd\t\tGertatu cd edo (s)vcd audio bide guztiak,\n\t\t\"helburu-izena\" esanahi du gidagailu helburua\n\t\t(aukerazkoa)\n/device\t\tIreki berezko bideo gailua\n/open\t\tIreki agiria, ez hasi irakurketa berezgaitasunez\n/play\t\tHasi agiriaren irakurketa irakurgailua abiaraziz\n\t\tbezain laister\n/close\t\tItxi irakurgailua irakurketaren ondoren\n\t\t(bakarrik lan egiten du /irakurri erabiltzen denean)\n/shutdown\tItzali sistema eragilea irakurketaren ondoren\n/standby\t\tJarri sistema eragilea egonean irakurketaren ondoren\n/hibernate\tNeguratu sistema eragilea irakurketaren ondoren\n/logoff\t\tAmaitu saioa irakurketaren ondoren\n/lock\t\tBlokeatu langunea irakurketaren ondoren\n/monitoroff\tItzali monitorea irakurketaren ondoren\n/playnext\t\tIreki agiritegiko hurrengo agiria irakurketaren ondoren\n/fullscreen\tHasi ikusleiho-osoko moduan\n/minimized\tHasi txikien moduan\n/new\t\tErabili irakurgailuaren eskabide berri bat\n/add\t\tGehitu \"helburu-izena\" irakur-zerrendara,\n\t\tnahastu daiteke /ireki eta /irakurrirekin\n/randomize\tRandomize the playlist\n/regvid\t\tSortu agiri elkarketak bideo agirientzat\n/regaud\t\tSortu agiri elkarketak audio agirientzat\n/regpl\t\tSortu agiri elkarketak irakur-zerrendentzat\n/regall\t\tSortu agiri elkarketak sostengatutako\n\t\tagiri mota guztientzat\n/unregall\t\tKendu agiri elkarketa guztiak\n/start ms\t\tHasi irakurketa \"sm\" (= segundumilaenetan)\n/startpos hh:mm:ss\tHasi irakurketa kokapen honetan oo:mn:sg\n/fixedsize w,h\tEzarri zuzendutako leiho neurria\n/monitor N\tHasi irakurketa N monitorean,\n\t\tnon N hasten den 1-etik\n/audiorenderer N\tHasi N audio-aurkezlea erabiliz,\n\t\tnon N hasten den 1-etik (ikusi \"Irteera\" ezarpenak)\n/shaderpreset \"Pr\"\tHasi \"Pr\" itzal aurrezarpena erabiliz\n/pns \"name\"\tAdierazi erabiltzeko Pan-Scan aurrezarpen izena\n/iconsassoc\tBerrelkartu heuskarri ikurrak\n/nofocus\t\tIreki MPC-HC barrenean\n/webport N\tHasi web interfazea adierazitako atakan\n/debug\t\tErakutsi garbiketa argibideak IGE-n\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tErabili MPC-HC esklabu bezala\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tBerrezarri berezko ezarpenak\n/help /h /?\tErakutsi komando lerro aldaketa laguntza\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Erabilpena: mpc-hc.exe \"helburu-izena\" [aldagaiak]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2648,14 +2652,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Gaitu iragazki guztiak"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Sintonizagailu mihaketa"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Azpidatziak ez dira geratatu edo aurkezle sostengugabea."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Egile ezezaguna. Jarri nirekin harramanetan zeuk egin baduzu!"
@@ -3404,10 +3400,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "'Gorde Irudia' eta 'Gorde Txikirudiak' eginkizunek ez dute lan egiten Gainjarpen Nahastzaile bideo aurkezlearekin.\nAldatu bideo aurkezlea MPC-ren irteera aukeratan eta berrireki agiria."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Ezinezkoa onlineko azpidatzi datubasearekin elkartzea."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "EEZ editatzailea eragitea nahi duzu?"
@@ -3600,3 +3592,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Hornitzailea"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Gorrentzat"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Jeitsierak"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Maila"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Onlineko azpidatzi bilaketa hutsegitea."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Onlineko azpidatzi bilaketa utzita."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Onlineko azpidatzi bilaketa osatuta, %d azpidatzi aurkituta."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Onlineko azpidatzi bilaketa osatuta, ez da azpidatzirik aurkitu."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Jeitsi azpidatziak"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Azpidatziak bilatzen online, mesedez itxaron..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Onlineko azpidatzi bilaketa uzten..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Erabiltzaile-izena"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Egoera"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Gertu..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Ezarri gabe."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Igotzen..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Azpidatzia ongi igo da."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Azpidatzi igoera hutsegitea."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Azpidatzi igoera utzita."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Azpidatzia badago jadanik."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Azpidatzia igotzen, mesedez itxaron..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Igoera amaituta."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Igoera utzita."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Igoera hutsegitea."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Jeitsi eta Ireki"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Ezarpena"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Berrezarri"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Mugitu Gora"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Mugitu Behera"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Ireki Url-a"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Hizkuntzak"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "AKATSA: Internet elkarketa ezin da ezarri."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Sartu webgune kredentzialak"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Sartu zure kredentzialak elkartzeko hona:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Ikuspegi Maila: Pixel Karratuak Suposatuz (KIM)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Jeitsita [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Igo azpidatziak"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Zihur zaude \"%s\" azpidatzi agiria igotzea nahi duzula?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Sostengatutako hizkuntzak lortzen..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Hutsegitea \"%S\" saioa hasterakoan \"%S\" erabiltzaile-izenarekin.\n\nMesedez sartu erabiltzaile-izen eta sarhitz zuzena edo berrezarri ezagutarazleak izengabeko erabiltzaile bezala hasteko saioa."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Berezgaitasunez bilatu eta jeitsi ezgaitu egingo da multimedia agiri guztientzat helburuak hemen sartutako ereduetako bat duenean.\nAdibidez, honelakoak: \"pribatua dir\\bideoak|lana\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\tGertatzeko agiri nagusia edo zuzenbidea\n\t\t(ordez-hizkiak ahalbidetuta, \"-\" sarrera estandarra adierazten du)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tGertatu audio agiri gehigarri bat"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tGertatu audio agiri gehigarri bat XXms-rekin aldatuta\n\t\t(Agiriak \"...ATZERPENA XXms...\" badu)"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tHasi aurkezpena D3D ikusleiho-osoko moduan"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tGertatu azpidatzi agiri gehigarri bat"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tGertatu DirectShow iragazkiak lotura dinamikoko liburutegi batetik (ordez-hizkiak ahalbidetuta)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tEkin DVD moduan, \"helburu-izena\" DVD agiritegia esanahi du (aukerazkoa)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tHasi irakurketa T izenburuko, C atalean"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tHasi irakurketa T izenburuan, P kokapenean (oo:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tGertatu cd edo (S)VCD bateko audio bide guztiak,\n\t\t\"helburu-izena\"-k gidagailu helburua esanahi du esanahi du (aukerazkoa)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tIreki berezo bideo gailua"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tIreki agiria, ez hasi irakurketa berezgaitasunez"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tHasi agiria irakurtzen irakurgailua abiarazi bezain laister"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tItxi irakurgailua irakurketaren ondoren (\\play-rekin erabiltzen denean bakarrik jarduten du)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tItzali sistema eragilea irakurketaren ondoren"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tJarri sistema eragilea egonean moduan irakurketaren ondoren"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tNeguratu sistema eragilea irakurketaren ondoren"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tAmaitu saioa irakurketaren ondoren"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBlokeatu lan-estazioa irakurketaren ondoren"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tItzali monitorea irakurketaren ondoren"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tIreki agiritegiko hurrengo agiria irakurketaren ondoren"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tHasi ikusleiho-osoko moduan"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tHasi modu txikienduan"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tErabili irakurgailuaren eskabide berri bat"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tGehitu \"helburu-izena\" irakur-zerrendara, /open eta /play-rekin batera erabili daiteke"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tZorizkotu irakur-zerrenda"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tSortu agiri elkarketak bideo agirientzat"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tSortu agiri elkarketak audio agirientzat"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tSortu agiri elkarketak irakur-zerrenda agirientzat"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tSortu agiri elkarketak sostengatutako agiri mota guztientzat"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tKenndu agiri elkarketa guztiak"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tHasi irakurketa hemen \"sm\" (= segundumilaen)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tHasi irakurketa oo:mm:ss kokapenean"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tEzarri leiho neurri finko bat"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tHasi irakurgailua N monitorean, non N 1-etaik hasten da"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tHasi N audio-aurkezlea erabiliz, non N 1-etatik hasten da (Ikusi \"Irteera\" ezarpenak)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tHasi \"Pr\" itzal aurrezarpena erabiliz"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tAdierazi erabiliko den Pan&Scan aurrezarpen izena"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tBerrelkartu heuskarri ikurrak"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tIreki MPC-HC barrenean"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tHasi web interfazea adierazitako atakan"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tErakutsi garbiketa argibideak IGE-an"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tEzgaitu matxura jakinarazpenak"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tErabili MPC-HC esklabu bezala"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tEzarri hardware dekodeaketarako erabilitako GPU aurkibidea.\n\t\tEskuragarri bakarrik CUVID eta DXVA2-rako (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tLeheneratu berezko ezarpenak"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tErakutsi agindu lerro aldaketa buruzko laguntza"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Berezgaitasunez jeitsiko diren azpidatzientzako muga balioa. Balio handiagoak zehaztasun gehien duten azpidatziak gertatuko direla esanahi du, balio txikiagoek azpidatzi okerrak gertatzea eragin dezakete, baina ez dago balio ezinhobe bat. Hautatu zuretzat hobekien lan egiten duen bat."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audio Atzerapena (sm)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Berezko tresnabarraren neurria pixeletan."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Erabili ondorena tresnabarra bektorizatutako berri baten ordez."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po
index 1620ac187..7280f9af9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Matti Ylönen <maanylon@gmail.com>, 2016
# Khaida <mrktarvainen@gmail.com>, 2014
# phewi <phewnix@gmail.com>, 2014
# Raimo K. Talvio, 2014
+# Sauli Ketola <sauli.ketola@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2015-01-12 18:41+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Finnish (http://www.transifex.com/mpc-hc/mpc-hc/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -68,7 +70,7 @@ msgstr "V/A Puskurit:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
-msgstr "Audio wav-muotoon"
+msgstr "Ääni wav-muotoon"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
@@ -84,7 +86,7 @@ msgstr "Normalisoi"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr "Maksimivahvistus"
+msgstr "Maksimivahvistus:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
@@ -100,23 +102,23 @@ msgstr "Voimistus:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
-msgstr "Laske näytetaajuus 44100 Hz:iin"
+msgstr "Alinäytteistä 44100 Hz:iin"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Äänen ajansiirto (ms)"
+msgstr "Äänen ajansiirto (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Käytä yksilöllistä kanavakartoitusta"
+msgstr "Käytä mukautettua kanavakartoitusta"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
-msgstr "Kaiutinmäärittely"
+msgstr "Kaiutinasetukset"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
msgid "input channels:"
-msgstr "Sisääntulokanavat"
+msgstr "Sisääntulokanavat:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
@@ -156,7 +158,7 @@ msgstr "Avaa"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Kirjoita elokuva- tai audiotiedoston osoite (Internetissä tai tietokoneessa) ja soitin avaa sen sinulle."
+msgstr "Kirjoita elokuva- tai äänitiedoston osoite (Internetissä tai tietokoneessa) ja soitin avaa sen sinulle."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -191,8 +193,8 @@ msgid "About"
msgstr "Tietoja"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Tekijänoikeudet © 2002-2015 katso Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Tekijänoikeudet © 2002-2017 katso Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -204,7 +206,7 @@ msgstr "Englanninkielinen käännös tehty MPC-HC:n tiimin toimesta"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr "Versiotiedot"
+msgstr "Koontiversiotiedot"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -220,7 +222,7 @@ msgstr "Ei käytössä"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr "Version päiväys:"
+msgstr "Koontiversion päiväys:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
@@ -272,7 +274,7 @@ msgstr "Älä aseta etuliitettä"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Korvaa tiedostonnimi otsikolla"
+msgstr "Korvaa tiedostonimi otsikolla"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -280,11 +282,11 @@ msgstr "Muu"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
msgid "Tray icon"
-msgstr "Ilmoitusalueen ikoni"
+msgstr "Ilmoitusalueen kuvake"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "Näytä Graafinen käyttöliittymä (vaatii uudelleenkäynnistyksen)"
+msgstr "Näytä kuvaruutunäyttö (vaatii uudelleenkäynnistyksen)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
@@ -356,7 +358,7 @@ msgstr "Avaa aina oletussijainti:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Esivalittu kieli DVD-selaimelle ja ulkoiselle OGM-jakajalle "
+msgstr "Esivalittu kieli DVD-selaimelle ja ulkoiselle OGM splitterille"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -376,7 +378,7 @@ msgstr "Lisäasetukset"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Salli Closed Captions-tekstitykset \"Line 21 Dekooderissa\""
+msgstr "Salli kuulovammaisien tekstitykset \"Line 21 Dekooderissa\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -423,16 +425,20 @@ msgid "time(s)"
msgstr "kerta(a)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Toistotila:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Toiston jälkeen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Ulostulo"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
-msgstr "Automaattinen zoomaus"
+msgstr "Automaattinen zoomaus:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
@@ -464,11 +470,11 @@ msgstr "Avaa asetukset"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Käytä työsäijettä grafiikkasuotimen muodostamiseksi"
+msgstr "Käytä työsäiettä suodinkaavion muodostamiseen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Raportoi kohdat, joiden renderöinti epäonnistui"
+msgstr "Raportoi pinnit joiden renderöinti epäonnistui"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
@@ -528,7 +534,7 @@ msgstr "Tekstitykset puskuriin:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
-msgstr "Tekstuurien maksimiresoluutio"
+msgstr "Tekstuurien maksimiresoluutio:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
@@ -548,7 +554,7 @@ msgstr "Animoi kohdassa"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr "% videon kehysnopeutta"
+msgstr "% videon kuvataajuudesta"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
@@ -556,7 +562,7 @@ msgstr "Salli joidenkin tekstitysten pois jättäminen, jos jono on myöhässä"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
-msgstr "Renderöintisuunnitelma"
+msgstr "Renderöintiasettelu"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
@@ -567,7 +573,7 @@ msgid "Warning"
msgstr "Varoitus"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Jos pakotat ja otat käyttöön kokoruututilan antialiasoinnin näytönohjaimesi asetuksissa, tekstitykset eivät näy yhtään paremmin mutta syövät prosessoritehoa."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -648,7 +654,7 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "Audio-CD"
+msgstr "Ääni-CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
@@ -676,7 +682,7 @@ msgstr "Estä kokoruututilassa soittimen pienentäminen muulla kuin oletusnäyt
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Käytä laajennetun tehtäväpalkin ominaisuuksia"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -688,7 +694,7 @@ msgstr "Käytä aika-työkaluvihjettä:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
-msgstr "OSD:n fontti:"
+msgstr "Kuvaruutunäytön fontti:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
@@ -740,7 +746,7 @@ msgstr "Poista"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
-msgstr "Nollaa lista"
+msgstr "Palauta lista"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Type:"
@@ -892,11 +898,11 @@ msgstr "Varoitus"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC ei voi renderöidä joitakin grafiikan osia. Tarvittavia koodekkeja tai suotimia ei luultavasti ole asennettu järjestelmään."
+msgstr "MPC-HC ei voi renderöidä joitakin kaavion pinnejä. Tarvittavia koodekkeja tai suotimia ei luultavasti ole asennettu järjestelmään."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
-msgstr "Seuraaville kohdille ei löydy kytkettävää suodinta: "
+msgstr "Seuraaville pinneille ei löydy kytkettävää suodinta: "
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
@@ -932,7 +938,7 @@ msgstr "Tallenna oma tyyli"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr "JPEG -laatu"
+msgstr "JPEG-laatu:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Thumbnails:"
@@ -1016,7 +1022,7 @@ msgstr "Varjo"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Screen Alignment && Margins"
-msgstr ""
+msgstr "Näytön Sovitus && Marginaalit"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
@@ -1088,11 +1094,11 @@ msgstr "Jakaja"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr "Videodekooderi"
+msgstr "Videon dekooderi"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr "Audiodekooderi"
+msgstr "Äänen dekooderi"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1120,11 +1126,11 @@ msgstr "QuickTime Video"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "Audiorenderöitsijä"
+msgstr "Äänen renderoija"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderöimätön) ja EVR (CP) asetukset"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderöimätön) ja EVR (CP) asetukset"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1168,11 +1174,11 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Tekstitys"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
-msgstr "Kuvankaappaus"
+msgstr "Kuvakaappaus"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
@@ -1184,6 +1190,10 @@ msgstr "Kääntö"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
+msgstr "Tekstityksen renderöijä"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
msgstr ""
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
@@ -1192,7 +1202,7 @@ msgstr "Kuuntele porttia:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Avaa selaimessa:"
+msgstr "Avaa selaimessa..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1200,11 +1210,11 @@ msgstr "Käytä pakkausta"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
-msgstr "Salli saanto vain paikallisesti"
+msgstr "Salli käyttö vain paikallisesti"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "Esikatselu päällä"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1231,24 +1241,52 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI käsittelijät: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Tekstitykset saatavissa online:"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Lataa && Avaa"
+msgid "Download subtitles"
+msgstr "Lataa tekstitykset"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Korvaa nykyiset ladatut tekstitykset"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Lataa"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Päivitä"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Keskeytä"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Optiot"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Lähetä tekstitykset"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Lähetä"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Keskeytä"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Asetukset"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Tallenna nimellä..."
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
-msgstr "Värien valvonta ( VMR-9:lle, EVR:lle ja madVR:lle)"
+msgstr "Värien säätö (VMR-9:lle, EVR:lle ja madVR:lle)"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Brightness"
@@ -1276,11 +1314,11 @@ msgstr "Päivitysten tarkistus"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "Salli päivitysten automaattinen tarkistus"
+msgstr "Päivitysten automaattinen tarkistus päällä"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
-msgstr ""
+msgstr "Tarkista joka:"
msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
msgid "day(s)"
@@ -1392,15 +1430,15 @@ msgstr "Vastaanotin"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
msgid "Channel switching approach:"
-msgstr "Kanavan vaihdon lähestyminen"
+msgstr "Kanavan vaihdon lähestymistapa:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
-msgstr "Rakenna grafiikkasuodin uudelleen"
+msgstr "Rakenna suodinkaavio uudelleen"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr "Pysäytä grafiikkasuodin"
+msgstr "Pysäytä suodinkaavio"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
@@ -1432,7 +1470,7 @@ msgstr "Esiintymä lähimmässä VSync:issa"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Kohde synkronointioffset"
+msgstr "Kohteen synkronoinnin offset:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1460,7 +1498,7 @@ msgstr "Käynnistä tiedostot koko näytössä"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
-msgstr "Kätke säätimet kokoruututilassa"
+msgstr "Piilota säätimet kokoruututilassa"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
msgid "ms"
@@ -1543,16 +1581,28 @@ msgid "Reset"
msgstr "Palauta"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online-tietokanta"
+msgid "Online search, download and upload subtitles"
+msgstr "Hae verkosta, lataa ja lähetä tekstityksiä."
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Etsi ja lataa tekstitykset automaattisesti jos paikallista tekstitystä ei löydy"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Suosi kuulovammaisille tarkoitettuja tekstityksiä (kun se on merkitty tekstitysten tarjoajan toimesta)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ohita tiedostot joissa esiintyy mikä tahansa seuraavista sanoista:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Online-tekstitysten tietokannan perus-URL-osoite"
+msgid "Languages in order of preference:"
+msgstr "Kielet tärkeysjärjestyksessä:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testi"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Lähetä aktiiviset tekstitykset automaattisesti toiston päätyttyä"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1564,7 +1614,7 @@ msgstr "Lataa nyt"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
-msgstr "Muistuta minua myöhemmin"
+msgstr "Muistuta myöhemmin"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
@@ -1656,51 +1706,51 @@ msgstr "Oletus"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "Laite"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "Erikoistila"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "Salli bitstreaming"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Asetukset"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "Stereon ristisyöttö päällä (kuulokkeille)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Katkaisu:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Taso:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "Huomautus"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "Särön minimoiseksi suositellaan soittimen maksimitasoksi n. 85% kun toistetaan äänekästä häviöllistä sisältöä."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr "JPEG -laatu"
+msgstr "JPEG-laatu:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
@@ -1712,37 +1762,37 @@ msgstr "OK"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr ""
+msgstr "Kaatumisraportoija"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "Olemme pahoillamme, mutta MPC-HC kaatui :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "Lähetä vikaraportti jotta voimme tutkia ja korjata ongelman."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "Lisätiedot"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr ""
+msgstr "Sähköposti:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr ""
+msgstr "Sähköpostiosoitteesi on valinnainen ja sitä käytetään vain jos kehittäjillä on tarvetta pyytää sinulta lisätietoja."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr ""
+msgstr "Ongelman kuvaus (vain englanniksi):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Uudelleenkäynnistä MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Lopeta MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po
index fd2a73165..84fb917f4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Pallerå, 2015
+# Matti Ylönen <maanylon@gmail.com>, 2016
# phewi <phewnix@gmail.com>, 2014
# Raimo K. Talvio, 2014
+# Sauli Ketola <sauli.ketola@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
-"PO-Revision-Date: 2015-02-08 14:31+0000\n"
-"Last-Translator: Pallerå\n"
-"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:02+0000\n"
+"Last-Translator: Underground78\n"
+"Language-Team: Finnish (http://www.transifex.com/mpc-hc/mpc-hc/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -66,29 +68,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Tallenna pienoiskuvat..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Lataa tekstitykset..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Tallenna tekstitykset..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Tekstitystietokanta"
+msgid "S&ubtitles"
+msgstr "Tekstitykset"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Etsi..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Avaa tekstitykset..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Lähetä..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Tallenna tekstitykset..."
+
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Lataa tekstitykset..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Lataa..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Lähetä tekstitykset..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -188,7 +186,7 @@ msgstr "Sovita automaattisesti"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Sovita automaattisesti (vain suurempaan)"
+msgstr "Sovita automaattisesti (Vain suurempi)"
msgctxt "POPUP"
msgid "R&enderer Settings"
@@ -196,23 +194,23 @@ msgstr "Renderöintiasetukset"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "Pikatesti"
+msgstr "Repeytymistesti"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr ""
+msgstr "&Näytä Tilastot"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr ""
+msgstr "Näytä Nykyinen A&ika"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr ""
+msgstr "Näytä &Tiedoston Nimi"
msgctxt "POPUP"
msgid "&Output Range"
-msgstr "Tulostealue"
+msgstr "Ulostulon alue"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
@@ -236,7 +234,7 @@ msgstr "D3D Kokonäyttö & Käyttöliittymätuki"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "10-bit &RGB Output"
+msgstr "10-bit &RGB ulostulo"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
@@ -256,15 +254,15 @@ msgstr "Poista käytöstä työpöytäkompositio (&Aero)"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Salli kehysaikakorjaus"
+msgstr "Kehyksen aikakorjaus päällä"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "Värin hallinta"
+msgstr "Värien hallinta"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
-msgstr "Salli"
+msgstr "Päällä"
msgctxt "POPUP"
msgid "&Input Type"
@@ -272,7 +270,7 @@ msgstr "Syöttötyyppi"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
-msgstr "Automaattinen havainti"
+msgstr "Automaattinen tunnistus"
msgctxt "ID_VIEW_CM_INPUT_HDTV"
msgid "&HDTV"
@@ -364,7 +362,7 @@ msgstr "Odota kiindytystä"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Nollaa"
+msgstr "Palauta"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
@@ -410,17 +408,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Ikkunakoko ulkopuolelta"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Säilytä kuvasuhde"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Pakota kuvasuhde"
+msgid "&Aspect Ratio"
+msgstr "Kuvasuhde"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Oletus"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Oletus (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,7 +434,11 @@ msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
+
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Oleta neliömäiset pikselit (SAR)"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
@@ -476,11 +474,11 @@ msgstr "Vähennä korkeutta"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
-msgstr "Siirrä oikeaan"
+msgstr "Siirrä oikealle"
msgctxt "ID_PANSCAN_MOVELEFT"
msgid "Move &Left"
-msgstr "Siirrä vasempaan"
+msgstr "Siirrä vasemmalle"
msgctxt "ID_PANSCAN_MOVEUP"
msgid "Move &Up"
@@ -496,11 +494,11 @@ msgstr "Keskelle"
msgctxt "ID_VIEW_RESET"
msgid "Re&set"
-msgstr "Nollaa"
+msgstr "Palauta"
msgctxt "POPUP"
msgid "On &Top"
-msgstr "Yläreunassa"
+msgstr "Päällimmäisenä"
msgctxt "ID_ONTOP_DEFAULT"
msgid "&Default"
@@ -512,11 +510,11 @@ msgstr "Aina"
msgctxt "ID_ONTOP_WHILEPLAYING"
msgid "While &Playing"
-msgstr "toistettaessa"
+msgstr "Toistettaessa"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
-msgstr "toistettaessa videota"
+msgstr "Toistettaessa videota"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
@@ -528,27 +526,43 @@ msgstr "Toista"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "Toisto/tauko"
+msgstr "Toisto/Tauko"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
msgstr "Pysäytä"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Kehyksen askel"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Toista"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Ikuisesti"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "Tiedosto"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Soittolista"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
-msgstr "Vähennä kehysnopeutta"
+msgstr "Vähennä toistonopeutta"
msgctxt "ID_PLAY_INCRATE"
msgid "&Increase Rate"
-msgstr "Lisää kehysnopeutta"
+msgstr "Lisää toistonopeutta"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "Nollaa kehysnopeus"
+msgstr "Palauta toistonopeus"
msgctxt "ID_FILTERS"
msgid "&Filters"
@@ -560,19 +574,19 @@ msgstr "Varjostimet"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
-msgstr ""
+msgstr "&Ääniraita"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr ""
+msgstr "Tek&stitys Raita"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&video Raita"
msgctxt "POPUP"
msgid "&Volume"
-msgstr "Äänen voimakkuus"
+msgstr "Äänenvoimakkuus"
msgctxt "ID_VOLUME_UP"
msgid "&Up"
@@ -592,7 +606,7 @@ msgstr "Toiston jälkeen"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
-msgstr ""
+msgstr "Älä tee &mitään"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
@@ -600,23 +614,23 @@ msgstr "Toista seuraava tiedosto kansiosta"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "Sulje näyttö"
+msgstr "Sammuta näyttö"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
-msgstr "Poistu"
+msgstr "Sulje"
msgctxt "ID_AFTERPLAYBACK_STANDBY"
msgid "&Stand By"
-msgstr "valmiustila"
+msgstr "Valmiustila"
msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
msgid "&Hibernate"
-msgstr "lepotila"
+msgstr "&Horrostila"
msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
msgid "Shut&down"
-msgstr "Sulje kone"
+msgstr "Sammuta"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
@@ -684,7 +698,7 @@ msgstr "Tarkista päivitykset"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "Komentorivin vaihtoehdot"
+msgstr "Komentorivin muuttujat"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po
index 355d92ff9..c5ca81ad0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po
@@ -1,16 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Matti Ylönen <maanylon@gmail.com>, 2016
# phewi <phewnix@gmail.com>, 2014
# Raimo K. Talvio, 2014
+# Sauli Ketola <sauli.ketola@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
-"PO-Revision-Date: 2015-02-08 14:31+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
+"Last-Translator: JellyFrog\n"
+"Language-Team: Finnish (http://www.transifex.com/mpc-hc/mpc-hc/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -51,7 +53,7 @@ msgstr "Soita musiikkia"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "Soita audio-CD"
+msgstr "Soita Ääni-CD"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
@@ -61,10 +63,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Ominaisuudet"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Tiedosto"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Oletustyyli"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Soittolista"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Tiedostot"
@@ -87,7 +97,7 @@ msgstr "Synkronointioffset"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr ""
+msgstr "ka.: %d ms, hajonta: %d ms"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -99,7 +109,7 @@ msgstr "Bittinopeus"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(keskim/nyk)"
+msgstr "(ka./nyk.)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -107,7 +117,7 @@ msgstr "Signaali"
msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
msgid "Strength: %d dB, Quality: %ld%%"
-msgstr "Voimakkuus: %d dB, laatu: %ld%%"
+msgstr "Voimakkuus: %d dB, Laatu: %ld%%"
msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
msgid "Styles"
@@ -115,7 +125,27 @@ msgstr "Tyylit"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Jos muunnoskohdetta ei ole määritetty, SSA/ASS -tekstitykset muunnetaan suhteessa videokehykseen, kun kaikki muut tekstimuotoiset tekstitykset muunnetaan suhteutettuna ikkunaan."
+msgstr "Jos renderöintikohdetta ei ole määritetty, SSA/ASS -tekstitykset renderöidään suhteessa videokehykseen ja kaikki muut tekstimuotoiset tekstitykset renderöidään suhteutettuna ikkunaan."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Toistotila: Soittolista"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Toistotila: Tiedosto"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Toista ikuisesti: Päällä"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Toista ikuisesti: Pois"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Toista ikuisesti"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -131,7 +161,7 @@ msgstr "Aina (hitain vaihtoehto)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Jotkin laitteet eivät tue. Kaksi videodekooderia aina käytössä grafiikkasuotimessa."
+msgstr "Jotkin laitteet eivät tue. Videodekoodereita on aina kaksi suodinkaaviossa."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
@@ -155,7 +185,7 @@ msgstr "Aina (jotkin laitteet edellyttävät)"
msgctxt "IDS_INFOBAR_PARENTAL_RATING"
msgid "Parental rating"
-msgstr "Ikäkausiluokitus"
+msgstr "Ikärajaluokitus"
msgctxt "IDS_PARENTAL_RATING"
msgid "%d+"
@@ -179,7 +209,7 @@ msgstr "Uutiset/Nykyiset asiat"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
-msgstr "GB/sek."
+msgstr "GB/s"
msgctxt "IDS_FILE_FAV_ADDED"
msgid "File added to favorites"
@@ -239,7 +269,7 @@ msgstr "Fontti"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Joidenkin DVD-navigaattorin nastojen muunto epäonnistui"
+msgstr "Joidenkin DVD-navigaattorin pinnien renderöinti epäonnistui"
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
@@ -251,11 +281,11 @@ msgstr "Live"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
-msgstr "Videokaappaussuodinta ei voi lisätä kaavioon"
+msgstr "Videokaappaussuodinta ei voitu lisätä kaavioon"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "Audiokaappaussuodinta ei voi lisätä kaavioon"
+msgstr "Äänenkaappaussuodinta ei voitu lisätä kaavioon"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -275,7 +305,7 @@ msgstr "Annettu aika on suurempi kuin tiedoston kesto."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Ikonikirjastoa \"mpciconlib.dll\" ei löydy.\nSoittimen oletusikonia käytetään tiedostojen kytkentään.\nOle hyvä ja asenna MPC-HC uudelleen \"mpciconlib.dll\":n saamiseksi."
+msgstr "Kuvakekirjastoa \"mpciconlib.dll\" ei löydy.\nSoittimen oletuskuvaketta käytetään tiedostojen kytkentään.\nOle hyvä ja asenna MPC-HC uudelleen \"mpciconlib.dll\":n saamiseksi."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -327,11 +357,11 @@ msgstr "Päällä/pois"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
-msgstr "Kehysnopeudesta"
+msgstr "Kuvataajuudesta"
msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
msgid "To (FPS)"
-msgstr "kehysnopeuteen"
+msgstr "Kuvataajuuteen"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
@@ -355,11 +385,11 @@ msgstr "Toiston vaatimien liittymien kysely epäonnistui."
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
-msgstr "Kohdeikkunaa ei voi asettaa kaavion huomautukselle."
+msgstr "Kohdeikkunaa ei voitu asettaa kaavion huomautukselle"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "DVD-navigaattorisuotimen kaikkien nastojen muunnos epäonnistui."
+msgstr "DVD-navigaattorisuotimen kaikkien pinnien renderöinti epäonnistui."
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -415,7 +445,7 @@ msgstr "Tuplaa"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
-msgstr "Nollaa"
+msgstr "Palauta"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
@@ -455,7 +485,7 @@ msgstr "Toimintavihjeet"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Sisäiset suotimet::Audiovaihtaja"
+msgstr "Sisäiset suotimet::Äänenvaihtaja"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
@@ -483,19 +513,19 @@ msgstr "Toisto::Kaappaus"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Toisto::Sync -muuntimen asetukset"
+msgstr "Toisto::Sync-renderöijän asetukset"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
-msgstr "Toisto::Kokonäyttö"
+msgstr "Toisto::Koko näyttö"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Sisäiset suotimet::Äänen renderöijä"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
-msgstr "Audiovaihtaja"
+msgstr "Äänenvaihtaja"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
@@ -511,31 +541,23 @@ msgstr "Tämä korjaa ikonikirjaston päivityksen jälkeen virheellisesti näyte
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "Vanha videomuunnin"
+msgstr "Vanha videorenderöijä"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "Peittokuvamikserimuunnin"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Videomiksausmuunnin 7 (ikkunoitu)"
+msgstr "Peittokuvamikserirenderöijä"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "Videomiksausmuunnin 9 (ikkunoitu)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Videomiksausmuunnin 7 (ei muunnosta)"
+msgstr "Videomiksausrenderöijä 9 (ikkunoitu)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Videomiksausmuunnin 9 (ei muunnosta)"
+msgstr "Videomiksausrenderöijä 9 (renderöimätön)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "Laajennettu videomuunnin"
+msgstr "Laajennettu videorenderöijä"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
@@ -543,7 +565,7 @@ msgstr "Laajennettu videomuunnin (oma esittäjä)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali Videomuunnin"
+msgstr "Haali Video -renderöijä"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -575,16 +597,12 @@ msgstr "Soitin::Logo"
msgctxt "IDD_PPAGEOUTPUT"
msgid "Playback::Output"
-msgstr "Toisto::Lähtö"
+msgstr "Toisto::Ulostulo"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Soitin::Nettiliittymä"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Tekstitykset::Tietokanta"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Yksityiskohdat"
@@ -595,27 +613,19 @@ msgstr "Leike"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "DirectShown oletusvideomuunnin. Jos muita ei voi jostain syystä ladata, käytetään oletusta. Windows XP:ssä tämä on sama kuin VMR-7 (ikkunoitu)."
+msgstr "Oletus DirectShow videon renderöijä. Jos muita ei voi jostain syystä ladata, käytetään oletusta. Windows XP:ssä tämä on sama kuin VMR-7 (ikkunoitu)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Tämä on Windows 9x/ME/2K:n oletusmuunnin. Videoikkunan ja näytönohjaimen ominaisuuksista riippuen se vaihtaa dynaamisesti GDI-, DirectDraw- ja peittokovatilojen välillä."
+msgstr "Tämä on Windows 9x/ME/2K:n oletusrenderöijä. Videoikkunan ja näytönohjaimen ominaisuuksista riippuen se vaihtaa dynaamisesti GDI-, DirectDraw- ja peittokuvarenderöintien välillä."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Muuntaa aina peittokuvamuodossa. Yleensä vain YUV-muodot on sallittu, mutta ne esiintyvät suodaan ilman värimuunnosta RGB:hen. Tämä on nopein muuntotapa ja ainoa, jossa voit varma täyskuvapeilauksesta TV:n aktivointiin."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP:n oletusmuunnin. Hyvin vakaa ja vain vähän hitaampi kuin peittokuvamikseri. Käyttää DirectDraw:ta ja toimii peittokuvamuodossa, kun voi niin tehdä."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Käytettävissä vain jos DirectX 9 on asennettu. Sisältää samat toiminnot kuin VMR-7 (ikkunoitu), mutta ei käytä koskaan peittokuvamuunnosta koska se voi olla hieman hitaampi kuin VMR-7 (ikkunoitu)"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Sama kuin VMR-7 (ikkunoitu), mutta sisältää MPC-HC:n sijoitus-esittäjäpluginin tekstitystä varten. Peittokuvavideopeilaus EI toimi. \"True Color\"-näyttötilaa suositellaan. "
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Käytettävissä vain jos sinulla on DirectX 9 asennettuna. Erittäin vakaa, mutta se ei voi käyttää peittokuvarenderöintiä ja tästä syystä se voi olla hiukan hitaampi kuin peittokuvamikseri."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -623,7 +633,7 @@ msgstr "Sama kuin VMR-9 (ikkunoitu), mutta sisältää MPC-HC:n sijoittaja-esitt
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Sama kuin VMR-9 (muuntamaton), mutta käyttää true two-pass bicubic-koon muuttajaa."
+msgstr "Sama kuin VMR-9 (renderöimätön), mutta käyttää aitoa 2-pass bicubic -koon muuttajaa."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
@@ -635,7 +645,7 @@ msgstr "Sama kuin normaali Nollamuunnin, mutta vämä yhdistää vain pakkaamatt
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Käytettävissä vain Vistassa tai myöhemmissä tai Windows XP:ssä ja vähintään .NET Framework 3.5 asennettuna"
+msgstr "Käytettävissä vain Vistassa tai myöhemmissä tai Windows XP:ssä jossa vähintään .NET Framework 3.5 asennettuna"
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
@@ -647,31 +657,23 @@ msgstr "Korkealaatuinen muunnin, edellyttää GPU:ta, joka tukee D3D9:ä tai my
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr "Sama kuin EVR (CP), mutta tarjoaa useita vaihtoehtoja videon kehysnopeuden synkronointiin näytön virkistystaajuuteen ohitettujen tai kaksoisvideoruutujen välttämiseksi"
+msgstr "Sama kuin EVR (CP), mutta tarjoaa useita asetuksia videon kuvataajuuden ja näytön virkistystaajuuden synkronointiin ohitettujen tai tuplaantuneiden kuvien estämiseksi."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Realin oma muunnin. SMIL-skriptit toimivat, mutta vuorovaikutus luultavasti ei. Käyttää DirectDrawia ja toimii peittokuvassa, kun voi."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "VMR-7:n (muuntamaton) DX7-pohjaisen Sijoittaja-Esittäjän avulla muunnetun Realin koneen lähtö."
+msgstr "Realin oma muunnin. SMIL-skriptit toimivat, mutta vuorovaikutus luultavasti ei. Käyttää DirectDrawia ja toimii peittokuvassa kun se on mahdollista."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "VMR-9:n (muuntamaton) DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun Realin koneen lähtö."
+msgstr "DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-9 (renderöimätön) Real-moottorin ulostulo."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTimen oma muunnin. Hidastuu vähän, kun videon alueen kokoa muunnetaan tai toinen ikkuna varjostaa sitä. Kun peittokuvaa ei voi käyttöö, se tahtoo pudota takaisin GDI:hin."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "DX7-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-7 (muuntamaton) QuickTimen koneen lähtö."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-9 (muuntamaton) QuickTime-koneen lähtö."
+msgstr "DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-9 (renderöimätön) QuickTime-moottorin ulostulo."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -735,7 +737,7 @@ msgstr "Ei mitään (pakkaamaton)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "Sisäinen äänen renderoija"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -749,9 +751,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Jos haluat näyttää selaimesi sisäisiä resursseja on web-liittymä otettava käyttöön.\n\nKäytä nappulaa \"Tallenna nimellä\" jos haluat ainoastaan tallentaa tiedot."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Imuroi tekstitykset"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Lataa tekstitykset..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Lähetä tekstitykset..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -783,7 +789,7 @@ msgstr "Kaikkia arkistonimikkeitä ei löydy"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Videotaso sijoitetaan pinnaksi mutta silti 2d-funktioita käytetään kopiointiin ja venyttämiseen taustapuskuriin. Vaatii näyttökortin, joka kykenee sijoittamaan 32-bittisiä RGBA, non-power-of-two -kokoisia pintoja ja viimein videon resoluutioon."
+msgstr "Videotaso sijoitetaan pinnaksi mutta silti 2d-funktioita käytetään kopiointiin ja venyttämiseen taustapuskuriin. Vaatii näytönohjaimen joka kykenee varaamaan 32-bittisiä, RGBA, non-power-of-two -kokoisia pintoja ja vähintään videon resoluutioon."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -795,7 +801,7 @@ msgstr "Jos Pixel Shader 2.0 tukea ei ole, yksinkertaista bilineaarista käytet
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Asettaa VMR-9 (muuntamaton) sekoitustilaan, jossa sen ominaisuussivun säädöt toimivat ja se käyttää erillistä toimintosäiettä kehysmuunnokseen."
+msgstr "Asettaa VMR-9 (renderöimätön) sekoitustilaan jossa sen ominaisuussivun säädöt toimivat ja se käyttää erillistä toimintosäiettä kehysrenderöintiin."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -803,11 +809,23 @@ msgstr "Lisää tehoa joidenkin muuntimen yhteensopivuuden kustannuksella."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr "Rajoittaa kuvan hajoamista mutta estää työkalupalkin näkymisen."
+msgstr "Vähentää kuvan repeytymistä mutta estää työkalupalkin näkymisen."
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Rajoittaa kuvan hajoamista ohittamalla oletusarvoisen D3D:n sisäisen VSyncin"
+msgstr "Vähentää kuvan repeytymistä ohittamalla oletusarvoisen D3D:n sisäisen VSyncin."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Virittimen asemanhaku"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Tekstityksiä ei ladattu tai muunninta ei tueta."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -823,7 +841,7 @@ msgstr "Käyttää LAV Filters-suotimia"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Käyttää LAV Filters-suotimia. Ne on oletuksena poistettu käytöstä, koska Microsoftin suotimet ovat yleensä vakaampia noille formaateille.\nJos päätät käyttää sisäisiä suotimia, ota ne käyttöön sekä lähteeseen että dekoodaukseen paremman toistokokemuksen saamiseksi."
+msgstr "Käyttää LAV Filters -suotimia. Ne ovat oletuksena poistettu käytöstä, koska Microsoftin suotimet ovat yleensä vakaampia noille formaateille.\nJos päätät käyttää sisäisiä suotimia, ota ne käyttöön sekä lähteeseen että dekoodaukseen paremman toistokokemuksen saamiseksi."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -843,7 +861,7 @@ msgstr "Poista käytöstä tekstitysten animointi. Tämän vaihtoehdon käyttö
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Puskuroitujen alikuvien määrän noston pitäisi periaatteessa lisätä muunnostehoa näyttökortin videomuistin korkeamman käytön kustannuksella."
+msgstr "Puskuroitujen tekstitysrivien määrän noston pitäisi periaatteessa lisätä renderöintitehokkuutta näytönohjaimen muistin korkeamman käytön kustannuksella."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -863,7 +881,7 @@ msgstr "Tauko\nTauko"
msgctxt "ID_PLAY_STOP"
msgid "Stop\nStop"
-msgstr "Lopeta\nLopeta"
+msgstr "Pysäytä\nPysäytä"
msgctxt "ID_PLAY_FRAMESTEP"
msgid "Step\nStep"
@@ -887,7 +905,7 @@ msgstr "Poista vaimennus"
msgctxt "ID_VOLUME_MUTE_DISABLED"
msgid "No audio"
-msgstr "Ei audiota"
+msgstr "Ei ääntä"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "Skip back\nSkip back"
@@ -927,7 +945,7 @@ msgstr "&Lisää"
msgctxt "IDS_OPTIONS_CAPTION"
msgid "Options"
-msgstr "Vaihtoehdot"
+msgstr "Asetukset"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
@@ -946,11 +964,11 @@ msgid "&Organize Favorites..."
msgstr "&Järjestä Suosikit"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Järjestä uudelleen"
+msgid "Sh&uffle"
+msgstr "Sekoita"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Avaa tiedostosijainti"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -963,7 +981,7 @@ msgstr "Toistetaan"
msgctxt "IDS_CONTROLS_PAUSED"
msgid "Paused"
-msgstr "Pysäytetty"
+msgstr "Tauko"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
@@ -983,7 +1001,7 @@ msgstr "EDL tallennus"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "Salli kehyksen aikakorjaus"
+msgstr "Kehyksen aikakorjaus päällä"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
@@ -1019,7 +1037,7 @@ msgstr "PnS Käännä Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Särkymistesti"
+msgstr "Repeytymistesti"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1034,7 +1052,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoomaa Ultra-laajakuvanäyttöön,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Piilota Kokonäytössä"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1059,7 +1077,7 @@ msgstr "Suljettu"
msgctxt "IDS_SUBTITLES_OPTIONS"
msgid "&Options..."
-msgstr "Vaihtoehdot"
+msgstr "Asetukset..."
msgctxt "IDS_SUBTITLES_STYLES"
msgid "&Styles..."
@@ -1071,7 +1089,7 @@ msgstr "&Lataa uudelleen"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
-msgstr "Salli"
+msgstr "Päällä"
msgctxt "IDS_PANSCAN_EDIT"
msgid "&Edit..."
@@ -1139,7 +1157,7 @@ msgstr "Kaikki tiedostot (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "Audiotiedostot (kaikki tyypit)"
+msgstr "Äänitiedostot (kaikki tyypit)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1195,11 +1213,11 @@ msgstr "%s:"
msgctxt "IDS_RECORD_START"
msgid "Record"
-msgstr "Tallenna"
+msgstr "Nauhoita"
msgctxt "IDS_RECORD_STOP"
msgid "Stop"
-msgstr "Seis"
+msgstr "Pysäytä"
msgctxt "IDS_BALANCE"
msgid "L = R"
@@ -1222,7 +1240,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Lisää sisältökansio"
msgctxt "IDS_HW_INDICATOR"
@@ -1263,7 +1281,7 @@ msgstr "Piilottaa säätimet ja panelit myös ikkunoidussa tilassa."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "Estää ulkoisen tekstitysmuuntimen latauksen sisäistä käytettäessä."
+msgstr "Estää ulkoisen tekstitysrenderöijän latautumisen sisäistä käytettäessä."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1283,7 +1301,7 @@ msgstr "Muista vain pidempien kuin N minuutin pituisten tiedostojen sijainti."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr "Muista myös audiotiedostojen sijainti."
+msgstr "Muista myös äänitiedostojen sijainti."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
@@ -1303,11 +1321,11 @@ msgstr "Sulje"
msgctxt "IDS_AFTER_PLAYBACK_EXIT"
msgid "Exit"
-msgstr "Poistu"
+msgstr "Sulje"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr "Sulje näyttö"
+msgstr "Sammuta näyttö"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
@@ -1319,7 +1337,7 @@ msgstr "Laatu (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Vain audio-tilassa ladattavan kansikuvan enimmäiskoko (NxNpx)"
+msgstr "Vain ääni -tilassa ladattavan kansikuvan enimmäiskoko (NxNpx)"
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
@@ -1359,7 +1377,7 @@ msgstr "Ei tietoa saatavilla"
msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
msgid "Please wait, analysis in progress..."
-msgstr "Odota, analyysi on käynnissä..."
+msgstr "Ole hyvä ja odota, analyysi on käynnissä..."
msgctxt "IDS_ASPECT_RATIO_FMT"
msgid "AR %d:%d"
@@ -1367,43 +1385,43 @@ msgstr "Kuvasuhde %d:%d"
msgctxt "IDS_PPAGEADVANCED_LOGGER"
msgid "Enables logging to file (requires restart)"
-msgstr ""
+msgstr "Lokin kirjoitus tiedostoon päälle (vaatii uudelleenkäynnistyksen)"
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
-msgstr ""
+msgstr "Jäljellä oleva aika"
msgctxt "IDS_TIMER_HIGH_PRECISION"
msgid "High precision"
-msgstr ""
+msgstr "Korkea tarkkuus"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr ""
+msgstr "Toiston jälkeen: Mene nykyisen tiedoston alkuun"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr ""
+msgstr "Toiston jälkeen: Sulje"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr ""
+msgstr "MPC-HC kohtasi ongelman ohjelman alustuksen yhteydessä. Sinun avullasi voimme ehkä korjata tämän ongelman.\n\nHaluatko raportoida sen eteenpäin?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr ""
+msgstr "Syötä positiivinen arvo jos ääni tulee liian aikaisin ja negatiivinen jos se tulee liian myöhään."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr ""
+msgstr "Esikatselu on pois päältä. Voit laittaa sen päälle MPC-HC:n asetuksista."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "Tämä asetus sallii mediatiedostojen etäesikatselun. Käytä tätä vain asianmukaisesti suojatussa yksityisessä verkossa.\n\nHaluatko varmasti laittaa tämän päälle?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Sisäinen tekstitysrenderöijä"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1425,13 +1443,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Kuvan tallennus onnistui"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Lataa tekstitys"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Tallenna tekstitys"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1439,7 +1457,7 @@ msgstr "Ominaisuudet"
msgctxt "IDS_AG_EXIT"
msgid "Exit"
-msgstr "Poistu"
+msgstr "Sulje"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
@@ -1471,7 +1489,7 @@ msgstr "Lisää nopeutta"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
-msgstr "Näytä/Pelinäyttö"
+msgstr "Esitys/Peliohjelma"
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
@@ -1535,11 +1553,11 @@ msgstr "Esi-koonmuutosvarjostimien asetus epäonnistui"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Kehyksen aikakorjaus: päällä"
+msgstr "Kehyksen aikakorjaus: Päällä"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Kehyksen aikakorjaus: pois päältä"
+msgstr "Kehyksen aikakorjaus: Pois päältä"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
@@ -1558,8 +1576,8 @@ msgid "Thumbnails saved successfully"
msgstr "Pienoiskuvien tallennus onnistui"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&Videoraita"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1567,7 +1585,7 @@ msgstr "Videon Kulma"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
-msgstr "Nollaa asetukset"
+msgstr "Palauta asetukset"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
@@ -1603,15 +1621,15 @@ msgstr "Pienennä nopeutta"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Nollaa nopeus"
+msgstr "Palauta nopeus"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Audion viive +10ms"
+msgstr "Äänen viive +10ms"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
-msgstr "Audion viive -10ms"
+msgstr "Äänen viive -10ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1687,31 +1705,31 @@ msgstr "Hyppää alkuun"
msgctxt "IDS_OSD_SHOW_FILENAME"
msgid "OSD: Show File Name"
-msgstr ""
+msgstr "Kuvaruutunäyttö: Näytä tiedostonimi"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "Soita DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "Soita BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
-msgstr ""
+msgstr "Kuvaruutunäyttö: Näytä renderöijän statistiikat"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr ""
+msgstr "Kuvaruutunäyttö: Resetoi renderöijän statistiikka"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Tekstitykset::Sekal"
+msgstr "Tekstitykset::Sekalaiset"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
-msgstr "Kätke &rajat"
+msgstr "Piilota &rajat"
msgctxt "IDS_VIEW_FRAMEONLY"
msgid "Fra&me Only"
@@ -1723,7 +1741,7 @@ msgstr "Näytä Caption&&Valikko"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
-msgstr "Kätke &valikko"
+msgstr "Piilota &valikko"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
@@ -1743,7 +1761,7 @@ msgstr "Näytä normaalina"
msgctxt "IDS_AG_FULLSCREEN"
msgid "Fullscreen"
-msgstr "Kokonäyttö"
+msgstr "Koko näyttö"
msgctxt "IDS_MPLAYERC_39"
msgid "Fullscreen (w/o res.change)"
@@ -1794,8 +1812,8 @@ msgid "PnS Dec Height"
msgstr "PnS Väh.Korkeutta"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Imuroidaan tekstityksiä, ole hyvä ja odota."
+msgid "Downloading [%s] \"%s\""
+msgstr "Ladataan [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1855,7 +1873,7 @@ msgstr "Viive ei kelpaa"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
-msgstr "Syötä numero väliltä 1 ja 365, ole hyvä."
+msgstr "Syötä numero väliltä 1-365."
msgctxt "IDS_AG_PNS_CENTER"
msgid "PnS Center"
@@ -1919,7 +1937,7 @@ msgstr "DVD Tekstitysvalikko"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
-msgstr "DVD Äänivalikko"
+msgstr "DVD äänivalikko"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
@@ -1963,11 +1981,11 @@ msgstr "Pomo-näppäin"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu"
-msgstr ""
+msgstr "Soitinmenu"
msgctxt "IDS_MPLAYERC_78"
msgid "Player Menu (full)"
-msgstr ""
+msgstr "Soitinmenu (täydellinen)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
@@ -1975,23 +1993,23 @@ msgstr "Suodinvalikko"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
-msgstr "Vaihtoehdot"
+msgstr "Asetukset"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr ""
+msgstr "Seuraava ääniraita"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr ""
+msgstr "Edellinen ääniraita"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr ""
+msgstr "Seuraava tekstitysraita"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr ""
+msgstr "Edellinen tekstitysraita"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
@@ -2011,19 +2029,19 @@ msgstr "Edellinen kulma (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr ""
+msgstr "Seuraava ääniraita (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr ""
+msgstr "Edellinen ääniraita (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "Seuraava tekstitysraita (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "Edellinen tekstitysraita (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2031,7 +2049,7 @@ msgstr "Tekstitys päällä/pois (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
-msgstr ""
+msgstr "Kuvaruutunäyttö: Näytä tämänhetkinen aika"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
@@ -2057,11 +2075,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Salattu"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Kyllä"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ei"
@@ -2071,7 +2089,7 @@ msgstr "Käynnistä"
msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
msgid "Stop"
-msgstr "Seis"
+msgstr "Pysäytä"
msgctxt "IDS_DVB_TVNAV_SEERADIO"
msgid "Radio stations"
@@ -2099,7 +2117,7 @@ msgstr "Tekstityksiä ei voi tallentaa"
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
-msgstr "Kehysnopeus"
+msgstr "Kuvataajuus"
msgctxt "IDS_MAINFRM_6"
msgid "drawn: %d, dropped: %d"
@@ -2119,7 +2137,7 @@ msgstr "Levy: %02lu/%02lu, Nimike: %02lu/%02lu, Kappale: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
-msgstr "Kulma: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgstr "Kulma: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
msgid "%s, %s %u Hz %d bits %d %s"
@@ -2135,11 +2153,11 @@ msgstr "Toista MPC-HC:lla"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC:n oikeudet eivät riitä tiedostomuotojen kytkentöjen vaihtamiseksi. Klikkaa \"Suorita järjestelmänvalvojana\"-vaihtoehtoa."
+msgstr "MPC-HC:n oikeudet eivät riitä tiedostomuotojen kytkentöjen muuttamiseen. Klikkaa \"Suorita järjestelmänvalvojana\" -painiketta."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC on erittäin kevyt avoimen lähdekoodin mediasoitin Windowsille. Se tukee kaikkien yleisten video- ja audiotiedostomuotojen toistoa. Olemme 100% vapaita vakoiluohjelmista, mainoksia tai työkalupalkkeja ei ole."
+msgstr "MPC-HC on erittäin kevyt avoimen lähdekoodin mediasoitin Windowsille. Se tukee kaikkien yleisten video- ja äänitiedostomuotojen toistoa. Olemme 100% vapaita vakoiluohjelmista. Mainoksia tai työkalupalkkeja ei ole."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2155,7 +2173,7 @@ msgstr "Nimike %u"
msgctxt "IDS_MAINFRM_16"
msgid "DVD: Unexpected error"
-msgstr "DVD: odottamaton virhe"
+msgstr "DVD: Odottamaton virhe"
msgctxt "IDS_MAINFRM_17"
msgid "DVD: Copy-Protect Fail"
@@ -2171,7 +2189,7 @@ msgstr "DVD: Levyn aluekoodi ei kelpaa"
msgctxt "IDS_MAINFRM_20"
msgid "DVD: Low Parental Level"
-msgstr "DVD: alhainen ikäkausivalvontataso"
+msgstr "DVD: Alhainen ikärajaluokitustaso"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
@@ -2187,11 +2205,11 @@ msgstr "DVD: Väärät levy- ja dekooderialueet"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Tämä vaihtoehto on suunniteltu hajoamisen välttämiseen. Kuitenkin se estää toistettaessa myöskin MPC-HC:ta näyttämästä pikavalikkoa ja mitään muutakaan valintaikkunaa.\n\nHaluatko tosiaan käyttää tätä vaihtoehtoa?"
+msgstr "Tämä asetus on suunniteltu kuvan repeämisen estämiseen. Se estää kuitenkin toistettaessa MPC-HC:ta näyttämästä pikavalikkoa tai mitään muutakaan valintaikkunaa.\n\nHaluatko varmasti laittaa tämän päälle?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Sub-viive: %ld ms"
+msgstr "Tekstin viive: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2213,21 +2231,13 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Kuvan leveys"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL tuntuu olevan oikea!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protokollan versio ei sovi, ole hyvä ja päivitä soittimesi tai valitse toinen osoite!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Kuvasuhde"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
-msgstr ", Kaikkiaan: %ld, Pudotettu: %ld"
+msgstr ", Yhteensä: %ld, Pudotettu: %ld"
msgctxt "IDS_MAINFRM_38"
msgid ", Size: %I64d KB"
@@ -2314,8 +2324,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Pienoiskuvista tulisi liian pieniä, tiedostoa ei voi luoda .\n\nYritä vähentää pienoiskuvien määrää tai suurenna kokonaiskokoa."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Tekstityksien latausta varten on vaihdettava videomuunnintyyppiä ja avattava tiedosto uudelleen.\n- DirectShow: VMR-7/VMR-9 (muuntamaton), EVR (CP), Sync, madVR tai Haali\n- RealMedia: RealMedian erikoismuunnin, tai avaus DirectShow'n kautta.\n- QuickTime: QuickTimen DX7- tai DX9-muunnin\n - ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Tekstityksien latausta varten on vaihdettava videon renderöijän tyyppiä ja avattava tiedosto uudelleen.\n- DirectShow: VMR-9 (renderöimätön), EVR (CP), Sync, madVR tai Haali\n- RealMedia: RealMedian erikoisrenderöijä, tai avaus DirectShow'n kautta.\n- QuickTime: QuickTimen DX7- tai DX9-renderöijä\n - ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,12 +2336,12 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Kuvasuhde: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Kuvasuhde: Oletus"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Kuvasuhde: Oletus (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
-msgstr "Audioviive: %I64dms"
+msgstr "Äänen viive: %I64dms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2351,7 +2361,7 @@ msgstr "QuickTime ei ole vielä tuettu X64:ssä (Apple-kirjastoa ei saatavissa)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "Suotimen graph objektin luonti epäonnistui"
+msgstr "Suodinkaavion objektin luonti epäonnistui"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2365,10 +2375,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Tiedoston muunto epäonnistui"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Huono URL, tekstitystietokantaa ei löydy!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Kappale:"
@@ -2475,7 +2481,7 @@ msgstr "Mitään laitetta ei voi avata"
msgctxt "IDS_AG_SOUND"
msgid "Sound"
-msgstr "Sointi"
+msgstr "Ääni"
msgctxt "IDS_MAINFRM_114"
msgid "%s was not found, please insert media containing this file."
@@ -2491,7 +2497,7 @@ msgstr "&Ominaisuudet..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr " (nasta) ominaisuudet..."
+msgstr " (pinnin) ominaisuudet..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2543,7 +2549,7 @@ msgstr "Tuntematon formaatti"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Sub-siirto: %ld ms"
+msgstr "Tekstityksen siirto: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
@@ -2562,12 +2568,12 @@ msgid "Volume boost Max"
msgstr "Äänenvoimakkuuden vahvistus Max."
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Käyttö: mpc-hc.exe \"pathname\" [switsit]\n\n\"pathname\"\tLadattava tiedosto tai hakemisto\n\t\t(villit kortit sallittu, \"-\" tarkoittaa oletussyöttöä)\n/dub \"dubname\"\tLataa lisäaudiotiedoston\n/dubdelay \"file\"\tLataa XX ms viivästetyn lisäaudiotiedoston\n\t\t(jos tiedosto sisältää \"...DELAY XXms...\")\n/d3dfs\t\tAloittaa muunnon D3D kokoruututilassa\n/sub \"subname\"\tLataa lisätekstitystiedoston\n/filter \"filtername\"\tLataa -suotimet dynaamisesta linkkikirjastosta\n\t\t(villit kortit sallittu)\n/dvd\t\tToimii DVD-tilassa, \"pathname\" tarkoittaa\n\t\tkansiota (valinnainen)\n/dvdpos T#C\tAlkaa toiston nimikkeestä T,\n\t\tkappaleesta C\n/dvdpos T#hh:mm\tAlkaa toiston nimikkeestä T,\n\t\tsijainnista hh:mm:ss\n/cd\t\tLataa kaikki audio-CD:n tai (s)vcd:n raidat\n\t\t\"pathname\" tarkoittaa aseman polkua (valinnainen)\n/device\t\tAvaa oletusvideolaitteen\n/open\t\tAvaa tiedoston, ei aloita toistoa automaattisesti\n/play\t\tAloittaa toiston heti kun soitin on käynnistetty\n/close\t\tSulkee soittimen toiston jälkeen (toimii vain \n\t\tyhdessä /play:n kanssa)\n/shutdown\tSulkee käyttöjärjestelmän toiston jälkeen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tKäynnistys kokonäyttö-tilassa\n/minimized\tKäynnistys minimitilassa\n/new\t\tKäyttää toista soittimen instanssia\n/add\t\tLisää \"pathname\" toistolistaan, voidaan\n\t\tkäyttää yhdessä /open ja /play kanssa\n/randomize\tRandomize the playlist\n/regvid\t\tLuo tiedostokytkennän videotietostoille \n/regaud\t\tLuo tiedostokytkennän audiotietostoille\n/regpl\t\tLuo tiedostokytkennän soittoluettelotiedostoille\n/regall\t\tLuo tiedostokytkennän kaikille tuetuille tiedostotyypeille\n/unregall\t\tPoistaa kaikki tiedostokytkennät\n/start ms\t\tAloittaa toiston kohdasta \"ms\" (= millisekuntia)\n/startpos hh:mm:ss\tAloittaa toiston kohdasta hh:mm:ss\n/fixedsize w,h\tAsettaa kiinteän ikkunakoon\n/monitor N\tKäynnistää soittimen näyttö N:llä, \n\t\tjossa N aloittaa 1:stä\n/audiorenderer N\tKäynnistää käyttäen audiomuunnin\n\t\tN:ää, jossa N alkaa 1:stä (katso \"Output\"-asetukset)\n/shaderpreset \"Pr\"\tKäynnistä käyttäen \"Pr\" varjostin-asetuksia\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tPalauttaa oletusasetukset\n/help /h /?\tNäyttää komentorivin svitsien ohjeen\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Komentorivin merkkijonosta löytynyt tuntematon (-ia)\nswitsi (-ejä)\n"
+msgstr "Komentorivin merkkijonosta löytyi tuntematon muuttuja:\n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
@@ -2615,7 +2621,7 @@ msgstr "Seuraava AR -esiasetus"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "VidFrm venytys"
+msgstr "VidFrm Venytys"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
@@ -2627,7 +2633,7 @@ msgstr "VidFrm Ulkopuoli"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "PnS nollaus"
+msgstr "PnS Palautus"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
@@ -2649,14 +2655,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Ota käyttöön kaikki suotimet"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Virittimen asemanhaku"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Tekstityksiä ei ladattu tai muunninta ei tueta."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Tekijä tuntematon. Ota meihin yhteyttä jos teit tämän logon!"
@@ -2771,7 +2769,7 @@ msgstr "Peruuta"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr "Layout"
+msgstr "Asettelu"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
@@ -2787,11 +2785,11 @@ msgstr "&Poista kaikki suotimet käytöstä"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr "Ota käyttöön kaikki audiodekooderit"
+msgstr "Ota käyttöön kaikki äänidekooderit"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr "Poista käytöstä kaikki audiodekooderit"
+msgstr "Poista käytöstä kaikki äänidekooderit"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
@@ -2823,7 +2821,7 @@ msgstr "Kosketa Ikkunaa ulkopuolelta"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
-msgstr "Audio: %s"
+msgstr "Ääni: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
@@ -2891,7 +2889,7 @@ msgstr "Windows Media Video"
msgctxt "IDS_MFMT_BINK"
msgid "Smacker/Bink Video"
-msgstr "Smacker/Bink-video"
+msgstr "Smacker/Bink Video"
msgctxt "IDS_MFMT_FLIC"
msgid "FLIC Animation"
@@ -2915,11 +2913,11 @@ msgstr "Shockwave Flash"
msgctxt "IDS_MFMT_OTHER_AUDIO"
msgid "Other Audio"
-msgstr "Muu audio"
+msgstr "Muu ääni"
msgctxt "IDS_MFMT_AC3"
msgid "AC-3"
-msgstr ""
+msgstr "AC-3"
msgctxt "IDS_MFMT_AIFF"
msgid "AIFF"
@@ -2947,11 +2945,11 @@ msgstr "Opus Audio Codec"
msgctxt "IDS_MFMT_DTS"
msgid "DTS/DTS-HD"
-msgstr ""
+msgstr "DTS/DTS-HD"
msgctxt "IDS_MFMT_AMR"
msgid "AMR"
-msgstr "AM´R"
+msgstr "AMR"
msgctxt "IDS_MFMT_APE"
msgid "Monkey's Audio"
@@ -2963,7 +2961,7 @@ msgstr "AU/SND"
msgctxt "IDS_MFMT_CDA"
msgid "Audio CD track"
-msgstr "Audio-CD:n raita"
+msgstr "Ääni-CD raita"
msgctxt "IDS_MFMT_FLAC"
msgid "FLAC"
@@ -3019,7 +3017,7 @@ msgstr "Soittolista"
msgctxt "IDS_MFMT_BDPLS"
msgid "Blu-ray playlist"
-msgstr "Blu-ray soittoluettelo"
+msgstr "Blu-ray soittolista"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
@@ -3131,7 +3129,7 @@ msgstr "Muuntoperuste: Ehdottoman kolorimetrinen"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
-msgstr "Tulostusalue: %s"
+msgstr "Ulostulon alue: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
@@ -3183,11 +3181,11 @@ msgstr "Vaihtoehtoinen VSync: Pois päältä"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Muuntoasetusten nollaus oletusarvoihin"
+msgstr "Renderöintiasetusten palautus oletusarvoihin"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Muuntoasetusten nollaus optimaalisiksi"
+msgstr "Renderöintiasetusten palautus optimaalisiksi"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
@@ -3199,11 +3197,11 @@ msgstr "D3D Kokonäytön GUI:n tuki: Pois päältä"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
-msgstr "10 bitin RGB-lähtö: Päällä"
+msgstr "10 bitin RGB-ulostulo: Päällä"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
-msgstr "10 bitin RGB-lähtö: Pois päältä"
+msgstr "10 bitin RGB-ulostulo: Pois päältä"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
@@ -3259,23 +3257,23 @@ msgstr "Vähennä kylläisyyttä"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
-msgstr "Nollaa väriasetukset"
+msgstr "Palauta väriasetukset"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
-msgstr "\nKäytät jo viimeistä vakaata versiota."
+msgstr "\nKäytät jo viimeisintä vakaata versiota."
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Nykyinen versiosi on v%s.\n\nViimeinen vakaa versio on v%s."
+msgstr "Nykyinen versiosi on v%s.\n\nViimeisin vakaa versio on v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s on nyt saatavilla. Käytät versiota v%s.\n\nHaluatko vierailla MPC-HC:n nettisivulla lataamista varten?"
+msgstr "MPC-HC v%s on nyt saatavilla. Käytät versiota v%s.\n\nHaluatko mennä MPC-HC:n sivustolle ladataksesi sen?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Päivityspalvelinta ei löydy.\n\nTarkista internet-yhteytesi ja yritä myöhemmin uudelleen, ole hyvä."
+msgstr "Päivityspalvelinta ei löydy.\n\nTarkista internet-yhteytesi ja yritä myöhemmin uudelleen."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3347,7 +3345,7 @@ msgstr "KB/sek"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
-msgstr "MB/sek"
+msgstr "MB/s"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
@@ -3383,7 +3381,7 @@ msgstr "Virhe jäsennettäessä annettua tekstiä!"
msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
msgid "Error parsing the entered frame rate!"
-msgstr "Virhe jäsennettäessä annettua kehysnopeutta!"
+msgstr "Virhe tulkittaessa annettua kuvataajuutta!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
@@ -3391,11 +3389,11 @@ msgstr "Kehystä ei voi askeltaa, yritä eri videomuuntimella."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi RealMedian oletusvideomuuntimella.\nValitse jokin DirectX:n RealMedian muuntimista MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi RealMedian oletusvideomuuntimella.\nValitse jokin DirectX:n RealMedian renderöijistä MPC-HC:n ulostulon vaihtoehdoista ja avaa tiedosto uudelleen."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi QuickTimen oletusvideomuuntimella.\nValitse jokin DirectX:n QuickTimen muuntimista MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi QuickTimen oletusvideomuuntimella.\nValitse jokin DirectX:n QuickTimen renderöijistä MPC-HC:n ulostulon vaihtoehdoista ja avaa tiedosto uudelleen."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3403,11 +3401,7 @@ msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi S
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi Peittokuvamikseri-videomuuntimella.\nVaihda videomuunnin MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Verkon tekstitystietokantaan ei voi yhdistää."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi Peittokuvamikseri-videorenderöijällä.\nVaihda videorenderöijä MPC-HC:n ulostulon vaihtoehdoista ja avaa tiedosto uudelleen."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
@@ -3423,7 +3417,7 @@ msgstr "video"
msgctxt "IDS_CAPTURE_ERROR_AUDIO"
msgid "audio"
-msgstr "audio"
+msgstr "ääni"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
@@ -3451,19 +3445,19 @@ msgstr "%s virtaa ei voi yhdistää multiplekserisuotimeen."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr "Videokaappausnastaa ei löydy."
+msgstr "Videokaappauspinniä ei löydy."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "Audiokaappausnastaa ei löydy."
+msgstr "Äänenkaappauspinniä ei löydy."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
-msgstr "Lähtötiedoston alustus epäonnistui."
+msgstr "Ulostulotiedoston alustus epäonnistui."
msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
msgid "Error initializing the audio output file."
-msgstr "Audiolähtötiedoston alustus epäonnistui."
+msgstr "Äänen ulostulotiedoston alustus epäonnistui."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
@@ -3479,11 +3473,11 @@ msgstr "Sinun on otettava uudet asetukset käyttöön ennen niiden testaamista."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
-msgstr "Toiston jälkeen: Lopeta"
+msgstr "Toiston jälkeen: Sulje"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Toiston jälkeen: Horrostila"
+msgstr "Toiston jälkeen: Valmiustila"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
@@ -3491,7 +3485,7 @@ msgstr "Toiston jälkeen: Lepotila"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr "Toiston jälkeen: Sulje tietokone"
+msgstr "Toiston jälkeen: Sammuta tietokone"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
@@ -3503,7 +3497,7 @@ msgstr "Toiston jälkeen: Lukitse"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr "Toiston jälkeen: Sulje näyttö"
+msgstr "Toiston jälkeen: Sammuta näyttö"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
@@ -3547,7 +3541,7 @@ msgstr "Anna haluamasi kielet tähän.\nEsim. kirjoita \"eng jap swe\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Ulkoisilla jakajilla on niiden omat kielivaihtoehtonsa, joten MPC-HC oletuksena ei vaihda niiden alkuperäistä valintaa.\nValitse tämä vaihtoehto jos haluat MPC-HC:n valvovan ulkoisia jakajia."
+msgstr "Ulkoisilla splittereillä voi olla omat kieliasetuksensa ja MPC-HC ei oletusasetuksilla vaihda niiden asettamaa alkuperäistä kielivalintaa.\nLaita tämä päälle jos haluat MPC-HC:n ohjaavan ulkoisia splittereitä."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3583,7 +3577,7 @@ msgstr "Kytke vain videoformaatteihin"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "Kytke vain audioformaatteihin"
+msgstr "Kytke vain ääniformaatteihin"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
@@ -3595,9 +3589,377 @@ msgstr "Asetukset"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Tarjoaja"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Kuulovammaisille"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Lataukset"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Pisteet"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Tekstitysten haku verkosta epäonnistui."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Tekstitysten haku verkosta peruutettiin."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Tekstitysten haku verkosta valmis. %d tekstitystä löytyi."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Tekstitysten haku verkosta valmis. Tekstityksiä ei löytynyt."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Lataa tekstitykset"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Tekstityksiä haetaan verkosta, ole hyvä ja odota..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Tekstitysten hakua verkosta peruutetaan..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Käyttäjänimi"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Tila"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Valmis..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Ei toteutettu."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Lähetetään..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Tekstitysten lähetys onnistui."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Tekstitysten lähetys epäonnistui."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Tekstitysten lähetys keskeytetty."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Tekstitykset ovat jo olemassa."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Lähetetään tekstityksiä, ole hyvä ja odota..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Lähetys onnistui."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Lähetys keskeytetty."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Lähetys epäonnistui."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Lataa && Avaa"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Asetukset"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Palauta"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Siirrä ylös"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Siirrä alas"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Avaa URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Kielet"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "VIRHE: Internet yhteyttä ei voitu muodostaa."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Syötä verkkosivun kirjautumistiedot"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Syötä kirjautumistiedot yhdistääksesi: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Kuvasuhde: Oleta neliömäiset pikselit (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Ladattu [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Lähetä tekstitykset"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Oletko varma, että haluat lähettää tekstitystiedoston \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
index e975672aa..2266c4193 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Jean van Kasteel <vankasteelj@gmail.com>, 2015
-# Underground78, 2013-2015
+# Jean van Kasteel <vankasteelj@gmail.com>, 2015-2016
+# Underground78, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 12:17+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: French (http://www.transifex.com/mpc-hc/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "A propos"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 voir le fichier Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 voir le fichier Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "fois"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Mode de répétition :"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "En fin de lecture"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Sortie"
+msgid "Default zoom"
+msgstr "Zoom par défaut"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "Attention"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Si vous activez l'anticrénelage en mode plein écran dans les paramètres de votre carte vidéo, cela n'améliorera pas l'affichage des sous-titres mais consommera davantage de ressources système."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Sortie audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Paramètres des moteurs de rendu VMR-7/VMR-9 (sans rendu) et EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Paramètres des moteurs de rendu VMR-9 (sans rendu) et EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Moteur de rendu des sous-titres"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Mettre en cache les Shaders compilés"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Écouter le port :"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Gestionnaires CGI : (.ext1=chemin1;.ext2=chemin2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Sous-titres disponibles en ligne"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Télécharger && Charger"
+msgid "Download subtitles"
+msgstr "Télécharger des sous-titres"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Remplacer les sous-titres déjà chargés"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Télécharger"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Actualiser"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Abandonner"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Options"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Envoyer des sous-titres"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Envoyer"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abandonner"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Options"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Enregistrer &sous..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Réinitialiser"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Base de données en ligne"
+msgid "Online search, download and upload subtitles"
+msgstr "Recherche, téléchargement et envoi de sous-titres"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Chercher et télécharger des sous-titres automatiquement si aucun sous-titre n'est disponible"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Préférer les sous-titres pour malentendants (lorsqu'indiqué par le fournisseur de sous-titres)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorer les fichiers contenant le(s) mot(s) suivant(s) :"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Adresse de la base de données de sous-titres :"
+msgid "Languages in order of preference:"
+msgstr "Ordre de préférence des langues :"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Tester"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Envoyer les sous-titres actifs automatiquement à la fin de la lecture vidéo"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
index 36b71cf82..46439b8c9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
@@ -1,13 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Underground78, 2013-2015
+# Jean van Kasteel <vankasteelj@gmail.com>, 2016
+# Underground78, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-27 17:11+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:07+0000\n"
"Last-Translator: Underground78\n"
"Language-Team: French (http://www.transifex.com/mpc-hc/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Enregistrer les &miniatures..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Charger des sous-titres..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Enregistrer les &sous-titres..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Base de données"
+msgid "S&ubtitles"
+msgstr "&Sous-titres"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Charger des sous-titres..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Rechercher..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Enregistrer les sous-titres..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Envoyer..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Télécharger des sous-titres..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Télécharger..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "En&voyer des sous-titres..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Ajuster à l'&extérieur de la fenêtre"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Conserver les proportions"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Modifier les &proportions"
+msgid "&Aspect Ratio"
+msgstr "&Ratio d'affichage"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Par &défaut"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Par &défaut (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Supposer des pixels &carrés (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Corriger le différentiel de proportion bureau/écran"
@@ -533,9 +530,25 @@ msgid "&Stop"
msgstr "&Arrêter"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Image par image"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Ré&péter"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Indéfiniment"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Fichier"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Liste de lecture"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Ralentir la lecture"
@@ -565,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "Piste de &sous-titres"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Piste &vidéo"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
index a14ff785b..4138becba 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
@@ -1,14 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Underground78, 2013-2015
+# Arzach4, 2016-2017
+# Jean van Kasteel <vankasteelj@gmail.com>, 2016
+# Underground78, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-01-27 14:30+0000\n"
+"Last-Translator: Arzach4\n"
"Language-Team: French (http://www.transifex.com/mpc-hc/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +62,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Propriétés"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fichier"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Style par &défaut"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Liste de lecture"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Fichiers"
@@ -116,6 +126,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Si la case à cocher est laissée indéfinie, les sous-titres SSA/ASS seront affichés relativement à la trame vidéo alors que tous les autres formats de sous-titres textuels seront affichés relativement à la fenêtre."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Mode de répétition : liste de lecture"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Mode de répétition : fichier"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Répéter indéfiniment : activé"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Répéter indéfiniment : désactivé"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Répéter indéfiniment"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Jamais (méthode la plus rapide)"
@@ -516,18 +546,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Moteur de rendu Overlay Mixer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (fenêtré)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (fenêtré)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (sans rendu)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (sans rendu)"
@@ -580,10 +602,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Lecteur::Interface Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Sous-titres::Base de données"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Détails"
@@ -604,17 +622,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Utilise toujours le rendu matériel. Généralement seuls les formats YUV sont supportés, mais ils sont présentés directement sans conversion de couleur vers le RVB. C'est la méthode de rendu la plus rapide et la seule où vous pouvez être sûr de la recopie vidéo plein écran lors de l'activation de la sortie TV."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Moteur de rendu par défaut de Windows XP. Très stable et juste un petit peu plus lent que le mixer Overlay. Utilise DirectDraw et démarre en Overlay quand il le peut."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Disponible seulement si DirectX 9 est installé. Possède les même fonctionnalités que VMR-7 (fenêtré) mais il n'utilisera jamais le rendu Overlay et sera peut-être un petit peu plus lent que VMR-7 (fenêtré) à cause de cela."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Identique à VMR-7 (fenêtré), mais avec le plugin Présentation/Allocation de MPC-HC pour les sous-titres. Le miroir vidéo Overlay ne fonctionnera pas. L'espace de couleurs \"Couleurs vraies\" est recommandé."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Disponible uniquement si DirectX 9 est installé. Très stable mais il n'utilisera jamais le rendu Overlay et sera peut-être un petit peu plus lent que l'Overlay Mixer à cause de cela."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -652,10 +662,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Moteur de rendu de Real. Les scripts SMIL devraient fonctionner, mais probablement pas les interactions. Utilise DirectDraw et démarre en Overlay quand il peut."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La sortie du moteur Real affichée par le plugin Présentation/Allocation de VMR-7 (sans rendu)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "La sortie du moteur Real affichée par le plugin Présentation/Allocation de VMR-9 (sans rendu)."
@@ -664,10 +670,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Moteur de rendu de QuickTime. Parfois un peu lent lorsque la zone vidéo est redimensionnée ou partiellement couverte par une autre fenêtre. Quand l'overlay n'est pas disponible, il tend à repasser en GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "La sortie du moteur QuickTime affichée par le plugin Présentation/Allocation de VMR-7 (sans rendu)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "La sortie du moteur QuickTime affichée par le plugin Présentation/Allocation de VMR-9 (sans rendu)."
@@ -748,9 +750,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Pour afficher une ressource embarquée dans votre navigateur vous devez activer l'interface web.\n\nUtilisez le bouton \"Enregistrer sous\" si vous souhaitez uniquement sauvegarder la ressource."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Télécharger des sous-titres"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Télécharger des sous-titres..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Envoyer des sous-titres..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +814,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Réduit l'effet de déchirement en évitant d'utiliser la synchronisation verticale par défaut de D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Recherche des chaînes"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Aucune piste de sous-titres chargée ou moteur de rendu non supporté."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Stocke les shaders compilés dans le dossier AppData pour accélérer leur chargement."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Ouvrez \"VTS_xx_0.ifo\" pour lire les fichiers \"VTS_xx_x.vob\" d'un seul tenant"
@@ -945,12 +963,12 @@ msgid "&Organize Favorites..."
msgstr "&Gérer les favoris..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Lecture aléatoire"
+msgid "Sh&uffle"
+msgstr "Lecture &aléatoire"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Ouvrir le dossier contenant le fichier"
+msgid "Ope&n file location"
+msgstr "Ouvrir le &dossier contenant le fichier"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1033,8 +1051,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom écran ultra-large,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Cacher la liste de lecture en plein écran"
+msgid "&Hide on Fullscreen"
+msgstr "Cac&her la liste de lecture en plein écran"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1221,8 +1239,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Ajouter le dossier contenant le fichier"
+msgid "Add containing &folder"
+msgstr "A&jouter le dossier contenant le fichier"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1424,13 +1442,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Image sauvegardée avec succès"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Charger des sous-titres"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Charger des sous-titres..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Enregistrer les sous-titres"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Enregistrer les sous-titres..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,7 +1575,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatures sauvegardées avec succès"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Piste &vidéo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1793,8 +1811,8 @@ msgid "PnS Dec Height"
msgstr "Recadrage : Diminuer la hauteur"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Téléchargement des sous-titres en cours, veuillez patienter."
+msgid "Downloading [%s] \"%s\""
+msgstr "Téléchargement en cours [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2074,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Cryptée"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Oui"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Non"
@@ -2212,14 +2230,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Largeur de l'image"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "L'adresse de la base de données semble correcte !"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protocole de communication incorrect, veuillez mettre à jour MPC-HC ou sélectionner une autre adresse"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Proportion de l'image"
@@ -2313,8 +2323,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Impossible de créer le fichier, les miniatures seraient trop petites.\n\nEssayez de réduire le nombre de miniatures ou d'augmenter la taille totale."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Pour charger des sous-titres vous devez changer le moteur de rendu vidéo et réouvrir le fichier.\n- DirectShow : VMR-7/VMR-9 (sans rendu), EVR (CP), Sync, madVR or Haali\n- RealMedia : moteur de rendu spécial pour RealMedia, ou ouverture à travers DirectShow\n- QuickTime : moteur de rendu DX7 ou DX9 pour QuickTime\n- ShockWave : n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Pour charger des sous-titres vous devez changer le moteur de rendu vidéo et réouvrir le fichier.\n- DirectShow : VMR-9 (sans rendu), EVR (CP), Sync, madVR or Haali\n- RealMedia : moteur de rendu spécial pour RealMedia, ou ouverture à travers DirectShow\n- QuickTime : moteur de rendu DX7 ou DX9 pour QuickTime\n- ShockWave : n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2335,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Proportions : %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Proportions : par défaut"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Ratio d'affichage : par défaut (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2374,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Impossible de lire le fichier"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Adresse incorrect, impossible de se connecter à la base de données des sous-titres"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Chapitre : "
@@ -2561,8 +2567,8 @@ msgid "Volume boost Max"
msgstr "Amplification du volume maximale"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilisation : mpc-hc.exe \"chemin du fichier\" [options]\n\n\"chemin du fichier\"\tFichier principal ou répertoire à charger (jokers\n\t\tautorisés, \"-\" désigne l'entrée standard)\n/dub \"fichier audio\"\tCharge un fichier audio supplémentaire\n/dubdelay \"fichier\"\tCharge un fichier audio avec décalage de XXms (si\n\t\tle nom contient \"...DELAY XXms...\")\n/d3dfs\t\tLance l'affichage en mode plein écran D3D (réduit le\n\t\t\"tearing\")\n/sub \"fichier ST\"\tCharge un fichier de sous-titres\n/filter \"nom\"\tCharge un filtre DirectShow à partir d'une DLL\n\t\t(jokers autorisés)\n/dvd\t\tDémarre en mode DVD (il est possible de fournir le\n\t\tnom du répertoire)\n/dvdpos T#C\tDémarre la lecture du titre T, à partir du chapitre C\n/dvdpos T#hh:mm\tDémarre la lecture du titre T, à partir de la position hh:mm:ss\n/cd\t\tCharge toutes les pistes d'un CD audio ou d'un (S)Vcd\n/device\t\tOuvre le périphérique vidéo par défaut\n/open\t\tOuvre le fichier et met MPC-HC en pause\n/play\t\tOuvre le fichier et commence la lecture\n/close\t\tQuitte automatiquement après la lecture\n/shutdown\tÉteint la machine après la lecture\n/standby\t\tMet la machine en veille après la lecture\n/hibernate\tMet la machine en veille prolongée après la lecture\n/logoff\t\tDéconnecte la session après la lecture\n/lock\t\tVerrouille la session après la lecture\n/monitoroff\tÉteint l'écran après la lecture\n/playnext\t\tOuvre le fichier suivant dans le répertoire après la lecture\n/fullscreen\tDémarre en plein écran\n/minimized\tDémarre en mode minimisé\n/new\t\tDémarre une nouvelle instance de MPC-HC\n/add\t\tAjoute un fichier à la playlist\n/randomize\tTrie aléatoirement la liste de lecture\n/regvid\t\tAssocie les formats vidéo à MPC-HC\n/regaud\t\tAssocie les formats audio à MPC-HC\n/regpl\t\tAssocie les listes de lecture à MPC-HC\n/regall\t\tAssocie tous les fichiers supportés à MPC-HC\n/unregall\t\tSupprime l'association des fichiers à MPC-HC\n/start ms\t\tDémarre la lecture à \"ms\" (millisecondes)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize L,H\tFixe la taille de la fenêtre vidéo à LxH\n/monitor N\tDémarre MPC-HC sur l'écran N (N à partir de 1)\n/audiorenderer N\tUtiliser le moteur de rendu audio N, où N commence à partir de 1\n\t\t(cf. \"Sortie audio\" dans les options)\n/shaderpreset \"Pr\"\tUtiliser la présélection d'effets vidéo \"Pr\"\n/pns \"nom\"\tSpécifie la présélection \"Pan & Scan\" à utiliser\n/iconsassoc\tRéassocie les icônes spécifiques aux formats\n/nofocus\t\tDémarre MPC-HC en arrière-plan\n/webport N\tDémarre l'interface web sur le port spécifié\n/debug\t\tAffiche des informations de débogage via l'OSD\n/nocrashreporter\tDésactive le rapporteur de plantage\n/slave \"hWnd\"\tDémarre MPC-HC en mode \"esclave\"\n/hwgpu \"N\"\tFixe le numéro du GPU utilisé pour le décodage matériel\n\t\tDisponible uniquement pour CUVID et DXVA2 (copy-back)\n/reset\t\tRestaure les paramètres par défaut\n/help /h /?\tAffiche l'aide pour les options de la ligne de commande\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Utilisation : mpc-hc.exe \"chemin du fichier\" [options]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2648,14 +2654,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Activer tous les filtres"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Recherche des chaînes"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Aucune piste de sous-titres chargée ou moteur de rendu non supporté."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Auteur inconnu. Contactez nous si vous avez créé ce logo !"
@@ -3404,10 +3402,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Les fonctions \"Enregistrer l'image\" et \"Enregistrer les miniatures\" ne fonctionnent pas avec le moteur de rendu vidéo Overlay.\nChangez le moteur de rendu vidéo dans les options de sortie de MPC-HC et réouvrez le fichier."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Impossible de se connecter à la base de données de sous-titres."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Souhaitez-vous activer l'éditeur de liste d'édition ?"
@@ -3600,3 +3594,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Fournisseur"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Malentendant"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Nombre de téléchargements"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Score"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Échec de la recherche de sous-titres."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Abandon de la recherche de sous-titres."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Recherche de sous-titres terminée, %d sous-titres trouvés."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Recherche de sous-titres terminée, aucun sous-titre trouvé."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Télécharger des sous-titres"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Recherche de sous-titres en cours, veuillez patienter..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Abandon de la recherche de sous-titres en cours..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nom d'utilisateur"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "État"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Prêt..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Non implémenté."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Envoi en cours..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Sous-titres envoyés avec succès."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Échec de l'envoi des sous-titres."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Abandon de l'envoi des sous-titres."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Fichier de sous-titres déjà existant."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Envoi des sous-titres en cours, veuillez patienter..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Envoi terminé."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Envoi abandonné."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Échec de l'envoi."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Télécharger et charger"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configuration"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Réinitialiser"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Monter"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Descendre"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Ouvrir l'URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Langues"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "Erreur : La connexion Internet n'a pas pu être établie."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Entrez les identifiants du site"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Entrez vos identifiants pour vous connecter à :"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Ratio d'affichage : supposer des pixels carrés (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Téléchargé [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Envoyer des sous-titres"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Êtes-vous sûr de vouloir envoyer le fichier de sous-titres \"%s\" ?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Chargement de la liste des langages supportés..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Impossible de se connecter à \"%S\" avec le nom d'utilisateur \"%S\".\n\nVeuillez corriger le mot d'utilisateur et le mot de passe ou réinitialiser les identifiants pour vous connecter en tant qu'utilisateur anonyme."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "La recherche et le téléchargement automatique seront déactivés pour tous les fichiers multimédias dont le chemin contient un des motifs entrés ici.\nPar exemple, entrez : \"dossier privé\\vidéos|travail\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"chemin du fichier\"\tFichier principal ou répertoire à charger (jokers\n\t\tautorisés, \"-\" désigne l'entrée standard)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"fichier audio\"\tCharge un fichier audio supplémentaire"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"fichier\"\tCharge un fichier audio avec décalage de XXms\n\t\t(si le nom contient \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tLance l'affichage en mode plein écran D3D (réduit le \"tearing\")"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"fichier ST\"\tCharge un fichier de sous-titres"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"nom\"\tCharge un filtre DirectShow à partir d'une DLL\n\t\t(jokers autorisés)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tDémarre en mode DVD (il est possible de fournir le\n\t\tnom du répertoire)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tDémarre la lecture du titre T, à partir du chapitre C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P⇥Démarrer la lecture du titre T, à partir de la position P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tCharge toutes les pistes d'un CD audio ou d'un (S)VCD\n\t\t(il est possible de fournir le chemin du lecteur)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOuvre le périphérique de capture vidéo par défaut"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOuvre le fichier et met MPC-HC en pause"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tOuvre le fichier et commence la lecture"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tQuitte automatiquement après la lecture\n\t\t(fonctionne uniquement si utilisé avec /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tÉteint la machine après la lecture"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tMet la machine en veille après la lecture"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tMet la machine en veille prolongée après la lecture"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tDéconnecte la session après la lecture"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tVerrouille la session après la lecture"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tÉteint l'écran après la lecture"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOuvre le fichier suivant dans le répertoire après la lecture"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tDémarre en plein écran"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tDémarre en mode minimisé"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tDémarre une nouvelle instance de MPC-HC"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAjoute un fichier à la playlist, peut être combiné avec /open et /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tTrie aléatoirement la liste de lecture"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tAssocie les formats vidéo à MPC-HC"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tAssocie les formats audio à MPC-HC"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tAssocie les listes de lecture à MPC-HC"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tAssocie tous les fichiers supportés à MPC-HC"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tSupprime l'association des fichiers à MPC-HC"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tDémarre la lecture à \"ms\" (millisecondes)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize L,H\tFixe la taille de la fenêtre vidéo à LxH"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tDémarre MPC-HC sur l'écran N, où N commence à 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tUtiliser le moteur de rendu audio N, où N commence à 1\n\t\t(cf. \"Sortie audio\" dans les options)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tUtiliser la présélection d'effets vidéo \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"nom\"\tSpécifie la présélection \"Pan & Scan\" à utiliser"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tRéassocie les icônes spécifiques aux formats"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tDémarre MPC-HC en arrière-plan"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tDémarre l'interface web sur le port spécifié"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tAffiche des informations de débogage via l'OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDésactive le rapporteur de plantage"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tDémarre MPC-HC en mode \"esclave\""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"N\"\tFixe le numéro du GPU utilisé pour le décodage matériel\n\t\tDisponible uniquement pour CUVID et DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestaure les paramètres par défaut"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tAffiche l'aide pour les options de la ligne de commande"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Seuil pour le score des sous-titres automatiquement téléchargés. Plus la valeur est élevée moins le risque de télécharger des sous-titres ne correspondant pas au fichier est important. Il n'y a cependant pas de valeur parfaite, utilisez celle qui vous convient le mieux."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Décalage Audi (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Taille en pixels par défaut de la barre d'outils."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Utiliser la barre d'outils existante au lieu de la nouvelle vectorisé."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
index 96d168f78..a7a73a84a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rubén <feiticeiro2010@hotmail.es>, 2014-2015
+# Rubén <feiticeiro2010@hotmail.es>, 2014-2016
# Toño Calo <enfeitizador@gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-02 14:17+0000\n"
-"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Galician (http://www.transifex.com/mpc-hc/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Acerca de"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Dereitos do autor © 2002-2015 vexa o ficheiro Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Dereitos do autor © 2002-2017 vexa o ficheiro Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "vez(veces)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Repetir modo:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Tras a reprodución"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Saída"
+msgid "Default zoom"
+msgstr "Escalado predeterminado"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "Aviso"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Se activas o modo de antialiasing a pantalla completa na configuración da súa tarxeta gráfica, os subtítulos non lucirán mellor e esixirán forza ao CPU."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Renderizador de Audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Axustes de VMR-7/VMR-9 (sen renderizador) e EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Axustes de VMR-9 (sen renderizador) e EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Renderizador de subtítulos"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Sombreadores compilados en caché"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Escoitar en porto:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Xestores de CGI: (.ext1=ruta1;.ext2=ruta2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtítulos dispoñibles en liña"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Baixar e abrir"
+msgid "Download subtitles"
+msgstr "Baixar subtítulos"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Substitue os subtítulos cargados actualmente"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Descargar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Refrescar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Abortar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opcións"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Subir subtítulos"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Subir"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abortar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opcións"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Gardar como..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Reiniciar"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Base de datos en liña"
+msgid "Online search, download and upload subtitles"
+msgstr "Procurar en liña, baixar e subir subtítulos"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Buscar e baixar subtítulos automáticamente se non se atopan localmente"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferir subtítulos para persoas xordas (cando o indique o proveedor de subtítulos)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorar ficheiros que conteñan calquera destas palabras: "
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "A URL base da base de datos de subtítulos:"
+msgid "Languages in order of preference:"
+msgstr "Linguas en orde de preferencia:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Probar"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Subir subtítulos activos automáticamente ao rematar a reprodución"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
index 496bdf39c..cbb7663c5 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rubén <feiticeiro2010@hotmail.es>, 2014-2015
+# Rubén <feiticeiro2010@hotmail.es>, 2014-2016
# Toño Calo <enfeitizador@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-17 05:54+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-04-24 07:56+0000\n"
"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
"Language-Team: Galician (http://www.transifex.com/mpc-hc/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Gardar &miniaturas..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Cargar subtítu&lo..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Gardar s&ubtítulo..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Base de datos de subtítulos"
+msgid "S&ubtitles"
+msgstr "Subtítulos"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Procurar..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Cargar subtítulos"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "S&ubir..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Gardar s&ubtítulos..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Descargar..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Baixar subtítulos..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Subir subtítulos..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Tocar xanela dende ad&entro"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Ma&nter relación de aspecto"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Forzar relación de aspecto especifica"
+msgid "&Aspect Ratio"
+msgstr "&Relación de aspecto"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Orixinal"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Orixinal (RAO)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Asumir píxeles cadrados (&SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Corrixir diferenza de RP entre monitor/escritorio"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "&Deter"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Avanzar un &cadro"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Repetir"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "S&empre"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Ficheiro"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista de reprodución"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Diminuír velocidade"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "Pista de su&btítulos"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pista de &vídeo"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
index abf1b2b96..bf9d3aa58 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rubén <feiticeiro2010@hotmail.es>, 2014-2015
+# Rubén <feiticeiro2010@hotmail.es>, 2014-2016
# Toño Calo <enfeitizador@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-21 17:58+0000\n"
+"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
"Language-Team: Galician (http://www.transifex.com/mpc-hc/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Propiedades"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Ficheiro"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Estilo pre&definido"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lista de reprodución"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Ficheiros"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Se se deixa o obxectivo a renderizar sen definir, os subtítulos SSA/ASS renderizaranse en relación ao fotograma de vídeo, mentres todolos demáis subtítulos renderizaranse en relación á xanela."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Modo de repetición: Lista de reprodución"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Modo de repetición: Ficheiro"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repetir permanentemente: Activado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repetir permanentemente: Desactivado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repetir permanentemente"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nunca (maior aproveitamento)"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Renderizador Mesturador Overlay"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Renderizador mesturador de Video 7 (modo xanela)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Renderizador mesturador de Video 9 (modo xanela)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Renderizador mesturador de Video 7 (sen renderización)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Renderizador mesturador de Video 9 (sen renderización)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Reprodutor::Interface Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtítulos::Base de Datos"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalles"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Sempre renderiza en Overlay.Xeralmente só se permiten os formatos YUV, pero presentanse directamente sen ningunha conversión de cor a RGB. Este é o modo de renderizado máis rápido e o único onde podes estar seguro sobre o espello a pantalla completa cando activas a saída de TV."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "O renderizado por defecto de XP. Moi estable e só un poco máis lento que o mesturador Overlay. Usa DirectDraw e usa o Overlay cando pode."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Só dispoñible se tes instalado DirectX 9. Ten as mesmas habilidades que VMR-7 (xanela), pero nunca usara o renderizado Overlay e por tal razón podería ser un pouco máis lento que VMR-7 (xanela)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "O mesmo que VMR-7 (xanela), pero co complemento \"Allocator-Presenter\" de MPC-HC para o subtitulado. O espello de Overlay NON funcionara. Recomendase a profundidade de cor do escritorio \"Cor Verdadeiro\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "O Renderizador Mesturador de Vídeo 9 só está dispoñible se ten o entorno DirectX 9 instalado. É moi estable, pero nunca usará renderizado Overlay (hardware de renderizado directo) e a causa disto pode ser un pouco máis lento ca o filtro renderizador Overlay Mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Renderizador propio Real. Os scripts SMIL funcionaran, pero a interacción probablemente non. Usa DirectDraw e corre en Overlay cando pode."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A saída do mecanismo Real será renderizado polo \"Allocator-Presenter\" basado en DX7 de VMR-7 (sen renderizador)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A saída do mecanismo Real será renderizado polo \"Allocator-Presenter\" basado en DX9 de VMR-9 (sen renderizador)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "O renderizador propio de QuickTime. Volvese un pouco lento cando a súa área de vídeo é redimensionada ou parcialmente cuberta por outra xanela. Cando o overlay non esta dispoñible gustalle regresarse a GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A saída do mecanismo QuickTime será renderizado polo \"Allocator-Presenter\" basado en DX7 de VMR-7 (sen renderizador)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A saída do mecanismo QuickTime será renderizado polo \"Allocator-Presenter\" basado en DX9 de VMR-9 (sen renderizador)."
@@ -749,10 +749,14 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Para ver un recurso incrustado no teu navegador tes que habilitar a interface web.\n\nUsa o botón \"Gardar como\" se só desexas gardar a información."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
msgstr "Baixar subtítulos"
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Subir subtítulos..."
+
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
msgstr "Retraso (ms)"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Reduce o tearing (rachamento da imaxe) pasando por alto o VSync incoporado por defecto ao D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Sintonización"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Subtítulos non cargados ou renderizador non soportado."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Almacena os sombreadores compilados no directorio AppData local para acelerar o tempo de carga."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Abre VTS_xx_0.ifo para cargar todos os ficheiros VTS_xx_x.vob de golpe"
@@ -946,11 +962,11 @@ msgid "&Organize Favorites..."
msgstr "&Organizar favoritos..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Ao Azar"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Abrir ubicación do ficheiro"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1050,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom a Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Agochar en pantalla completa"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Engadir cartafol colector"
msgctxt "IDS_HW_INDICATOR"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Imaxe gardada satisfactoriamente"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Cargar Subtítulo"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Cargar Subtítulos..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Gardar subtítulo"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Gardar subtítulos..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniaturas gardadas satisfactoriamente"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pista de &vídeo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dis altura"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Baixando subtítulo(s), por favor agarde."
+msgid "Downloading [%s] \"%s\""
+msgstr "Baixando [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Encriptado"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Si"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Non"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Ancho da imaxe"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "A URL semella correcta!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Versión do protocolo non compatible, actualiza o teu reprodutor ou escolle outro enderezo!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Relación de aspecto"
@@ -2314,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Non se pode crear o ficheiro, as miniaturas son demasiado pequenas.\n\nintente reducir o número de miniaturas ou aumentar o tamaño total."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Para cargar os subtítulos tes que cambiar o tipo de renderizador de video e reabrir o ficheiro.\n- DirectShow: VMR-7/VMR-9 (sen renderizador), EVR (CP), Sync, madVR ou Haali\n- RealMedia: Renderizador especial para RealMedia, ou abrilo con DirectShow\n- QuickTime: DX7 ou DX9 renderizador paraQuickTime\n- ShockWave: non dispoñible"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Para cargar os subtítulos tes que cambiar o tipo de renderizador de video e reabrir o ficheiro.\n- DirectShow: VMR-9 (sen renderizador), EVR (CP), Sync, madVR ou Haali\n- RealMedia: Renderizador especial para RealMedia, ou abrilo con DirectShow\n- QuickTime: DX7 ou DX9 renderizador paraQuickTime\n- ShockWave: non dispoñible"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Relación de aspecto: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Relación de aspecto: Orixinal"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Relación de aspecto: Orixinal (RAO)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Imposible renderizar o ficheiro"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL incorrecta, non se atopou a base de datos de subtítulos!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Capítulo:"
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Aumento de Volume Maximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO ficheiro principal ou directorio vaise cargar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCargar un ficheiro de audio adicional\n/dubdelay \"file\"\tCargar un ficheiro de Audio adicional alterado con XXms (se\n\t\to ficheiro contén \"...DELAY XXms...\")\n/d3dfs\t\tIniciar renderizamento en D3D modo pantalla completa\n/sub \"subname\"\tCargar un ficheiro de subtítulos adicional\n/filter \"filtername\"\tCargar filtros DirectShow dunha ligazón dinámica\n\t\t (wildcards allowed)\n/dvd\t\tExecutar en modo DVD, \"pathname\" significa o cartafol\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCargar todas as pistas dun CD de Audio ou (s)vcd,\n\t\t\"pathname\" significa a ruta do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o ficheiro, non inicia automaticamente a reprodución\n/play\t\tInicia a reprodución do ficheiro cando o reprodutor este\n\t\taberto\n/close\t\tPecha o programa despois da reprodución (Só funciona cando é\n\t\tusado con /play)\n/shutdown\tDesliza o sistema operacional despois da reprodución\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tInicia en modo pantalla completa\n/minimized\tInicia en modo minimizado\n/new\t\tUsa o programa nunha nova estancia\n/add\t\tadiciona \"pathname\" á lista de reprodución, pode ser combinada\n\t\tcon /open e con /play\n/randomize\tRandomize the playlist\n/regvid\t\tRexistra formatos de vídeo\n/regaud\t\tRexistra formatos de Audio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tFacer rexistro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodución en \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAxusta tamaño fixo da xanela\n/monitor N\tInicia monitoramento N, onde N inicia en 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestaura as configuracións por defecto \n/help /h /?\tAmosa axuda sobre as opcións da liña de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Uso: mpc-hc.exe \"ruta\" [parámetros]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "Activ&e todos os filtros"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Sintonización"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtítulos non cargados ou renderizador non soportado."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor descoñecido. Contactenos se vostede fixo este logo!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "As funcións \"Gardar Imaxe\" e \"Gardar Miniaturas\" non funcionan co Procesador de vídeo Mesturador Overlay .\nCambie o procesador de vídeo nas opcións de saída do MPC-HC e re-abra o ficheiro."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Non foi posible conectarse ao servidor de subtítulos."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Vostede desexa activar o editor de EDL?"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Provedor"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Dificultades de audición"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Descargas"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Valoración"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Fallou a búsqueda de subtítulos en liña."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Interrompeuse a búsqueda de subtítulos en liña."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Completouse a búsqueda de subtítulos; atoparonse %d."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Completouse a búsqueda de subtítulos e non se atopou ningún."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Baixar subtítulos"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Agarde mentres se buscan os subtítulos en liña…"
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Interrompendo a búsqueda de subtítulos…"
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nome de usuario"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Estado"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Listo…"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Non implementado."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Subindo..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Subironse os subtítulos correctamente."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "A subida dos subtítulos fallou."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "A subida dos subtítulos foi abortada"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Os subtítulos xa existen."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Subindo subtítulos, por favor agarde."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Subida rematada."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Subida abortada."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "A subida fallou."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Baixar e abrir"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configuración"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Reiniciar"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Baixar"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Abrir URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Linguas"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ERRO: non se puido estabrecer a conexión con Internet."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Proporcionar datos de acceso ao sitio web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Introduza os seus datos de acceso para conectarse con:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Relación de aspecto: Asumir píxeles cadrados (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Descargado [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Subir subtítulos"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Está seguro de que quere subir o ficheiro de subtítulo \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Descargando idiomas soportados..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Non se puido gardar en \"%S\" co nome de usuario \"%S\".\n\nPor favor, introduza o nome de usuario e o contrasinal correctos ou restableza as credenciais para iniciar sesión como un usuario anónimo."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "A búsqueda automática e a descarga deshabilitaranse para tódolos ficheiros audiovisuais cuxa ruta conteña calquera dos patróns introducidos aquí.\nPor exemplo, escriba: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"ruta\"\tO ficheiro principal ou cartafol a ser cargado\n\t\t(permitense comodins, \"-\" denota entrada estándar)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"nomedadobraxe\"\tCarga un ficheiro de audio adicional"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"ficheiro\"\tCarga un ficheiro de audio adicional (dobraxe) desprazado XXms\n\t\t(se o ficheiro contén \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tInicia o renderizado en modo D3D a pantalla completa"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"nomedosubtítulo\"\tCarga un ficheiro de subtítulo adicional"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"nomedofiltro\"\tCarga os filtros DirectShow dende unha biblioteca de ligazón dinámica (dll) (comodins permitidos)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tExecutase en modo DVD, \"ruta\" indica o cartafol do DVD (opcional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tInicia a reprodución no título T, capítulo C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tComeza a reprodución no título T, posición P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tCarga tódalas pistas dun CD de audio ou un (S)VCD,\n\t\t\"ruta\" indica a ruta á unidade (opcional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tAbre o dispositivo de vídeo predeterminado"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tAbre o ficheiro, non inicia a súa reprodución automáticamente"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tComeza a reprodución do ficheiro tan pronto se inicia o reprodutor"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tPecha o reprodutor tras a reprodución (só funciona cando se usa con /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tPecha o sistema operativo tras a reprodución"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPon o sistema operativo en modo suspensión tras a reprodución"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHiberna o sistema operativo tras a reprodución"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tPecha sesión tras a reprodución"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBloquea o equipo tras a reprodución"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tApaga o monitor tras a reprodución"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tAbre o seguinte ficheiro do cartafol tras a reprodución"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tInicia o reprodutor en pantalla completa"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tInicia o reprodutor en modo minimizado"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUsa unha nova instancia do reprodutor"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tEngade unha \"ruta\" á lista de reprodución, podese combinar con /open e /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tReproduce en orde aleatorio a lista de reprodución"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCrea asociacións de ficheiro para ficheiros de vídeo"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCrea asociacións de ficheiro para ficheiros de audio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCrea asociacións de ficheiro para ficheiros de listas de reprodución"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCrea asociacións de ficheiro para tódolos tipos de ficheiro soportados"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tElimina todalas asociacións de ficheiro"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tComeza a reprodución en \"ms\" (= millisegundos)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tComeza a reprodución na posición hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tEstablece un tamaño de xanela fixado"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tInicia o reprodutor no monitor N, onde N comeza dende 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tIniciase usando o renderizador de audio N, onde N comeza dende 1 (vexa configuración de \"Saída\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tIniciase usando o preaxuste \"Pr\" do sombreador"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"nome\"\tEspecifica o nome do modo de reencadre (pan&scan) a usar"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tVolve asocialas iconas de formato"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tAbre o MPC-HC en segundo plano"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tInicia a interface web no porto especificado"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tAmosa información de depuración sobreimpresionada (OSD)"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDeshabilita o informe de erro"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUsa MPC-HC en modo escravo"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tEstablece o índice que indica a GPU a usar para a decodificación por hardware.\n\t\tSó dispoñible para os modos CUVID e DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestablece a configuración predeterminada"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tAmosa a axuda de parámetros da liña de comandos"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Valor umbral de puntuación para subtítulos que se van a descargar automáticamente. Valores máis altos indican que se cargarán subtítulos cunha coincidencia máis precisa, valores máis baixos poderían resultar en que se carguen subtítulos incorrectos, pero non hai un valor perfecto. Seleccione aquel que mellor lle funcione."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Retardo do audio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Tamaño en píxeles da barra de ferramentas predeterminada."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Usar antiga barra de ferramentas en lugar da nova vectorizada."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
index c414d89ba..9c9887f2e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Hebrew (http://www.transifex.com/mpc-hc/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "אודות"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "כל הזכויות שמורות © 2002-2015 קרא את קובץ היוצרים (Authors.txt)"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "כל הזכויות שמורות © 2002-2017 קרא את קובץ היוצרים (Authors.txt)"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "מספר פעמים"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "פלט"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "אזהרה"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "אם אתה מבצע מעקף בהגדרות כרטיס המסך ומפעיל את החלקת הקצוות במסך מלא, הכתוביות לא יראו טוב יותר, אך המעבד שלך יעבוד שעות נוספות."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "מוסר האודיו"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "הגדרות VMR-7/VMR-9 (renderless)‎ ו-EVR(-CP)‎."
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "הגדרות VMR-9 (renderless)‎ ו-EVR(-CP)‎."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "האזן לפורט"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "מטפלי CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "כתוביות זמינות ברשת"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "הורד ופתח"
+msgid "Download subtitles"
+msgstr "הורד כתוביות"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "החלף את הכתוביות שכבר הועלו"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "הגדרות"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "הגדרות"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "שמירה בשם..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "אפס"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "מסד נתונים ברשת"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "כתובת למסד נתונים ברשת:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "בדוק"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
index ceb35ccd5..799ca11f9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:01+0000\n"
-"Last-Translator: JellyFrog\n"
-"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
+"Language-Team: Hebrew (http://www.transifex.com/mpc-hc/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "שמור תמונות ממוזערות..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "טען כתוביות..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "שמור כתוביות..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "מסד נתונים של כתוביות"
+msgid "S&ubtitles"
+msgstr "כתוביות"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "חפש..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "העלה..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "הורד..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr ""
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "גע בחלון מבחוץ"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "שמור על יחס גובה-רוחב"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "דרוס יחס גובה-רוחב"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "ברירת מחדל"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "תקן הפרש יחס גובה-רוחב של מסך/שולחן עבודה"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "עצור"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "התקדם בפריים"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr ""
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "הקטן מהירות"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr ""
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
index 88e87a775..a00b00755 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
-"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
+"Language-Team: Hebrew (http://www.transifex.com/mpc-hc/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "מאפיינים"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "סגנון ברירת מחדל"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "קבצים"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "אף פעם (הגישה המהירה ביותר)"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr ""
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr ""
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr ""
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr ""
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr ""
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "נגן::ממשק אתר רשת"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "כתוביות::מסד נתונים"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "פרטים"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "תמיד מציג ב-overlay. בדרך כלל רק פורמטי YUV מותרים, אך הם מוצגים ישירות ללא המרת צבעים ל-RGB. זוהי השיטה המהירה ביותר להצגה והיחידה בה אתה יכול להיות בטוח ששיקוף וידאו במסך מלא ליציאת טלוויזיה מופעלת."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "מציג ברירת המחדל ב-Windows XP. מאוד יציב ורק טיפה יותר איטי ממיקסר ה-Overlay. משתמש ב-DirectDraw ורץ ב-Overlay כאשר הוא מסוגל."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "זמין רק אם מותקן אצלך DirectX 9. ברשותו אותן יכולות כמו VMR-7 (windowed), אך הוא לעולם לא משתמש בהצגת Overlay ולכן יתכן ויהיה טיפה יותר איטי מ-VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "כמו VMR-7 (windowed), אך עם תוסף הקצבת תצוגה של MPC-HC עבור כתוביות. שיקוף וידאו של Overlay לא יעבוד. מרחב הצבעים 'צבע אמיתי' לשולחן העבודה מומלץ."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "מציג הוידאו של Real. סקריפטי SMIL יעבדו, אך אינטרקצייה כנראה לא. משתמש ב-DirectDraw ורץ ב-Overlay כאשר הוא יכול."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "פלט מנוע ה-Real המוצג על-ידי מקציב התצוגה מבוסס ה-DX7 של VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "פלט מנוע ה-Real המוצג על-ידי מקציב התצוגה מבוסס ה-DX9 של VMR-9 (renderless)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "מציג הוידאו של QuickTime. קצת איטי כאשר גודל שטח הוידאו משתנה או מכוסה על-ידי חלון אחר. כאשר Overlay אינו זמין, הוא כנראה ניסוג ל-GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "פלט מנוע ה-QuickTime המוצג על-ידי מקציב התצוגה מבוסס ה-DX7 של VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "פלט מנוע ה-QuickTime המוצג על-ידי מקציב התצוגה מבוסס ה-DX9 של VMR-9 (renderless)."
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr ""
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "הורד כתוביות"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "סריקת כוונן"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "כתוביות לא נטענו או מציג וידאו לא נתמך."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "פתח VTS_xx_0.ifo בכדי לטעון קבצי VTS_xx_x.vob כחתיכה אחת"
@@ -946,11 +962,11 @@ msgid "&Organize Favorites..."
msgstr "ארגן מועדפים..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "ערבוב"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "פתח מיקום קובץ"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1050,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "זום למסך אולטרה-רחב,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "הסתר במסך מלא"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "הוסף תיקיה מכילה"
msgctxt "IDS_HW_INDICATOR"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "תמונה נשמרה בהצלחה"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "טען כתוביות"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "שמור כתוביות"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "תמונות ממוזערות נשמרו בהצלחה"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "PnS הקטן גובה"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "מוריד כתוביות, אנא המתן."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "מוצפן"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "כן"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "לא"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "רוחב תמונה"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "כתובת ה-URL נראית תקינה!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "גרסה פרוטוקול לא תואמת, אנא שדרג את הנגן שלך או בחר כתובת אחרת!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "יחס גובה-רוחב"
@@ -2314,7 +2322,7 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "יחס גובה-רוחב: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "יחס גובה-רוחב: ברירת מחדל"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "הגשת הקובץ נכשלה"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "כתובת URL לא תקינה, לא מצליח למצוא מסד נתונים של כתוביות שם!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "פרק: "
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "המרצת עוצמת שמע מקסימלית"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile contains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched.\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "הפעל את כל הפילטרים"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "סריקת כוונן"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "כתוביות לא נטענו או מציג וידאו לא נתמך."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "יוצר לא ידוע. צור קשר אם אתה הוא שיצר את הלוגו!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr ""
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr ""
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "האם ברצונך להפעיל את עורך ה-EDL?"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "הורד כתוביות"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "הורד ופתח"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "אפס"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "הזז למעלה"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "הזז למטה"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
index 8cd864a23..ddaf1e3f6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
@@ -1,18 +1,18 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# schop <aprcel00@fesb.hr>, 2014-2015
+# schop <aprcel00@fesb.hr>, 2014-2016
# iivana24 <iivana24@gmail.com>, 2014
-# streger <stjepan.treger@gmail.com>, 2014-2015
+# streger <stjepan.treger@gmail.com>, 2014-2016
# Ico2005 <vukasinac@gmail.com>, 2014
# schop <aprcel00@fesb.hr>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-21 10:26+0000\n"
-"Last-Translator: streger <stjepan.treger@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Croatian (http://www.transifex.com/mpc-hc/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -38,11 +38,11 @@ msgstr "Video"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
msgid "Set"
-msgstr "Podesi"
+msgstr "Namjesti"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Audio"
-msgstr "Audio"
+msgstr "Zvuk"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Output"
@@ -50,7 +50,7 @@ msgstr "Izlaz"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Snimi Video"
+msgstr "Snimi video"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
@@ -106,7 +106,7 @@ msgstr "Spusti uzorak na 44100Hz"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Pomicanje audio zapisa (ms):"
+msgstr "Pomicanje zvučnog zapisa (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
@@ -158,7 +158,7 @@ msgstr "Otvori"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Unesite adresu video ili audio datoteke (s interneta ili s Vašeg računala) i player će ju otvoriti za Vas."
+msgstr "Unesite adresu video ili zvučne datoteke (s interneta ili s Vašeg računala) i izvođač će ju otvoriti za Vas."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -193,8 +193,8 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Zaštićeno © 2002-2015 - pogledaj Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Zaštićeno © 2002-2017 - pogledaj Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -246,11 +246,11 @@ msgstr "Opcije otvaranja"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "Otvori medijsku datoteku u trenutnom playeru"
+msgstr "Otvori medijsku datoteku u trenutnom izvođaču"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
-msgstr "Otvori novi player za svaku medijsku datoteku"
+msgstr "Otvori novi izvođač za svaku medijsku datoteku"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
@@ -274,7 +274,7 @@ msgstr "Ne stavljaj prefiks"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Zamijeni ime datoteke s naslovom"
+msgstr "Zamijeni naziv datoteke s naslovom"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -342,7 +342,7 @@ msgstr "Zapamti posljednju veličinu prozora"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Zapamti posljednji Pan-n-Scam zoom"
+msgstr "Zapamti posljednje Pan-n-Scan uvećanje"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -366,7 +366,7 @@ msgstr "Izbornik"
msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
msgid "Audio"
-msgstr "Audio"
+msgstr "Zvuk"
msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
msgid "Subtitles"
@@ -382,7 +382,7 @@ msgstr "Dopusti podnaslove zvukova u \"Line 21 Decoder\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
-msgstr "Audio"
+msgstr "Zvuk"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume"
@@ -425,20 +425,24 @@ msgid "time(s)"
msgstr "puta"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Način ponavljanja:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Nakon reprodukcije"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Prikaz"
+msgid "Default zoom"
+msgstr "Zadani zum"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
-msgstr "Automatski zoom:"
+msgstr "Automatsko uvećanje:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
-msgstr "Faktor za auto-zoom:"
+msgstr "Faktor automatskog smještanja:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
@@ -446,7 +450,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Preferirani audio zapis"
+msgstr "Zadana postavka zapisa"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -454,11 +458,11 @@ msgstr "Titlovi:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
-msgstr "Audio:"
+msgstr "Zvuk:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Dozvoli zaobilaženje izbora vanjskih razdjelnika"
+msgstr "Dozvoli nadilaženje izbora vanjskih razdjelnika"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -474,7 +478,7 @@ msgstr "Prijavi pinove koji se ne uspiju renderirat"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "Automatski učitaj audio datoteke"
+msgstr "Automatski učitaj zvučnu datoteke"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
@@ -538,7 +542,7 @@ msgstr "Nikad nemoj animirati titlove."
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Renderiraj pri"
+msgstr "Prikaži pri"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -569,7 +573,7 @@ msgid "Warning"
msgstr "Upozorenje"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Ako bilo gdje u postavkama grafičke kartice omogućite antialiasing za sliku na cijelom ekranu i date tim postavkama veći prioritet, titlovi neće bolje izgledati, ali će Vam zasigurno opteretiti procesor."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1094,7 +1098,7 @@ msgstr "Video dekoder"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr "Audio dekoder"
+msgstr "Zvučni dekoder"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1122,11 +1126,11 @@ msgstr "QuickTime video"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "Audio renderer"
+msgstr "Zvučni izvođač"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) & EVR (CP) postavke"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) & EVR (CP) postavke"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1188,6 +1192,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Prikazivač titlova"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Keširaj kompilirane shadere"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Slušaj na portu:"
@@ -1233,17 +1241,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI upravljač: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Titlovi dostupni online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Preuzmi && Otvori"
+msgid "Download subtitles"
+msgstr "Preuzmi titlove"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Zamijeni trenutno učitane titlove"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Preuzmi"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Osvježi"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Postavke"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Pošalji titlove"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Pošalji"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Postavke"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Spremi kao..."
@@ -1370,7 +1406,7 @@ msgstr "Video"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC2"
msgid "Audio"
-msgstr "Audio"
+msgstr "Zvuk"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC3"
msgid "Country"
@@ -1545,16 +1581,28 @@ msgid "Reset"
msgstr "Resetiraj"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online baza titlova"
+msgid "Online search, download and upload subtitles"
+msgstr "Online pretraga, preuzimanje i slanje titlova"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatska pretraga i preuzimanje titlova ako nisu pronađeni lokalno"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferiraj titlove za osobe s oštećenim sluhom (kada je naznačeno kod davatelja titlova)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignoriraj datoteke koje sadrže bilo koje od slijedećih riječi:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Osnovni URL online baze titlova"
+msgid "Languages in order of preference:"
+msgstr "Jezici po željenom redu:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automatski pošalji aktivne titlove na kraju gledanja videa"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
index cf2259b46..58ba39a32 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# schop <aprcel00@fesb.hr>, 2014-2015
-# streger <stjepan.treger@gmail.com>, 2014-2015
+# streger <stjepan.treger@gmail.com>, 2014-2016
# Ico2005 <vukasinac@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-11-10 15:00+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-07-03 17:20+0000\n"
"Last-Translator: streger <stjepan.treger@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/mpc-hc/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -48,7 +48,7 @@ msgstr "O&tvori disk"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
-msgstr "Zadnje &datoteke"
+msgstr "Prijašnje &datoteke"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
@@ -66,29 +66,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Spremi sliči&ce..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Učitaj tit&love..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Spremi titlo&ve..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Baza titlova"
+msgid "S&ubtitles"
+msgstr "Titlovi"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Učitaj tit&love..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Traži..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Spremi titlo&ve"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Pošalji..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Preuzmi titlove..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "P&reuzmi..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Pošalji titlove..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -132,7 +128,7 @@ msgstr "Resinkronizacija titlova"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
-msgstr "Pla&ylist"
+msgstr "&Lista izvođenja"
msgctxt "ID_VIEW_CAPTURE"
msgid "Captu&re"
@@ -152,7 +148,7 @@ msgstr "&Profili"
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
-msgstr "&Najmanje"
+msgstr "&Minimalno"
msgctxt "ID_VIEW_PRESETS_COMPACT"
msgid "&Compact"
@@ -192,11 +188,11 @@ msgstr "Auto podešavanje (&Samo veliko)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "P&ostavke renderera"
+msgstr "P&ostavke prikazivača"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "&Test razdvajanja"
+msgstr "&Test kidanja"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
@@ -204,11 +200,11 @@ msgstr "&Prikaži statistiku"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Prikaži trenutno &vrijeme"
+msgstr "Prikaži trenutno vr&ijeme"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr "Prikaži &ime datoteke"
+msgstr "Prikaži naziv &datoteke"
msgctxt "POPUP"
msgid "&Output Range"
@@ -288,7 +284,7 @@ msgstr "SDTV &PAL"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "Svjetlo &ambijenta"
+msgstr "Ambijentalno svjet&lo"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
@@ -316,7 +312,7 @@ msgstr "&Relativno kolormetrično"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
-msgstr "&Zasićenje"
+msgstr "Za&sićenje"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
@@ -368,11 +364,11 @@ msgstr "R&esetiranje"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Učitaj &početne postavke renderiranja"
+msgstr "Učitaj za&dane postavke prikazivanja"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Učitaj &optimalne postavke renderiranja"
+msgstr "Učitaj &optimalne postavke prikazivanja"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -410,17 +406,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Dotakni prozor &izvana"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Zadrži omjer"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Premosti &omjer"
+msgid "&Aspect Ratio"
+msgstr "&Omjer"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Zadano"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Zadano (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +434,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Pretpostavi kvadratne piksele (&SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Ispravi razliku omjera slike na monitoru/radnoj površini"
@@ -535,8 +531,24 @@ msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "K&orak okvira"
+msgid "Fra&me Step"
+msgstr "Slijedeći &kadar"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Ponovi"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Zauv&ijek"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Datoteka"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista izvođenja"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
@@ -567,7 +579,7 @@ msgid "Su&btitle Track"
msgstr "Zapis &titlova"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video zapis"
msgctxt "POPUP"
@@ -592,7 +604,7 @@ msgstr "Na&kon reprodukcije"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
-msgstr "Ne čini &ništa"
+msgstr "Ne čini niš&ta"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
@@ -620,11 +632,11 @@ msgstr "Isključi &računalo"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
-msgstr "Odjavi &korisnika"
+msgstr "&Odjavi korisnika"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "&Zaključaj korisnika"
+msgstr "Zak&ljučaj korisnika"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
index 5eca2f9b7..cf4d675b3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
@@ -1,18 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# schop <aprcel00@fesb.hr>, 2014-2015
+# schop <aprcel00@fesb.hr>, 2014-2016
# iivana24 <iivana24@gmail.com>, 2014
-# streger <stjepan.treger@gmail.com>, 2014-2015
-# vBm <the.vbm@gmail.com>, 2014
+# streger <stjepan.treger@gmail.com>, 2014-2016
+# Goran Džaferi <the.vbm@gmail.com>, 2014
# Underground78, 2014
# Ico2005 <vukasinac@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-10 16:30+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-02 22:22+0000\n"
"Last-Translator: streger <stjepan.treger@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/mpc-hc/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -65,10 +65,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Svojstva"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Datoteka"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Stan&dardni stil"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lista izvođenja"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Datoteke"
@@ -119,7 +127,27 @@ msgstr "Stilovi"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Ako nije zadano odredište renderinga, SSA/ASS titlovi će biti renderirani relativno u odnosu na video okvir dok će svi ostali titlovi biti rederirani relativno u odnosu na prozor."
+msgstr "Ako nije zadano odredište prikazivanja, SSA/ASS titlovi će biti prikazani relativno u odnosu na video okvir dok će svi ostali titlovi biti prikazani relativno u odnosu na prozor."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Način ponavljanja: Lista izvođenja"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Način ponavljanja: Datoteka"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Ponavljaj zauvijek: Uključeno"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Ponavljaj zauvijek: Isključeno"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Ponavljaj zauvijek"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -243,7 +271,7 @@ msgstr "Font"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Nije uspjelo renderiranje nekih pinova DVD-navigacijskog filtra."
+msgstr "Neuspješno prikazivanje nekih znački DVD-navigacijskog filtra."
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
@@ -363,7 +391,7 @@ msgstr "Ciljani okvir za obavijesni graf nije moguće podesiti"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Nije uspjelo renderiranje nijednog pina od DVD-navigacijskog filtra."
+msgstr "Neuspješno prikazivanje nijedne značke od DVD-navigacijskog filtra."
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -487,7 +515,7 @@ msgstr "Reprodukcija::Uhvati"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Reprodukcija::Postavke sinkronizacijskog rendera"
+msgstr "Reprodukcija::Postavke sinkronizacijskog prikazivača"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
@@ -495,7 +523,7 @@ msgstr "Reprodukcija::Cijeli ekran"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr "Interni filtri::Renderer zvuka"
+msgstr "Interni filtri::Izvođač zvuka"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -515,39 +543,31 @@ msgstr "Ovo će popraviti neispravan prikaz ikona nakon nadogradnje biblioteke i
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "Stari video render"
+msgstr "Stari video prikazivač"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "Overlay Mixer Renderer"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (u prozoru)"
+msgstr "Overlay Mixer prikazivač"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "Video Mixing Renderer 9 (u prozoru)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
+msgstr "Video Mixing prikazivač 9 (u prozoru)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Video Mixing Renderer 9 (renderless)"
+msgstr "Video Mixing prikazivač 9 (bez-prikazivanja)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "Poboljšani video renderer"
+msgstr "Poboljšani video prikazivač"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr "Poboljšani video renderer (prilagođeni prikazivač)"
+msgstr "Poboljšani video prikazivač (prilagođeni prikazivač)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali Video Renderer"
+msgstr "Haali Video prikazivač"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -585,10 +605,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Izvođač::Web sučelje"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Titlovi::Baza podataka"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalji"
@@ -599,27 +615,19 @@ msgstr "Isječak"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Zadani video render filtri za DirectShow. Ostali video renderi, ako se ne mogu učitati, će biti postavljeni na ovaj. Na Windows XP je ovo ekvivalent VMR-7 (u prozoru)."
+msgstr "Zadani video filtri prikazivanja za DirectShow. Ostali video prikazivači, ako se ne mogu učitati, će biti postavljeni na ovaj. Na Windows XP je ovo ekvivalent VMR-7 (u prozoru)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Zadani renderer za Windows 9x/ME/2k. Ovisno o vidljivosti video prozora i mogućnostima vaše video kartice će koristiti GDI, DirectDraw ili Overlay-okvir."
+msgstr "Zadani prikazivač za Windows 9x/ME/2k. Ovisno o vidljivosti video prozora i mogućnostima vaše video kartice će koristiti GDI, DirectDraw ili Overlay-okvir."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Uvijek prikazuje u gornjem sloju. Općenito samo su YUV formati dozvoljeni ali su prikazani direktno bez konverzije boje u RGB. Ovo je najbrža metoda prikazivanja od svih i jedina kojom možete biti sigurni da je prikaz na cijelom ekranu zrcaljen sa aktiviranje tv-izlaza."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Zadani prikazivač za Windows XP. Stabilan i nešto sporiji od Overlay miksera. Koristi DirectDraw i radi sa Overlay-om kad može."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Dostupno samo ako imate DirectX 9 instaliran. Ima iste mogućnosti kao VMR-7 (u prozoru), ali nikad ne koristi Overlay prikazivanje i zbog toga može biti sporiji nego VMR-7 (u prozoru)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Isti kao VMR-7 (u prozoru) ali sa Allocator-Presenter dodatkom MPC-HC za titlove. Prikaz u gornjem sloju zrcaljenjem NEĆE raditi. \"True Color\" sustav boja radne površine preporučljiv."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Dostupno samo ako imate DirectX 9 instaliran. Vrlo stabilno ali nikada neće koristiti prikaz u gornjem sloju i zbog toga može biti sporiji nego Overlay mikser."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -627,7 +635,7 @@ msgstr "Isti kao VMR-9 (u prozoru) ali sa Allocator-Presenter dodatkom MPC-HC za
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Isti kao VMR-9 (renderless) ali koristi pravi dvoprolazni bikubni mjenjač veličina."
+msgstr "Isti kao VMR-9 (bez-prikazivanja) ali koristi pravi dvoprolazni bikubni mjenjač veličina."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
@@ -657,25 +665,17 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Prikazivač Real. SMIL skripte će raditi ali interakcija nije vjerojatna. Koristi DirectDraw i radi u Overlay kad može."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Izlaz Real prikazan sa DX7 temeljenom na Allocator-Presenter VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "Izlaz Real prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (renderless)."
+msgstr "Izlaz Real prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (bez-prikazivanja)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime prikazivač. Postaje sporiji kad se poveća video ili kad je prekriven sa drugim prozorom. Kada Overlay nije dostupan vraća se na GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Izlaz QuickTime prikazan sa DX7 temeljenom na Allocator-Presenter VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "Izlaz QuickTime prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (renderless)."
+msgstr "Izlaz QuickTime prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (bez-prikazivanja)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -731,15 +731,15 @@ msgstr "Odabrani prikazivač nije instaliran."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr "Null (anything)"
+msgstr "Null (bilo što)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "Null (uncompressed)"
+msgstr "Null (nekomprimirano)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr "Interni renderer zvuka"
+msgstr "Interni izvođač zvuka"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -753,9 +753,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Kako bi vidjeli ugrađeni resurs u vašem internet pregledniku morate omogućiti web sučelje.\n\nKoristite \"Spremi kao\" gumb ako samo spremate informaciju."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Preuzmi titlove"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Preuzmi titlove..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Pošalji titlove..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -799,11 +803,11 @@ msgstr "Ako nema podrške za Pixel Shader 2.0 automatski je korišten jednostavn
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Stavlja VMR-9 (renderless) u mikser način, ovo znači da će raditi većina kontrola na stranici svojstva, a koristiti će odvojenu radničku nit za prikazujuće slike."
+msgstr "Stavlja VMR-9 (bez-prikazivanja) u mikser način, ovo znači da će raditi većina kontrola na stranici svojstva, a koristiti će odvojenu radničku nit za prikazujuće slike."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr "Poboljšava performanse na račun kompatibilnosti nekih rendera."
+msgstr "Poboljšava performanse na račun kompatibilnosti nekih prikazivača."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
@@ -813,6 +817,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Smanjuje kidanje zaobilazeći zadani VSync ugrađen u D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Pretraga prijemnika"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Titlovi nisu učitani ili nepodržani od prikazivača."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Sprema kompilirane shadere u lokalnu AppData mapu za ubrzano pokretanje."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Otvorite VTS_xx_0.ifo kako bi pokrenuli VTS_xx_0.vob datoteke u jednom komadu."
@@ -823,11 +839,11 @@ msgstr "Temeljeno na RAR datotečnom izvoru, ne podržava komprimirane datoteke.
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr "Koristi LAV filtere"
+msgstr "Koristi LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Koristi LAV filtere. Onemogućeno po zadanoj postavci zato što su Microsoft filteri uobičajeno stabilniji za te formate.\nAko odaberete ugrađene filtere omogućite ih i za izvor i dekodiranje kako bi imali bolje iskustvo reprodukcije."
+msgstr "Koristi LAV Filters. Onemogućeno po zadanoj postavci zato što su Microsoft filteri uobičajeno stabilniji za te formate.\nAko odaberete ugrađene filtere omogućite ih i za izvor i dekodiranje kako bi imali bolje iskustvo reprodukcije."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -839,7 +855,7 @@ msgstr "Precizan VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Ako render cilj nije definiran, nasljeđuju se postavke od standardnog stila."
+msgstr "Ako cilj prikazivanja nije definiran, nasljeđuju se postavke od standardnog stila."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
@@ -847,7 +863,7 @@ msgstr "Zabraniti animaciju titlova. Omogućavanje ove opcije smanjiti će upotr
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Povećavanje broja spremljenih podslika trebalo bi općenito poboljšati performanse renderiranja na račun povećanog korištenja video RAM-a na GPU."
+msgstr "Povećavanje broja spremljenih podslika trebalo bi općenito poboljšati performanse prikazivanja na račun povećanog korištenja video RAM-a na GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -855,7 +871,7 @@ msgstr "Nakon klikanja ovog gumba provjereno stanje grupe formata će se odrazit
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Isključivanjem ove opcije će se spriječiti treptanje titlova ali može prouzročiti da video render preskoči nekoliko slika."
+msgstr "Isključivanjem ove opcije će se spriječiti treptanje titlova ali može prouzročiti da video prikazivač preskoči nekoliko slika."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -950,12 +966,12 @@ msgid "&Organize Favorites..."
msgstr "&Organiziraj omiljeno..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Naizmjenično"
+msgid "Sh&uffle"
+msgstr "Nai&zmjenično"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Otvori lokaciju datoteke"
+msgid "Ope&n file location"
+msgstr "Otvori &lokaciju datoteke"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1023,7 +1039,7 @@ msgstr "PnS rotacija Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Tearing Test"
+msgstr "Test kidanja"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1038,8 +1054,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zumiraj na ultra široki ekran,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Sakrij u cijelom zaslonu"
+msgid "&Hide on Fullscreen"
+msgstr "Sa&krij u cijelom zaslonu"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1226,8 +1242,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Dodaj mapu sa sadržajem"
+msgid "Add containing &folder"
+msgstr "Dodaj &mapu sa sadržajem"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1429,13 +1445,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Slika uspješno spremljena"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Učitaj titlove"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Učitaj titlove..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Snimi titlove"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Spremi titlove..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1511,11 +1527,11 @@ msgstr "Snimi kopiju"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Posljednja glavna slika"
+msgstr "Posljednji ključni kadar"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Najbliža glavna slika"
+msgstr "Najbliži ključni kadar"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
@@ -1562,7 +1578,7 @@ msgid "Thumbnails saved successfully"
msgstr "Minijature uspješno spremljene"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video zapis"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1643,11 +1659,11 @@ msgstr "Skoči nazad (puno)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "Skoči naprijed (obilježeni trenutak)"
+msgstr "Skoči naprijed (ključni kadar)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "Skoči nazad (obilježeni trenutak)"
+msgstr "Skoči nazad (ključni kadar)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1703,11 +1719,11 @@ msgstr "Reproduciraj BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
-msgstr "OSD: Prikaži statistike renderera"
+msgstr "OSD: Prikaži statistike prikazivača"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr "OSD: Resetiraj statistike renderera"
+msgstr "OSD: Resetiraj statistike prikazivača"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
@@ -1798,8 +1814,8 @@ msgid "PnS Dec Height"
msgstr "PnS smanji visinu"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Preuzimanje titlova, molim pričekajte"
+msgid "Downloading [%s] \"%s\""
+msgstr "Preuzimanje [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2061,11 +2077,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Šifrirano"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Da"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ne"
@@ -2217,14 +2233,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Širina slike"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL adresa je točna!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Verzija protokola se ne podudara, molimo nadogradite vaš player ili odaberite drugu adresu!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Omjer slike"
@@ -2291,7 +2299,7 @@ msgstr "Nemoguće kreirati datoteku"
msgctxt "IDS_THUMBNAILS_NO_DURATION"
msgid "Cannot create thumbnails for files with no duration"
-msgstr "Nemoguće kreirati thumbnailove za datoteke bez trajanja"
+msgstr "Nemoguće kreirati sličice za datoteke bez trajanja"
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
@@ -2311,15 +2319,15 @@ msgstr "Veličina datoteke: %s (%s bajta)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
-msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d."
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Naziv datoteke: %s\\N%sRezolucija: %dx%d %s\\NTrajanje: %02d:%02d:%02d."
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
msgstr "Sličice bi bile premalene, nemoguće je kreirati datoteku.\n\nPokušajte smanjivanjem broja sličica ili povećanjem ukupne veličine."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Za pokretanje titlova promijenite tip video prikazivača i ponovno otvorite datoteku.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR ili Haali\n- RealMedia: Posebni prikazivač za RealMedia ili otvorite direktno sa DirectShow\n- QuickTime: DX7 ili DX9 prikazivač za QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Za pokretanje titlova promijenite tip video prikazivača i ponovno otvorite datoteku.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR ili Haali\n- RealMedia: Posebni prikazivač za RealMedia ili otvorite direktno sa DirectShow\n- QuickTime: DX7 ili DX9 prikazivač za QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2330,8 +2338,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Omjer: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Omjer: Zadano"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Omjer: Zadani (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2367,11 +2375,7 @@ msgstr "Otvaranje prekinuto"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Greška pri renderiranju datoteke"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Nevaljali URL - nemoguće locirati data-bazu titlove!"
+msgstr "Greška pri prikazivanju datoteke"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2431,7 +2435,7 @@ msgstr "Nemoguće učitati nijednu izvorišnu datoteku"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
-msgstr "Nemoguće renderirati datoteku"
+msgstr "Nemoguće prikazati datoteku"
msgctxt "IDS_MAINFRM_89"
msgid "Invalid file format"
@@ -2455,7 +2459,7 @@ msgstr "Ne mogu pronaći DVD direktorij"
msgctxt "IDS_MAINFRM_94"
msgid "Can't create the DVD Navigator filter"
-msgstr "Ne može se kreirati DVD navigacijski filtar"
+msgstr "Nemoguće kreirati DVD navigacijski filtar"
msgctxt "IDS_AG_FAILED"
msgid "Failed"
@@ -2495,7 +2499,7 @@ msgstr "&Svojstva..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr " (pin) svojstva..."
+msgstr " (značka) svojstva..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2566,8 +2570,8 @@ msgid "Volume boost Max"
msgstr "Pojačanje glasnoće max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Korištenje: mpc-hc.exe \"putanja\" [prekidači]\n\n\"putanja\"⇥Glavna datoteka ili mapa za pokrenuti(zamjenski znakovi\n⇥⇥dopušteni, \"-\" označava standardni ulaz)\n/dub \"naziv sinkronizacije\"⇥Pokrenuti dodatnu zvučnu datoteku\n/dubdelay \"datoteka\"⇥Pokrenuti dodatnu audio datoteku pomaknutu\n⇥⇥ za XXms (ako datoteka sadrži \"...POMAK XXms...\")\n/d3dfs⇥⇥Započni izvođenje u D3D načinu punog ekrana\n/sub \"naziv titla\"⇥Pokreni dodatnu titl datoteku\n/filter \"naziv filtera\"⇥Pokreni DirectShow filtere iz knjižnice\n⇥⇥dinamičkog linka (zamjenski znakovi dopušteni)\n/dvd⇥⇥Pokreni u dvd načinu, \"putanja\" znači dvd\n⇥⇥mapa (opcionalno)\n/dvdpos T#C⇥Započeti reprodukciju na nazivu T, poglavlju C\n/dvdpos T#hh:mm⇥Započeti reprodukciju na nazivu T, pozicija hh:mm:ss\n/cd⇥⇥Pokreni sve trake zvučnog cd ili (s)vcd,\n⇥⇥\"putanja\" znači uređaja (opcionalno)\n/device⇥⇥Otvori zadani video uređaj\n/open⇥⇥Otvori datoteku bez automatskog pokretanja reprodukcije\n/play⇥⇥Započeti reprodukciju datoteke čim je izvođač\n⇥⇥pokrenut\n/close⇥⇥Zatvori izvođač nakon reprodukcije (radi samo kad\n⇥⇥se koristi sa /play)\n/shutdown⇥Ugasi operativni sustav nakon reprodukcije\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen⇥Započeti u načinu punog ekrana\n/minimized⇥Započeti u minimaliziranom načinu\n/new⇥⇥Koristiti novu instancu izvođača\n/add⇥⇥Dodati \"putanju\" u listu izvođenja, može biti kombinirano\n⇥⇥sa /open i /play\n/randomize\tRandomize the playlist\n/regvid⇥⇥Stvoriti povezanost nastavaka za video datoteke\n/regaud⇥⇥Stvoriti povezanost nastavaka za zvučne datoteke\n/regpl⇥⇥Stvoriti povezanost nastavaka za datoteke lista izvođenja\n/regall⇥⇥Stvoriti povezanost nastavaka za sve podržane datoteke\n/unregall⇥⇥Maknuti sve povezanosti datotečnih nastavaka\n/start ms⇥⇥Započeti reprodukciju u \"ms\" (= milisekundi)\n/startpos hh:mm:ss⇥Započeti reprodukciju na poziciji hh:mm:ss\n/fixedsize w,h⇥Namjestiti fiksiranu veličinu prozora\n/monitor N⇥Započeti izvođač na ekranu N, gdje N počinje od 1\n/audiorenderer N⇥Započeti zvučni izvođač N, gdje N počinje od 1\n⇥⇥(pogledati \"Izlaz\" postavke)\n/shaderpreset \"Pr\"⇥Započeti koristiti \"Pr\" shader postavku\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset⇥⇥Vratiti zadane postavke\n/help /h /?⇥Prikazati pomoć prekidača komandne linije\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Upotreba: mpc-hc.exe \"putanja\" [prekidači]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2653,14 +2657,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Omogući sve filtre"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Pretraga tjunera"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Titlovi nisu učitani ili nepodržani od renderera."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor nepoznat. Kontaktirajte nas ako ste Vi napravili ovaj logo."
@@ -2783,7 +2779,7 @@ msgstr "Pikseli:"
msgctxt "IDS_TEXTFILE_ENC"
msgid "Encoding:"
-msgstr "Kodiram:"
+msgstr "Kodiranje:"
msgctxt "IDS_DISABLE_ALL_FILTERS"
msgid "&Disable all filters"
@@ -3039,7 +3035,7 @@ msgstr "Rezolucija"
msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "Aspect ratio"
+msgstr "Omjer slike"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
@@ -3119,19 +3115,19 @@ msgstr "Ambijentalno svjetlo: Mračno (2.4 Gamma)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "Namjera renderiranja: Perceptualna"
+msgstr "Namjera prikazivanja: Perceptualna"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "Namjera renderiranja: Relativno kolorimetrijska"
+msgstr "Namjera prikazivanja: Relativno kolorimetrijska"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr "Namjera renderiranja: Zasićenje"
+msgstr "Namjera prikazivanja: Zasićenje"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "Namjera renderiranja: Apsolutno kolorimetrijska"
+msgstr "Namjera prikazivanja: Apsolutno kolorimetrijska"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
@@ -3187,11 +3183,11 @@ msgstr "Alternativni VSync: Isklj."
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Postavke izvođača vratiti na zadano"
+msgstr "Postavke prikazivača vratiti na zadano"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Postavke izvođača vratiti na optimalno"
+msgstr "Postavke prikazivača vratiti na optimalno"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
@@ -3235,7 +3231,7 @@ msgstr "Polovična obrada pomičnog zareza: Isključeno"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
-msgstr "Smanji svjetlinu"
+msgstr "Smanji osvijetljenost"
msgctxt "IDS_CONTRAST_INC"
msgid "Contrast increase"
@@ -3275,7 +3271,7 @@ msgstr "Vaša trenutna verzija je v%s.\n\nZadnja stabilna verzija je v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s je dostupan. Vi koristite v%s.\n\nJe li želite posjetiti web-stranicu MPC-HC da biste ju skinuli?"
+msgstr "MPC-HC v%s je dostupan. Vi koristite v%s.\n\nŽelite li posjetiti web-stranicu MPC-HC da biste preuzeli novu?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
@@ -3391,15 +3387,15 @@ msgstr "Greška slanja unesene brzine izmjene!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr "Nemoguć korak slike, pokušajte drukčiji video izvođač."
+msgstr "Nemoguć korak slike, pokušajte drukčiji video prikazivač."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa zadanim video izvođačem za RealMedia.\nOdaberite neki od DirectX izvođača za RealMedia u MPC-HC-ovim izlaznim opcijama i ponovno otvorite datoteku."
+msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa zadanim video prikazivačem za RealMedia.\nOdaberite neki od DirectX prikazivača za RealMedia u MPC-HC-ovim izlaznim opcijama i ponovno otvorite datoteku."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa zadanim video izvođačem za QuickTime.\nOdaberite neki od DirectX izvođača za QuickTime u MPC-HC-ovim izlaznim opcijama i ponovno otvorite datoteku."
+msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa zadanim video prikazivačem za QuickTime.\nOdaberite neki od DirectX priakzivača za QuickTime u MPC-HC-ovim izlaznim opcijama i ponovno otvorite datoteku."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3407,15 +3403,11 @@ msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa Shockwave d
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa sa Overlay Mixer video izvođačem. \nPromijenite video izvođač u MPC-HC-ovim opcijama i ponovno otvorite datoteku."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Ne može se pristupiti online bazi titlova."
+msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa sa Overlay Mixer video prikazivačem. \nPromijenite video prikazivač u MPC-HC-ovim opcijama i ponovno otvorite datoteku."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "Da li želite aktivirati EDL editor?"
+msgstr "Želite li aktivirati EDL uređivač?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
@@ -3483,7 +3475,7 @@ msgstr "Prije testiranja morate prihvatiti nove postavke."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
-msgstr "Nakon reprodukcije: izađi"
+msgstr "Nakon reprodukcije: Izađi"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
@@ -3519,7 +3511,7 @@ msgstr "Nakon reprodukcije: Nemoj učiniti ništa"
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
-msgstr "Svjetlina: %s"
+msgstr "Osvijetljenost: %s"
msgctxt "IDS_OSD_CONTRAST"
msgid "Contrast: %s"
@@ -3543,7 +3535,7 @@ msgstr "Upravljanje bojama nije podržano"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
-msgstr "Povećaj svijetloću"
+msgstr "Povećaj osvjetljenost"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
@@ -3575,7 +3567,7 @@ msgstr "&Kanali"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Ako je odabran \"posljednji keyframe\", skoči na prvi prethodni keyframe, uostalom ako je odabran \"bliži keyframe\", skoči unaprijed ili unatrag na najbliži keyframe u ovisnosti o tome koji je bliže."
+msgstr "Ako je odabran \"posljednji ključni kadar\", skoči na prvi prethodni ključni kadar, uostalom ako je odabran \"bliži ključni kadar\", skoči unaprijed ili unatrag na najbliži ključni kadar u ovisnosti o tome koji je bliže."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
@@ -3605,3 +3597,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Davatelj"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Za osobe oštećena sluha"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Preuzimanja"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Ocjena"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Online pretraga nije uspjela."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Online pretraga titlova prekinuta."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Online pretraga titlova završena, %d titlova pronađeno."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Online pretraga titlova završena, nema titlova."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Preuzmi titlove"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Molimo pričekajte, pretraga titlova u tijeku..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Prekidanje online pretrage titlova..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Korisničko ime"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Spremno..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Nije implementirano."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Slanje..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Titlovi uspješno poslani."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Slanje titlova neuspješno."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Prekinuto slanje titlova."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Titlovi već postoje."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Slanje titlova, molimo pričekajte..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Slanje završeno."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Slanje prekinuto."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Slanje neuspješno."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Preuzmi && Otvori"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Postavljanje"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Resetiraj"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Pomakni gore"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Pomakni dolje"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Otvori URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Jezici"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "GREŠKA: Internet veza nije uspostavljana."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Unesite podatke web-stranice"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Unesite svoje podatke za povezati se na:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Omjer: Pretpostavite kvadratne piksele (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Preuzeto [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Pošalji titlove"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Sigurni želite poslati titl datoteku \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Dohvaćanje podržanih jezika..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Neuspjela prijava na \"%S\" s korisničkim imenom \"%S\".\n\nMolimo unesite ispravno korisničko ime i šifru ili uklonite podatke da biste se prijavili kao anonimni korisnik."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatsko traženje i preuzimanje će biti onemogućeno za sve datoteke čija putanja sadrži bilo koju od unesenih stvari.\nNpr.: \"\\dokumenti\\video|radovi\\\""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"putanja\"\tGlavna datoteka ili mapa za pokretanje\n\t\t(višeznačnici dopušteni, \"-\" označava standardni ulaz)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"naziv_duba\"\tPokreni dodatnu zvukovnu datoteku"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"datoteka\"\tPokreni dodatnu zvukovnu datoteku pomaknutu sa XXms\n\t\t(ako datoteka sadrži \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tPočni prikazivnje u D3D načinu punog ekrana"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"naziv_titla\"\tPokreni dodatnu titl datoteku"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"naziv_filtra\"\tPokreni DirectShow filtere iz dinamične vezane biblioteke (višeznačnici dopušteni)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tPokreni u DVD načinu, \"naziv_putanje\" označava DVD mapu (opcionalno)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tPočni reprodukciju na naslovu T, poglavlju C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P⇥Počni reprodukciju na naslovu T, poziciji P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tPokreni sve trake s zvukovnog cd-a ili (S)VCD-a,\n\t\t\"naziv_putanje\" označava putanju uređaja (opcionalno)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOtvori zadani video uređaj"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOtvora datoteku ali ne započinje automatsku reprodukciju"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tPočni reprodukciju čim je pokrenut program"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tZatvori program nakon reprodukcije (radi samo kada se koristi i /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tUgasi operativni sustav nakon reprodukcije"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tStavi operativni sustav u način mirovanja nakon reprodukcije"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHiberniraj operativni sustav nakon reprodukcije"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tOdjavi se nakon reprodukcije"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tZaključaj operativni sustav nakon reprodukcije"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tUgasi zaslon nakon reprodukcije"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOtvori slijedeću datoteku u mapi nakon reprodukcije"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tPokreni u načinu cijelog ekrana"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tPokreni u minimiziranom načinu"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tKoristi novu instancu programa"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tDodaj \"naziv_putanje\" u listu za izvođenje, može se kombinirati sa /open i /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tIzmiješaj popis za izvođenje"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tStvori pridruživanje za datoteke za video datoteke"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tStvori pridruživanje za datoteke za audio datoteke"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tStvori pridruživanje za datoteke za datoteke listi za izvođenje"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tStvori pridruživanje za datoteke za sve podržane tipove datoteka"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tUkloni sva pridruživanja datotekama"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tPočni reprodukciju u \"ms\" (= milliseconde)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tPočni reprodukciju na poziciji hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tNamjesti fiksnu veličinu prozora"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tPočni izvođač na ekranu N, gdje N počinje od 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tPočni koristiti audiorenderer N, gdje N počinje od 1 (pogledaj \"Izlazne\" postavke)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tPočni \"Pr\" shader postavku"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"naziv\"\tNavedi Pan&Scan naziv postavke za korištenje"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tPonovno postavi ikone"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOtvori MPC-HC u pozadini"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tPokreni web sučelje na specifičnom portu"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tPrikaži debug informacije u OSD-u"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tOnemogući izvjestitelja o rušenju programa"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tKoristi MPC-HC kao roba"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tNamjesti GPU indeks korišten za hardversko dekodiranje.\n\t\tDostupno samo za CUVID i DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tVrati zadane postavke"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tPrikaži pomoć o prekidačima komandne linije"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Donja granična vrijednost rezultata titlova koji se planiraju automatski preuzeti. Veće vrijednosti znači da će se točnije podudarani titlovi učitati, niže vrijednosti mogu dovesti do pogrešno učitanih titlova, ali ne postoji jedna savršena vrijednost. Odaberite onu koji najbolje radi za vas."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Kašnjenje zvuka (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Veličina zadane alatne trake u pikselima."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Koristi zastarjelu alatnu traku umjesto nove vektorske."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
index 65f12ab50..ea0e33ec0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Máté <lang.mate@gmail.com>, 2014-2015
+# Evin <tomevin1@gmail.com>, 2016
+# Máté <lang.mate@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-04 17:52+0000\n"
-"Last-Translator: Máté <lang.mate@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-10 20:22+0000\n"
+"Last-Translator: Evin <tomevin1@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/mpc-hc/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -189,8 +190,8 @@ msgid "About"
msgstr "Névjegy"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Szerzői jog © 2002-2015 lásd Authors.txt fájl"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Szerzői jog © 2002-2017 lásd Authors.txt fájl"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -421,12 +422,16 @@ msgid "time(s)"
msgstr "alkalommal"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Ismétlés módja"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Lejátszás után"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Kép"
+msgid "Default zoom"
+msgstr "Alapértelmezett nagyítás"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,7 +570,7 @@ msgid "Warning"
msgstr "Figyelmeztetés"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Ha felülbírálva engedélyezi a videokártyája beállításainál a teljes képernyős vonalsimítást, a feliratok akkor sem lesznek szebbek, viszont a processzorát teljesen leterheli vele."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1121,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "DirectShow Audió"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) és EVR (CP) beállítások"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) és EVR (CP) beállítások"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Felirat renderelő"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Port figyelése:"
@@ -1229,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI kezelők: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Online elérhető feliratok"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Letöltés && Megnyitás"
+msgid "Download subtitles"
+msgstr "Feliratok letöltése"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Jelenleg betöltött felirat lecserélése"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Letöltés"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Frissítés"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Elvetés"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Beállítások"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Feliratok feltöltése"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Feltöltés"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Elvetés"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Beállítások"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Mentés másként..."
@@ -1541,16 +1578,28 @@ msgid "Reset"
msgstr "Visszaállítás"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online adatbázis"
+msgid "Online search, download and upload subtitles"
+msgstr "Feliratok keresése, letöltése, feltöltése"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Feliratok automatikus keresése és letöltése, ha helyben nem található"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "A következő szavakat tartalmazó fájl kihagyása:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Az internetről elérhető felirat adatbázis bázis URL címe:"
+msgid "Languages in order of preference:"
+msgstr "Nyelvek prioritási sorrendben (pl. \"eng hun spa\"):"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Tesztelés"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Aktív feliratok automatikus feltöltése a videólejátszás végén"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1674,15 +1723,15 @@ msgstr "Sztereó crossfeed engedélyezése (fejhallgatókhoz)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Levágás:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
@@ -1694,7 +1743,7 @@ msgstr "Megjegyzés"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "Az torzítás minimalizálásához ajánlott a lejátszó hangerejét 85% körül tartani hangos, veszteségesen kódolt tartalom lejátszásakor."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
index 93278f9d3..75bfd74d8 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Máté <lang.mate@gmail.com>, 2014-2015
+# Evin <tomevin1@gmail.com>, 2016
+# Máté <lang.mate@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-27 15:16+0000\n"
-"Last-Translator: Máté <lang.mate@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-20 09:00+0000\n"
+"Last-Translator: Evin <tomevin1@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/mpc-hc/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -64,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Ikonkép mentése..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "F&elirat betöltése..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Felirat menté&se..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Felirat adatbázis"
+msgid "S&ubtitles"
+msgstr "Feliratok"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Keresés..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Felirat betöltése"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Feltöltés..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Felirat mentése"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Letöltés..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Felirat letöltése"
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Felirat feltöltése"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Ablak érintése &kívültől"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Képarány &megtartása"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Képarány felülbírálata"
+msgid "&Aspect Ratio"
+msgstr "Képarány"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Alapértelmezés"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Alapértelmezett képarány"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "&185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Négyzetes pixelek feltételezése (&SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Monitor/Asztal képarány-eltérés javítása"
@@ -533,9 +530,25 @@ msgid "&Stop"
msgstr "L&eállítás"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Lé&ptetés"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Ismétlés"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Végtelenített"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "Fájl"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Lejátszási lista"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Sebesség &csökkentése"
@@ -565,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "Felirat sáv"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Videó sáv"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
index 1cc4de46f..9357da52e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
@@ -1,15 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Evin <tomevin1@gmail.com>, 2016
# Fridrich Losonszki, 2015
-# Máté <lang.mate@gmail.com>, 2014-2015
+# Máté <lang.mate@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-04 19:44+0000\n"
+"Last-Translator: Evin <tomevin1@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/mpc-hc/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +62,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Tulajdonságok"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fájl"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Alap stílus"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lejátszási lista"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Fájlok"
@@ -117,6 +126,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Ismétlés módja: Lejátszási lista"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Ismétlés módja: Fájl"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Végtelenített ismétlés: Be"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Végtelenített ismétlés: Ki"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Végtelenített ismétlés"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Soha (leggyorsabb)"
@@ -517,18 +546,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -581,10 +602,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Lejátszó::Webes felület"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Feliratok::Adatbázis"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Jellemzők"
@@ -605,17 +622,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Mindig Overlay módban alakít át. Gyakorlatilag csak YUV formátumokat engedélyez, de ezeket közvetlenül adja tovább bármiféle RGB-re való színkonverzió nélkül. Ez a leggyorsabb átalakítási metódus mindközül és az egyetlen, ahol biztos lehet a teljes képernyős videó tükrözésben még akkor is ha aktiválva van a tv-kimenet."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "A Windows XP alapértelmezett átalakítója. Nagyon stabil és csak egy kicsit lassabb, mint az Overlay mixer. Használja a DirectDraw-ot és Overlay módban fut, ha lehet."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Csak akkor elérhető, ha telepítve van DirectX 9. Ugyanazokkal az adottságokkal rendelkezik, mint a VMR-7 (windowed), de sosem fog Overlay átalakítót használni és éppen ezért egy kicsit talán lassabb is, mint a VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Ugyan az, mint a VMR-7 (windowed), de az MPC-HC Allokátor-Prezentátor beépülő modulja van benne a feliratozáshoz. Az Overlay videó tükrözés NEM FOG működni. Ajánlott 32 bites asztal-színmélységet beállítani mellé."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +662,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "A Real saját átalakítója. A SMIL szkriptek műdödni fognak, de az interaktivitás nem igazán. Használja a DirectDraw-ot és Overlay módban megy, ha lehet."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A Real-Motor kimenete, amit a DX7-alapú VMR-7 (renderless) átalakító generál."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A Real-Motor kimenete, amit a DX9-alapú VMR-9 (renderless) átalakító generál."
@@ -665,10 +670,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "A QuickTime saját átalakítója. Egy kicsit belassul, ha a videósáv át van méretezve, vagy ha részben lefedi egy másik ablak. Ha az Overlay mód nem elérhető, GDI-re vált vissza."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A QuickTime-Motor kimenete, amit a DX7-alapú VMR-7 (renderless) átalakító generál."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A QuickTime-Motor kimenete, amit a DX9-alapú VMR-9 (renderless) átalakító generál."
@@ -749,9 +750,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr ""
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Feliratok letöltése"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Felirat letöltése"
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Felirat feltöltése"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +814,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Tuner keresés"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "A feliratok nem betölthetők, vagy nem támogatott átalakító."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Nyissa meg a VTS_xx_0.ifo fájlt, hogy a VTS_xx_x.vob fájlokat egészben töltse be"
@@ -946,11 +963,11 @@ msgid "&Organize Favorites..."
msgstr "&Kedvencek rendezése..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Keverés"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Fájl mappa megnyitása"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1051,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Nagyítás Ultra-Szélesvásznúra,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Elrejtés Teljes képernyős módban"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1239,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Tartalmazó mappa hozzáadása"
msgctxt "IDS_HW_INDICATOR"
@@ -1327,7 +1344,7 @@ msgstr "A felirat késleltetve lesz ennek az értéknek a mértékével, a megfe
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<nincs megadva>"
msgctxt "IDS_NAVIGATION_WATCH"
msgid "Watch"
@@ -1425,13 +1442,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Kép mentése sikeres"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Felirat betöltése"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Feliratok betöltése..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Felirat mentése"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Feliratok mentése..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1575,7 @@ msgid "Thumbnails saved successfully"
msgstr "Ikonképek mentése sikeres"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Videó sáv"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1811,8 @@ msgid "PnS Dec Height"
msgstr "PnL Magasság csökkentése"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Felirat(ok) letöltése, kérem várjon."
+msgid "Downloading [%s] \"%s\""
+msgstr "[%s] letöltése \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2074,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Kódolt"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Igen"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nem"
@@ -2213,14 +2230,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Kép szélessége"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "AZ URL érvényesnek tűnik!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Eltérő protokoll verzió, kérem frissítse a lejátszóját, vagy válasszon egy másik címet!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Képméretarány"
@@ -2314,7 +2323,7 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2326,8 +2335,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Képméretarány: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Képméretarány: Alapértelmezés"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Képarány: Alapértelmezett"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2374,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Nem sikerült megjeleníteni a fájlt"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Rossz URL, a megadott címen nem található felirat adatbázis!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "fejezet: "
@@ -2562,8 +2567,8 @@ msgid "Volume boost Max"
msgstr "Hangerő erősítés Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Használat: mpc-hc.exe \"pathname\" [kapcsolók]\n\n\"pathname\"\tA fő betöltendő fájl vagy mappa helye (spec. helyettesítő karakterek \n\t\tengedélyezve, \"-\" denotes standard input)\n/dub \"dubname\"\tBetölt egy külön audió fájlt\n/dubdelay \"file\"\tBetölt egy külön audió fájlt XX ms-al eltolva (ha a\n\t\tfájl tartalmaz \"...DELAY XXms...\")\n/d3dfs\t\tlejátszó indítása D3D teljes képernyős módban\n/sub \"subname\"\tBetölt egy külön felirat fájlt\n/filter \"filtername\"\tDirectShow szűrőket tölt be egy dynamic link\n\t\tlibrary-ból (spec. helyettesítő karakterek tengedélyezve)\n/dvd\t\tDVD módban való futtatás, a \"pathname\" a dvd \n\t\tmappáját jelenti (opcionális)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tBetölti egy audió CD vagy egy (s)vcd összes műsorszámát, a\n\t\t\"pathname\" a meghajtó betűjelét jelenti (opcionális)\n/device\t\tOpen the default video device\n/open\t\tMegnyitja a fájlt, de nem kezdi el automatikusan eljátszani\n/play\t\tKezdje el lejátszani a fájlt, amint a lejátszó\n\t\telindul\n/close\t\tZárja be a lejátszót a műsör befejeződése után (csak a /play kapcsolóval\n\t\tegyütt használható)\n/shutdown\tÁllítsa le a rendszert a műsor lejátszásának befejeződése után\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tIndítás teljes képernyős módban\n/minimized\tMinimalizált formában való indítás\n/new\t\tA lejátszó egy új példányának használata\n/add\t\tA \"pathname\" hozzáadása a lejátszási listához, összekombinálható \n\t\taz /open és /play kapcsolóval\n/randomize\tRandomize the playlist\n/regvid\t\tVideó formátumok beregisztrálása\n/regaud\t\tAudió formátumok beregisztrálása\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVideó formátumok beregisztráltságának megszüntetése\n/start ms\t\tX \"ms\" (= ezredmásodperc) után induljon a lejátszás\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tFix ablakméret beállítása\n/monitor N\tIndítás az N. monitoron, ahol N egytől indul\n/audiorenderer N\tN. audió átalakító használata, ahol N egytől indul\n\t\t(lásd \"Kimenet\" beállítások)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tMegmutatja a parancssori kapcsolókról szóló súgót\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2635,11 +2640,11 @@ msgstr "PnL Elforgatás X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr ""
+msgstr "VidFrm nagyítás 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr ""
+msgstr "VidFrm nagyítás 2"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
@@ -2649,14 +2654,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Összes szűrő engedélyezése"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Tuner keresés"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "A feliratok nem betölthetők, vagy nem támogatott átalakító."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Ismeretlen szerző. Keressen fel minket, ha ön készítette a logót!"
@@ -3405,10 +3402,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr ""
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Nem tud csatlakozni az online felirat adatbázishoz."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Akarja aktiválni az EDL szerkesztőt?"
@@ -3595,9 +3588,377 @@ msgstr "Beállítások"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Letöltések"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Online feliratok keresése sikertelen."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Online feliratok keresése megszakítva."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Online feliratok keresése befejezve, %d felirat találva."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Online feliratok keresése befejezve, nem található felirat."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Feliratok letöltése"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Feliratok online keresése, kérem várjon..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Online feliratok keresésének megszakítása..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Felhasználói név"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Állapot"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Kész..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Nem implementált."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Feltöltés..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Feliratok feltöltése sikeres."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Feliratok feltöltése sikertelen."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Feliratok feltöltése megszakítva."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "A felirat már létezik."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Feliratok feltöltése, kérem várjon..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Feltöltés befejezve."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Feltöltés megszakítva."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Feltöltés nem sikerült."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Letöltés && Megnyitás"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Beállítás"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Visszaállítás"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Mozgatás fel"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Mozgatás le"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "URL megnyitása"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Nyelvek"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "HIBA: Az internetkapcsolat nem hozható létre."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Képméretarány: Négyzetes pixelek feltételezése (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "[%s] letöltve \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Feliratok feltöltése"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Biztos fel akarja tölteni a felirat fájlt: \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audió késleltetés (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
index 11eff3e8d..84e58b526 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2015
+# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 09:33+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Armenian (http://www.transifex.com/mpc-hc/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,19 +30,19 @@ msgstr "Չեղարկել"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
msgid "Video"
-msgstr "Տեսանյութը"
+msgstr "Տեսանյութ"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
msgid "Set"
-msgstr "Պահ."
+msgstr "Կայել"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Audio"
-msgstr "Ձայնը"
+msgstr "Ձայնանյութ"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Output"
-msgstr "Պահպանում"
+msgstr "Արտահանում"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
@@ -50,7 +50,7 @@ msgstr "Տեսագրել"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
-msgstr "Դիտել"
+msgstr "Նախադիտում"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
msgid "Record Audio"
@@ -58,7 +58,7 @@ msgstr "Ձայնագրել"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
msgid "Preview"
-msgstr "Դիտել"
+msgstr "Նախադիտում"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
@@ -182,15 +182,15 @@ msgstr "Մերժել"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
-msgstr "Միայն ավելացնել խաղացանկին"
+msgstr "Միայն ավելացնել նվագացանկին"
msgctxt "IDD_ABOUTBOX_CAPTION"
msgid "About"
msgstr "Ծրագրի մասին"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015, կարդացե՛ք Authors.txt ֆայլը"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017, կարդացե՛ք Authors.txt ֆայլը"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -250,7 +250,7 @@ msgstr "Նոր վերարտադրիչ յուրաքանչյուր ֆայլի հա
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
-msgstr "Լեզուն"
+msgstr "Լեզու"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Title bar"
@@ -318,7 +318,7 @@ msgstr "Պահպանել բացված ֆայլերի պատ-ը"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
-msgstr "Հիշել վերջին խաղացանկը"
+msgstr "Հիշել վերջին նվագացանկը"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
@@ -421,12 +421,16 @@ msgid "time(s)"
msgstr "անգամ"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Կրկնելու կերպը՝"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Նվագարկումից հետո"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Արտածում"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,7 +569,7 @@ msgid "Warning"
msgstr "Ուշադրություն"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Եթե փոխեք դիրքը և կարգավորեք տեսաքարտի էկրանային լղոզումը, ապա տողագրերը ավելի լավ չեն երևա, այլ փոխարենը կխլեն մեծ ռեսուրսներ։"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -678,7 +682,7 @@ msgstr ""
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Բացել հաջորդ/նախորդ ֆայլը թղթապանակում \"Հետ/Առաջ\"-ի միջոցով, եթե խաղացանկում առկա է մեկ ֆայլ։"
+msgstr "Բացել հաջորդ/նախորդ ֆայլը թղթապանակում \"Հետ/Առաջ\"-ի միջոցով, եթե նվագացանկում առկա է մեկ ֆայլ։"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
@@ -814,7 +818,7 @@ msgstr "Դասավորել ընտրյալները"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
-msgstr "Անվանափոխել"
+msgstr "Վերանվանել"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
@@ -1121,8 +1125,8 @@ msgid "Audio Renderer"
msgstr "Ձայնի նյութավորիչ"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) և EVR (CP) կարգավորումներ"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) և EVR (CP) կարգավորումներ"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Դարպասը."
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI մեկնիչ. (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Հասանելի տողագրերի ցանկը"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Բեռնել և Բացել"
+msgid "Download subtitles"
+msgstr "Բեռնել տողագրերը"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Փոփոխել արդեն բացված տողագրերը"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Ընտրանքներ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Ընտրանքներ"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Պահպանել որպես..."
@@ -1538,19 +1574,31 @@ msgstr "Տողագրերի ճանապարհը"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
-msgstr "Ետարկել"
+msgstr "Վերակայել "
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Ցանցային տվյալներ"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Տողագրերի ցանցային բազայի URL-ն."
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Թեստ"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
index f3c065c00..81c8f35c2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2015
+# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-24 20:13+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-05-24 15:44+0000\n"
+"Last-Translator: Hrant Ohanyan <h.ohanyan@haysoft.org>\n"
"Language-Team: Armenian (http://www.transifex.com/mpc-hc/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Պահպանել մանրապատկերներով..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Բացել տողագրերը..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Պա&հպանել տողագրերը..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Տողագրերի բազան"
+msgid "S&ubtitles"
+msgstr "Տողագիր"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Գտնել..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr ""
+
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Փոխանցել..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Բեռնել..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr ""
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -98,7 +94,7 @@ msgstr "Փ&ակել"
msgctxt "POPUP"
msgid "&View"
-msgstr "&Տեսքը"
+msgstr "&Տեսք"
msgctxt "ID_VIEW_CAPTIONMENU"
msgid "Caption&&Menu"
@@ -146,7 +142,7 @@ msgstr "&Վրիպազերծում"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "Արտաքին տեսքը..."
+msgstr "&Նախակայումներ..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
@@ -366,11 +362,11 @@ msgstr "Ետարկել"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Ետարկել ստանդարտ կարգավորումների"
+msgstr "Վերակայել &ստանդարտ կարգավորումների"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Ետարկել օպտիմալ կարգավորումների"
+msgstr "Վերակայել &օպտիմալ կարգավորումների"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Նկարագրել պատուհանից &դուրս"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Պահպանել համամասնությունները"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Նշել համամասնությունները"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Ըստ ծրագրայինի"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Հաշվի առնել մոնիտորի և Աշխատասեղանի տարբերությունները"
@@ -533,9 +529,25 @@ msgid "&Stop"
msgstr "&Կանգնեցնել"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Ըստ &կադրերի"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Կրկնել"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Մ&իշտ"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Ֆայլը"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Նվագացանկը"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Փոքրացնել արագությունը"
@@ -565,7 +577,7 @@ msgid "Su&btitle Track"
msgstr "Տող&ագրի շավիղ"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Տեսանյութ"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
index 5fd0d1be8..f4a23e889 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2015
+# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Armenian (http://www.transifex.com/mpc-hc/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
@@ -60,10 +60,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Հատկություններ"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Ոճը ըստ ծրագրայինի"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Նվագացանկ"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Ֆիլտրեր"
@@ -116,6 +124,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Կրկնելու կերպը՝ Նվագացանկը"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Երբեք (արագ է)"
@@ -318,7 +346,7 @@ msgstr "Էֆեկտ"
msgctxt "IDS_PLAYLIST_CAPTION"
msgid "Playlist"
-msgstr "Խաղացանկ"
+msgstr "Նվագացանկ"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
@@ -390,7 +418,7 @@ msgstr "Դասավորել &ըստ անվան"
msgctxt "IDS_PLAYLIST_SORTBYPATH"
msgid "Sort by &path"
-msgstr "Դասավորել ըստ &ճանապարհի"
+msgstr "Տեսակավորել ըստ &ուղու"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
@@ -414,7 +442,7 @@ msgstr "Կ&րկնօրինակել"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
-msgstr "&Ետարկել"
+msgstr "&Վերակայել"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
@@ -516,18 +544,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr ""
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -580,10 +600,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Վերարտադրիչը::Web տեսքը"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Տողագրերը::Բազան"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Մանրամասն"
@@ -604,17 +620,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Հիմնականում հասանելի են միայն YUV տեսակները, բայց դրանք ներկայացվում են ուղղակիորեն՝ առանց ձևափոխման RGB-ի։ Սա ամենաարագ եղանակն է բոլորից և միայն այստեղ է, որ համաչափորեն աշխատում է տեսանյութի \"հայելային\" արտածումը (TV-OUT-ի վրա)։"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Տեսանյութի ցուցադրումը ըստ ծրագրայինի Windows XP-ի համար։ Շատ ստաբիլ է և փոքր ինչ դանդաղ է Overlay mixer եղանակից։ Օգտագործում է DirectDraw և հնարավորության դեպքում բացվում է Overlay-ում։"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Հասանելի է տեղակայված DirectX 9-ի դեպքում։ Հնարավորությունները նույն են ինչ VMR-7 (windowed)-ում, բայց երբեք չի օգտագործում է Overlay, դրա հանար կարող է փոքր ինչ դանդաղ լինել VMR-7 (windowed)-ից։"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Նույնն է ինչ VMR-7 (windowed)-ը, բայց ունի տողագրերի արտածման MPC-HC Allocator-Presenter օժանդակիչ։ Տեսանյութի \"Հայելային\" արտապատկերումը Overlay-ում չի աշխատի։ Գույնի առումով խորհուրդ է տրվում նշել 'True Color'։"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -652,10 +660,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "RealMedia-ի սեփական ցուցադրիչը։ SMIL գրվածքները կաշխատեն։ Օգտագործում է DirectDraw և հնարավորության դեպքում բացվում է Overlay-ում։"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "RealMedia-ի արտածումը մշակվում է Allocator-Presenter օժանդակիչի միջոցով VMR-7 (renderless)-ում։"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "RealMedia-ի արտածումը մշակվում է Allocator-Presenter օժանդակիչի միջոցով VMR-9 (renderless)-ում։"
@@ -664,10 +668,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime-ի սեփական ցուցադրիչը։ Դանդաղում է կադրի չափի փոփոխման դեպքում։ Եթե Overlay-ը հասանելի չէ անցեք GDI-ի եղանակի։"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTime-ի արտածումը մշակվում է Allocator-Presenter օժանդակիչի միջոցով VMR-7 (renderless)-ում։"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTime-ի արտածումը մշակվում է Allocator-Presenter օժանդակիչի միջոցով VMR-9 (renderless)-ում։"
@@ -748,9 +748,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Դիտարկիչում ներդրված ռեսուրսը դիտելու համար դուք պետք է միացնեք վեբ միջերեսը:\n\nՕգտագործեք \"Պահպանել որպես\" bկոճակը, եթե պարզապես ցանկանում եք պահպանել տեղեկությունը:"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Բեռնել տողագրերը"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +812,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Թյուների կարգավորում"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Տողադրերը չեն բացվել կամ չի աջակցվում։"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Բացում է VTS_xx_0.ifo ֆայլերը՝ VTS_xx_x.vob ֆայլերի խումբը բեռնելու համար"
@@ -945,11 +961,11 @@ msgid "&Organize Favorites..."
msgstr "&Դասավորել ընտրյալները..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Պատահական"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr ""
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1033,7 +1049,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Նշել չափը Ամենա-Լայնէկրան,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Թաքցնել, եթե ամբողջ էկրանով է"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1221,7 +1237,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Ավելացնել պարունակող թղթապանակ"
msgctxt "IDS_HW_INDICATOR"
@@ -1424,13 +1440,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Նկարը հաջողությամբ պահպանվել է"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Բացել տողագիր"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Պահպանել տողագրերը"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,7 +1573,7 @@ msgid "Thumbnails saved successfully"
msgstr "Մանրապատկերները հաջողությամբ պահպանվեցին"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Տեսանյութ"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1566,7 +1582,7 @@ msgstr "Տեսանյութի անկ&յունը"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
-msgstr "Ետարկել կարգավորումները"
+msgstr "Վերակայել կարգավորումները"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
@@ -1602,7 +1618,7 @@ msgstr "Փոքրացնել արագությունը"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Ետարկել"
+msgstr "Վերակայել"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
@@ -1793,8 +1809,8 @@ msgid "PnS Dec Height"
msgstr "Փոքրացնել կադրի բարձրությունը"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Տողագրերը բեռնվում են, փոքր-ինչ սպասեք։"
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2072,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Կոդավորված"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Այո"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ոչ"
@@ -2126,7 +2142,7 @@ msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
-msgstr "Ավելացնել MPC-HC-ի խաղացանկին"
+msgstr "Ավելացնել MPC-HC-ի նվագացանկին"
msgctxt "IDS_OPEN_WITH_MPC"
msgid "Play with MPC-HC"
@@ -2212,14 +2228,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Նկարի լայնքը"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL-ն սխալ է"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Արձանագրության տարբերակը չի համապատասխանում։"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Համամասնություններ"
@@ -2262,7 +2270,7 @@ msgstr "Տողագրեր: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
-msgstr "Ընտրեք DVD/BD-ի ճանապարհը."
+msgstr "Ընտրեք DVD/BD-ի ուղին."
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
@@ -2313,8 +2321,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Տողագրերը բացելու համար պետք է փոխեք ռենդերերի տեսակը և վերաբացեք ֆայլը:\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Տողագրերը բացելու համար պետք է փոխեք ռենդերերի տեսակը և վերաբացեք ֆայլը:\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2333,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Համամասնություններ. %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Համամասնություններ. ստանդարտ"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2372,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Հնարավոր չէ նվագարկել"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Սխալ URL"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Մաս: "
@@ -2561,8 +2565,8 @@ msgid "Volume boost Max"
msgstr "Ձայնը՝ Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Օգտագործվում է. mpc-hc.exe \"ճանապարհը\" [փոխանցիչներ]\n\n\"ճանապարհը\"\tբեռնելու ֆայլը կամ թղթապանակը։ \n/dub \"dubname\"\tԲացել լրացուցիչ ձայնային ֆայլ\n/dubdelay \"file\"\tԲացել լրացուցիչ ձայնային ֆայլ՝ XXմվ\n\t\t(եթե ֆայլը ունի \"...DELAY XXms...\")։\n/d3dfs\t\tՍկսել Ամբողջ էկրանով՝ D3D եղանակով։\n/sub \"subname\"\tԲացել լրացուցիչ տողագրեր։\n/filter \"filtername\"\tԲացել DirectShow ֆիլտրեր գրադարանից։\n/dvd\t\tԲացել DVD եղանակով, \"ճանապարհը\" նշանակում է DVD-ի թղթապանակը։\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tԲեռնել Audio CD--ի բոլոր ֆայլերը կամ (S)VCD, \"ճանապարհը\" նշանակում է պնակի ճանապարհը։\n/device\t\tOpen the default video device\n/open\t\tՄիայն Բացել Ֆայլը։\n/play\t\tՍկսել Վերարտադրումը՝ անմիջապես բացելիս։\n/close\t\tՎերարտադրումը ավարտելուց հետո փակել (աշխատում է միայն /play փոխանցիչի հետ)։\n/shutdown\tՎերարտադրումը ավարտելուց հետո անջատել համակարգիչը։\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tԲացել Ամբողջ էկրանով եղանակով։\n/minimized\tԲացել՝ էկրանի ներքևում վիճակում։\n/new\t\tՕգտագործել վերարտադրիչի նոր օրինակ։\n/add\t\tԱվելացնել \"ճանապարհը\" խաղացանկում, կարելի է /open և /play-ի հետ համատեղ։\n/randomize\tRandomize the playlist\n/regvid\t\tԳրանցել տեսանյութի տեսակները։\n/regaud\t\tԳրանցել ձայնային տեսակները։\n/regpl\t\tՍտեղծել ֆայլերի ասոցիացումներ խաղացանկի ֆայլերի համար\n/regall\t\tՍտեղծել ֆայլերի ասոցիացումներ ֆայլերի բոլոր աջակցվող տեսակների համարs\n/unregall\t\tՀետգրանցել բոլորը։\n/start ms\t\tՎերարտադրել \"ms\" դիրքից (= միլիվայրկյաններ)։\n/startpos hh:mm:ss\tՍկսել վերարտադրումը՝ hh:mm:ss\n/fixedsize w,h\tՀաստատել պատուհանի ֆիկսված չափ։\n/monitor N\tԲացվում է N մոնիտորի վրա, որտեղ N-ը հաշվվում է 1-ից։\n/audiorenderer N\tՕգտագործել N ցուցադրիչը, որտեղ N-ը հաշվվում է 1-ից\n\t\t(նայեք \"Արտածման\" կարգավորումները)։\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tՎերականգնել հիմնական կարգավորումները\n/help /h /?\tՑուցադրել հուշում\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2586,7 +2590,7 @@ msgstr "Միաց/Անջ Տողագրերի համաժեցման վահանակը
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Միաց/Անջ Խաղացանկի վահանակը"
+msgstr "Միաց/Անջ Նվագացանկի վահանակը"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
@@ -2626,7 +2630,7 @@ msgstr "Նկարագրել պատուհանից դուրս"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "Ետարկել"
+msgstr "Վերակայել"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
@@ -2648,14 +2652,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Միացնել բոլոր ֆիլտրերը"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Թյուների կարգավորում"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Տողադրերը չեն բացվել կամ չի աջակցվում։"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Հեղինակը հայտնի չէ։"
@@ -3014,11 +3010,11 @@ msgstr "True Audio"
msgctxt "IDS_MFMT_PLS"
msgid "Playlist"
-msgstr "Խաղացանկ"
+msgstr "Նվագացանկ"
msgctxt "IDS_MFMT_BDPLS"
msgid "Blu-ray playlist"
-msgstr "Blu-ray խաղացանկ"
+msgstr "Blu-ray նվագացանկ"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
@@ -3258,7 +3254,7 @@ msgstr "Խտայնության փոքրացում"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
-msgstr "Ետարկել գույնի կարգավորումները"
+msgstr "Վերակայել գույնի կարգավորումները"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
@@ -3404,10 +3400,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "'Պահպանել նկարը' և 'Պահպանել Մանրապատկերով' հնարավորությունները չեն աշխատի Overlay Mixer տեսակոդավորման ժամանակ:\nՓոխեք տեսակոդավորման սարքը MPC-ի արտածման կարգավորումներում և կրկին բացեք ֆայլը։"
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Հնարավոր չէ միանալ տողագրերի առցանց շտեմարանին։"
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Ցանկանու՞մ եք ակտիվացնել EDL խմբագրիչը։"
@@ -3550,11 +3542,11 @@ msgstr ""
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
-msgstr "&Blu-Ray խաղացանկեր"
+msgstr "&Blu-Ray նվագացանկեր"
msgctxt "IDS_NAVIGATE_PLAYLIST"
msgid "&Playlist"
-msgstr "&Խաղացանկ"
+msgstr "&Նվագացանկ"
msgctxt "IDS_NAVIGATE_CHAPTERS"
msgid "&Chapters"
@@ -3600,3 +3592,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Բեռնել տողագրերը"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Բեռնել և Բացել"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Վերակայել"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Վեր"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Վար"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Լեզուներ"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.id.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.id.dialogs.po
index 3383e4082..a78aa724d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.id.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.id.dialogs.po
@@ -1,20 +1,23 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Andy Martino <thegamers788@gmail.com>, 2015
# Dwi Cahyono <dwexz_cie@yahoo.com>, 2015
# Hatta.z, 2014
+# Hatta.z, 2014
# yoga.mardia <made.yoga12@gmail.com>, 2014
# Reza Septyan .R. <ainofuyuumI@outlook.com>, 2014
-# zk <zamani.karmana@gmail.com>, 2015
-# zk <zamani.karmana@gmail.com>, 2015
+# yoga.mardia <made.yoga12@gmail.com>, 2014
+# zk, 2015-2016
+# zk, 2015
+# zk, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-14 14:30+0000\n"
-"Last-Translator: Dwi Cahyono <dwexz_cie@yahoo.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Indonesian (http://www.transifex.com/mpc-hc/mpc-hc/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -160,7 +163,7 @@ msgstr "Buka"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Ketik alamat berkas film atau audio (di Internet atau komputer anda) dan pemutar akan membukanya untuk anda."
+msgstr "Ketik alamat berkas film atau audio (di Internet atau komputer Anda) dan pemutar akan membukanya untuk Anda."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -195,8 +198,8 @@ msgid "About"
msgstr "Tentang"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Hak Cipta 2002-2015 lihat Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Hak Cipta 2002-2017 lihat Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -424,15 +427,19 @@ msgstr "Ulangi selamanya"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
-msgstr "waktu"
+msgstr "kali"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Mode ulang:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Setelah Pemutaran"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Keluaran"
+msgid "Default zoom"
+msgstr "Zum bawaan"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -520,7 +527,7 @@ msgstr "Tahap tundaan"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
-msgstr "md"
+msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
@@ -571,8 +578,8 @@ msgid "Warning"
msgstr "Peringatan"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Jika anda menimpa dan memfungsikan anti-alias layar penuh pada pengaturan kartu video anda, subtitel tidak akan nampak lebih baik tetapi pastinya akan meningkatkan kinerja CPU anda."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Jika Anda menimpa dan memfungsikan anti-alias layar penuh pada pengaturan kartu video Anda, subtitel tidak akan nampak lebih baik tetapi pastinya akan meningkatkan kinerja CPU Anda."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -620,7 +627,7 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Periksa dulu berkas ekstensi"
+msgstr "Periksa dulu ekstensi berkas"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -712,7 +719,7 @@ msgstr "Buang"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO1"
msgid "Prefer"
-msgstr "DIutamakan"
+msgstr "Diutamakan"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO2"
msgid "Block"
@@ -736,7 +743,7 @@ msgstr "Tambah Jenis Media..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Tambah Jenis Subtitel..."
+msgstr "Tambah Sub Jenis..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -796,7 +803,7 @@ msgstr "Tambah favorit"
msgctxt "IDD_FAVADD_IDC_STATIC"
msgid "Choose a name for your shortcut:"
-msgstr "Pilih nama untuk pintasan anda:"
+msgstr "Pilih nama untuk pintasan Anda:"
msgctxt "IDD_FAVADD_IDC_CHECK1"
msgid "Remember position"
@@ -896,7 +903,7 @@ msgstr "Peringatan"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC tidak bisa merender beberapa pin pada grafik, anda mungkin tidak memiliki kodek atau filter yang diperlukan terpasang pada sistem."
+msgstr "MPC-HC tidak bisa merender beberapa pin pada grafik, Anda mungkin tidak memiliki kodek atau filter yang diperlukan terpasang pada sistem."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
@@ -1072,7 +1079,7 @@ msgstr "Tautan saluran alfa"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Jika anda ingin menggunakan versi mandiri dari filter ini atau pengganti yang lain, nonfungsikan filter tersebut di sini."
+msgstr "Jika Anda ingin menggunakan versi mandiri dari filter ini atau pengganti yang lain, nonfungsikan filter tersebut di sini."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
@@ -1127,8 +1134,8 @@ msgid "Audio Renderer"
msgstr "Perender Audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Pengaturan VMR-7/VMR-9 (renderless) dan EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Pengaturan VMR-9 (renderless) dan EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1190,6 +1197,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Perender Subtitel"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Simpan tembolok kompilasi Shader"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Dengarkan di port:"
@@ -1235,17 +1246,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Penangan CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtitel tersedia secara daring"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Unduh && Buka"
+msgid "Download subtitles"
+msgstr "Unduh subtitel"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Ganti subtitel yang sedang dimuat"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Unduh"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Segarkan"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Batal"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opsi"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Unggah subtitel"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Unggah"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Batal"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opsi"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Simpan Sebagai..."
@@ -1276,7 +1315,7 @@ msgstr "Setel Ulang"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr "Perika pemutakhiran"
+msgstr "Periksa pemutakhiran"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
@@ -1547,16 +1586,28 @@ msgid "Reset"
msgstr "Setel Ulang"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Basis Data Daring"
+msgid "Online search, download and upload subtitles"
+msgstr "Pencarian daring, unduh dan unggah subtitel"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Otomatis mencari dan mengunduh subtitel jika tidak ada yang ditemukan secara lokal"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Lebih memilih subtitel untuk tuna rungu (jika ditandai oleh penyedia subtitel)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Abaikan berkas yang memuat kata-kata berikut:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL dari basis data subtitel daring:"
+msgid "Languages in order of preference:"
+msgstr "Bahasa dengan urutan sesuai pilihan:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Uji Coba"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Otomatis mengunggah subtitel aktif di akhir pemutaran video"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1644,7 +1695,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Pengaturan Tingkat Lanjut, jangan sunting kecuali anda tahu apa yang anda lakukan."
+msgstr "Pengaturan Tingkat Lanjut, jangan sunting kecuali Anda tahu apa yang Anda lakukan."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1736,7 +1787,7 @@ msgstr "Surel:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr "Alamat surel anda opsional dan hanya akan digunakan jika pengembang perlu untuk menghubungi anda untuk informasi lebih lanjut."
+msgstr "Alamat surel Anda opsional dan hanya akan digunakan jika pengembang perlu untuk menghubungi Anda untuk informasi lebih lanjut."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.id.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.id.menus.po
index 1e3a3ab7b..a32306984 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.id.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.id.menus.po
@@ -1,19 +1,19 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hatta.z, 2014
# Muhammad Wahyu Dwinash <Dwinash@gmail.com>, 2014
# Reza Septyan .R. <ainofuyuumI@outlook.com>, 2014
# rizqiromadhon <rizqi-romadhon@outlook.com>, 2014
-# zk <zamani.karmana@gmail.com>, 2015
-# zk <zamani.karmana@gmail.com>, 2015
+# zk, 2015-2016
+# zk, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-20 11:16+0000\n"
-"Last-Translator: zk <zamani.karmana@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Indonesian (http://www.transifex.com/mpc-hc/mpc-hc/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -69,29 +69,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Simpan Mi&niatur Gambar..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Muat Subtite&l..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Simpan S&ubtitel..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "B&asis Data Subtitel"
+msgid "S&ubtitles"
+msgstr "Subtitel"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Muat Subtitel..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Cari..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Simpan S&ubtitel..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Unggah..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Un&duh Subtitel..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Un&duh..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Unggah Subtitel..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -413,17 +409,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Sentuh Jendela Dari L&uar"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Jaga Nisbah Bidang"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Timpa Nisb&ah Bidang"
+msgid "&Aspect Ratio"
+msgstr "Nisb&ah Bidang"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Bawaan"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Bawaan (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -445,6 +437,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Asumsi Piksel Bujur&sangkar (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Koreksi Beda AR Monitor/Destop"
@@ -538,9 +534,25 @@ msgid "&Stop"
msgstr "&Hentikan"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Tahap F&rame"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Ulangi"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "S&elamanya"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Berkas"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Daftar &Putar"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Turunkan Laju"
@@ -570,7 +582,7 @@ msgid "Su&btitle Track"
msgstr "Trek Su&btitel"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Trek &Video"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.id.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.id.strings.po
index 891e38609..4e5fcdd6f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.id.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.id.strings.po
@@ -1,22 +1,30 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Asep Suparman <asep.suparman@outlook.com>, 2014
# Bahasa Fansub <joshua.siagian.hidden1234@gmail.com>, 2014
+# Dody Prayuto <dodzaguila@gmail.com>, 2016
+# Dody Prayuto <dodzaguila@gmail.com>, 2016
+# DyarPerdana <hysteria27@gmail.com>, 2014
# DyarPerdana <hysteria27@gmail.com>, 2014
# yoga.mardia <made.yoga12@gmail.com>, 2014
# Mulia Arifandi Nasution, 2014
+# Mulia Arifandi Nasution, 2014
# Reza Septyan .R. <ainofuyuumI@outlook.com>, 2014
# rizqiromadhon <rizqi-romadhon@outlook.com>, 2014
-# zk <zamani.karmana@gmail.com>, 2015
-# zk <zamani.karmana@gmail.com>, 2015
+# rizqiromadhon <rizqi-romadhon@outlook.com>, 2014
+# yoga.mardia <made.yoga12@gmail.com>, 2014
+# zk, 2015-2016
+# zk, 2015
+# zk, 2015
+# zk, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-20 05:19+0000\n"
+"Last-Translator: Rachman <blackarcher21@yahoo.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/mpc-hc/mpc-hc/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -68,10 +76,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Properti"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Berkas"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Gaya Ba&waan"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Daftar Putar"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Berkas"
@@ -124,6 +140,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Jika target render tidak ditentukan, subtitel SSA/ASS akan dirender relatif pada gambar video sedangkan teks subtitel lainnya akan dirender relatif pada jendela aplikasi."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Mode Ulang: Daftar Putar"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Mode Ulang: Berkas"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Ulangi Selamanya: Nyala"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Ulangi Selamanya: Mati"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Ulangi Selamanya"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Tidak Pernah (pendekatan tercepat)"
@@ -138,7 +174,7 @@ msgstr "Selalu (pilihan terlambat)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Tidak didukung oleh sebagaian perangkat. Dua dekoder video selalu tersedia di grafik filter."
+msgstr "Tidak didukung oleh sebagian perangkat. Dua dekoder video selalu tersedia di grafik filter."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
@@ -482,7 +518,7 @@ msgstr "Bermacam-lainnya"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr "InfoMedia"
+msgstr "MediaInfo"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -510,7 +546,7 @@ msgstr "Versi baru dari pustaka ikon"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
-msgstr "Apakah anda ingin mengasosiasi ulang ikon?"
+msgstr "Apakah Anda ingin mengasosiasi ulang ikon?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
@@ -524,18 +560,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Perender Pengadon Lapisan"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -588,10 +616,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Pemutar::Antarmuka Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtitel::Basis Data"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detail"
@@ -606,23 +630,15 @@ msgstr "Filter perender video bawaan untuk DirectShow. Yang lainnya akan kembali
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Ini perender bawaan dari Windows 9x/me/2k. Tergantung dari keterlihatan jendela video dan kemampuan kartu video anda, perender akan beralih antara mode render GDI, DirectDraw, Overlay secara otomatis."
+msgstr "Ini perender bawaan dari Windows 9x/me/2k. Tergantung dari keterlihatan jendela video dan kemampuan kartu video Anda, perender akan beralih antara mode render GDI, DirectDraw, Overlay secara otomatis."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Selalu render dalam overlay. Umumnya hanya format YUV yang diizinkan, tetapi mereka disajikan secara langsung tanpa konversi warna ke RGB. Ini metode render yang tercepat dari semuanya dan satu-satunya yang anda bisa yakin tentang pengaktifan pencerminan video layar penuh ke tv-out."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Perender bawaan Windows XP. Sangat stabil dan sedikit lebih lambat daripada pengadon Overlay. Menggunakan DirectDraw dan berjalan dalam Overlay jika memungkinkan."
+msgstr "Selalu render dalam overlay. Umumnya hanya format YUV yang diizinkan, tetapi mereka disajikan secara langsung tanpa konversi warna ke RGB. Ini metode perenderan tercepat dari semuanya dan satu-satunya yang Anda bisa andalkan tentang pengaktifan pencerminan video layar penuh ke tv-out."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Hanya tersedia jika anda memiliki DirectX 9 terpasang. Memiliki kemampuan yang sama seperti VMR-7 (windowed) tetapi tidak pernah menggunakan render Overlay dan oleh karena itu mungkin sedikit lebih lambat dari VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Sama seperti VMR-7 (windowed), tetapi dengan pengaya Allocator-Presenter dari MPC-HC untuk subtitel. Pencerminan video overlay TIDAK AKAN bekerja. Warna destop \"True Color\" direkomendasikan."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Hanya tersedia jika DirectX 9 terpasang di sistem Anda. Sangat stabil, tetapi tidak akan pernah menggunakan perenderan Overlay dan karena itu mungkin sedikit lebih lambat dari pengadon Overlay."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -634,7 +650,7 @@ msgstr "Sama seperti VMR-9 (renderless), tetapi menggunakan pengubah ukuran bicu
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Sambung ke segala jenis media serupa video dan akan mengirim sampel masuk tidak ke manapun. Gunakan ketika anda tidak memerlukan tampilan video dan ingin menghemat kinerja CPU."
+msgstr "Sambung ke segala jenis media serupa video dan tidak akan mengirimkan sampel masuk ke manapun. Gunakan ketika Anda tidak memerlukan tampilan video dan ingin menghemat kinerja CPU."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
@@ -660,21 +676,13 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Perender RealMedia. Skrip SMIL akan bekerja, tetapi tanpa interaksi. Menggunakan DirectDraw dan berjalan dalam Overlay jika memungkinkan."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Keluaran dari mesin RealMedia yang dirender oleh Allocator-Presenter berbasis DX7 dari VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Keluaran dari mesin RealMedia yang dirender oleh Allocator-Presenter berbasis DX9 dari VMR-9 (renderless)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "Perender QuickTime. Dapat menjadi sedikit pelan ketika area video berubah ukuran atau sebagian tertutup jendela lainnya. Ketika Overlay tidak tersedia kemungkinan akan kembali ke GDI."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Keluaran mesin QuickTime yang dirender oleh Allocator-Presenter berbasis DX7 dari VMR-7 (renderless)."
+msgstr "Perender QuickTime. Bisa menjadi sedikit pelan ketika area video berubah ukuran atau sebagian tertutup jendela lainnya. Ketika Overlay tidak tersedia kemungkinan akan kembali ke GDI."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -754,11 +762,15 @@ msgstr "Jenis MIME"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Dalam rangka melihat sumber daya tertanam dalam peramban anda, anda harus memfungsikan antarmuka web.\n\nGunakan tombol \"Simpan Sebagai\" jika anda hanya ingin menyimpan informasinya."
+msgstr "Dalam rangka melihat sumber daya tertanam dalam peramban Anda, Anda harus memfungsikan antarmuka web.\n\nGunakan tombol \"Simpan Sebagai\" jika Anda hanya ingin menyimpan informasinya."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Unduh subtitel"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Unduh Subtitel..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Unggah Subtitel..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -790,7 +802,7 @@ msgstr "Tidak bisa menemukan semua volume arsip"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Permukaan video akan dialokasikan sebagai tekstur tetapi fungsi 2d masih akan digunakan untuk menyalin dan meregangkannya pada backbuffer. Membutuhkan kartu video yang dapat mengalokasikan 32-bit, RGBA, tekstur ukuran non-power-of-two dan paling tidak di dalam resolusi video tesebut."
+msgstr "Permukaan video akan dialokasikan sebagai tekstur tetapi fungsi 2d masih akan digunakan untuk menyalin dan meregangkannya pada backbuffer. Membutuhkan kartu video yang bisa mengalokasikan 32-bit, RGBA, tekstur ukuran non-power-of-two dan paling tidak di dalam resolusi video tesebut."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -816,6 +828,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Mengurangi tearing dengan melewati seluruhnya VSync bawaan dalam D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Pindaian pelaras"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Subtitel tidak dimuat atau perender tidak didukung."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Simpan kompilasi shader di AppData lokal untuk mempercepat waktu muat."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Buka VTS_xx_0.ifo untuk memuat berkas VTS_xx_x.vob dalam satu bagian"
@@ -826,11 +850,11 @@ msgstr "Berbasis RARFileSource, tidak mendukung berkas yang dimampatkan"
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr "Gunakan LAV Filters"
+msgstr "Menggunakan LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Menggunakan LAV Filters. Dinonfungsikan secara bawaan karena filter Microsoft biasanya lebih stabil untuk format tersebut.\nJika anda memilih untuk menggunakan filter internal, fungsikan filter baik untuk sumber dan pengawakodean untuk mendapatkan pengalaman pemutaran yang lebih baik."
+msgstr "Menggunakan LAV Filters. Dinonfungsikan secara bawaan karena filter Microsoft biasanya lebih stabil untuk format tersebut.\nJika Anda memilih untuk menggunakan filter internal, fungsikan keduanya untuk sumber dan pengawakodean untuk mendapatkan pengalaman pemutaran yang lebih baik."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -846,7 +870,7 @@ msgstr "Jika target render tidak ditetapkan, hal tersebut akan diturunkan dari g
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Nonfungsikan animasi subtitel. Mengaktifkan opsi ini kan memperkecil penggunaan CPU. Anda dapat menggunakan ini jika anda mengalami subtitel yang berkejap."
+msgstr "Nonfungsikan animasi subtitel. Mengaktifkan opsi ini kan memperkecil penggunaan CPU. Anda bisa menggunakan ini jika Anda mengalami subtitel yang berkejap."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
@@ -934,7 +958,7 @@ msgstr "Na&ikkan"
msgctxt "IDS_OPTIONS_CAPTION"
msgid "Options"
-msgstr "Opsi"
+msgstr "Pilihan"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
@@ -946,18 +970,18 @@ msgstr "Awakutu Sha&der..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
-msgstr "T&ambah ke Favorit..."
+msgstr "&Tambah ke Favorit..."
msgctxt "IDS_FAVORITES_ORGANIZE"
msgid "&Organize Favorites..."
-msgstr "Kel&ola Favorit..."
+msgstr "&Kelola Favorit..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Karau"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Buka lokasi berkas"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -982,7 +1006,7 @@ msgstr "&Bersihkan daftar"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "Apakah anda yakin ingin menghapus daftar berkas baru-baru ini?"
+msgstr "Apakah Anda yakin ingin menghapus daftar berkas baru-baru ini?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
@@ -1041,7 +1065,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zum ke Layar Ultra Lebar,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Sembunyikan pada Layar Penuh"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1229,7 +1253,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Tambah folder bermuatan"
msgctxt "IDS_HW_INDICATOR"
@@ -1254,7 +1278,7 @@ msgstr "Masukkan kredensial server"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
-msgstr "Masukkan kredensial anda untuk menyambung"
+msgstr "Masukkan kredensial Anda untuk menyambung"
msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
msgid "Save custom style"
@@ -1358,7 +1382,7 @@ msgstr "Hapus semua"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr "Apakah anda yakin akan menghapus semua saluran dari daftar?"
+msgstr "Apakah Anda yakin akan menghapus semua saluran dari daftar?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
@@ -1394,7 +1418,7 @@ msgstr "Setelah Pemutaran: Tutup"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "MPC-HC menemukan masalah saat inisialisasi. Dengan bantuan anda kami mungkin bisa memperbaiki masalah ini.\n\nApakah anda ingin melaporkannya?"
+msgstr "MPC-HC menemukan masalah saat inisialisasi. Dengan bantuan Anda kami mungkin bisa memperbaiki masalah ini.\n\nApakah Anda ingin melaporkannya?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
@@ -1432,13 +1456,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Gambar berhasil disimpan"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Muat Subtitel"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Muat Subtitel..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Simpan Subtitel"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Simpan Subtitel..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1522,7 +1546,7 @@ msgstr "Keyframe terdekat"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC menemukan masalah saat inisialisasi. Pemutaran DVD tidak akan bekerja dengan benar. Ini mungkin disebabkan oleh beberapa inkompatibilitas dengan perkakas keamanan tertentu.\n\nApakah anda ingin melaporkan masalah ini?"
+msgstr "MPC-HC menemukan masalah saat inisialisasi. Pemutaran DVD tidak akan bekerja dengan benar. Ini mungkin disebabkan oleh beberapa inkompatibilitas dengan perkakas keamanan tertentu.\n\nApakah Anda ingin melaporkan masalah ini?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1565,7 +1589,7 @@ msgid "Thumbnails saved successfully"
msgstr "Gambar mini berhasil disimpan"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Trek &Video"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1578,7 +1602,7 @@ msgstr "Setel ulang pengaturan"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Apakah anda yakin ingin memulihkan pengaturan MPC-HC ke nilai bawaan?\nMohon perhatian bahwa SEMUA pengaturan anda saat ini akan hilang!"
+msgstr "Apakah Anda yakin ingin memulihkan pengaturan MPC-HC ke nilai bawaan?\nMohon perhatian bahwa SEMUA pengaturan Anda saat ini akan hilang!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1590,7 +1614,7 @@ msgstr "Ekspor pengaturan"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Beberapa perubahan belum tersimpan.\nApakah anda ingin meyimpannya sebelum mengekspornya?"
+msgstr "Beberapa perubahan belum tersimpan.\nApakah Anda ingin meyimpannya sebelum mengekspornya?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
@@ -1598,7 +1622,7 @@ msgstr "Pengaturan telah berhasil diekspor."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr "Ekspor gagal! Hal ini bisa terjadi jika anda tidak memiliki hak yang benar."
+msgstr "Ekspor gagal! Hal ini bisa terjadi jika Anda tidak memiliki hak yang dibutuhkan."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
@@ -1801,8 +1825,8 @@ msgid "PnS Dec Height"
msgstr "PnS Krngi Tinggi"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Mengunduh subtitel, mohon tunggu."
+msgid "Downloading [%s] \"%s\""
+msgstr "Mengunduh [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1818,7 +1842,7 @@ msgstr "%d subtitel tersedia."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Apakah anda ingin memeriksa secara berkala pemutakhiran MPC-HC?\n\nFitur ini dapat dinonfungsikan nanti dari halaman opsi Bermacam-lainnya."
+msgstr "Apakah Anda ingin memeriksa secara berkala pemutakhiran MPC-HC?\n\nFitur ini dapat dinonfungsikan nanti dari halaman opsi Bermacam-lainnya."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2064,11 +2088,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Terenkripsi"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ya"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Tidak"
@@ -2194,7 +2218,7 @@ msgstr "DVD: Wilayah Dekoder dan Cakram Tidak Kompatibel"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Opsi ini didesain untuk menghindari tearing. Namun, ini juga mencegah MPC-HC menampilkan menu konteks dan kotak dialog lainnya selama pemutaran.\n\nApakah anda benar-benar ingin mengaktifkan opsi ini?"
+msgstr "Opsi ini didesain untuk menghindari tearing. Namun, ini juga mencegah MPC-HC menampilkan menu konteks dan kotak dialog lainnya selama pemutaran.\n\nApakah Anda benar-benar ingin mengaktifkan opsi ini?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2220,14 +2244,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Lebar gambar"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL sepertinya benar!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Versi protokol tidak sesuai, mohon mutakhirkan pemutar anda atau pilih alamat yang berbeda!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Nisbah Bidang"
@@ -2321,8 +2337,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Gambar mini akan menjadi terlalu kecil, tidak mungkin membuat berkas tersebut.\n\nCoba untuk mengurangi jumlah gambar mini atau menambah ukuran total."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Untuk memuat subtitel anda harus mengubah jenis perender video dan membuka ulang berkas.\n- DirectShow: VMR-7/VMR-9 (nirrender), EVR (CP), Sync, madVR atau Haali\n- RealMedia: Perender spesial untuk RealMedia, atau buka melalui DirectShow\n- QuickTime: Perender DX7 atau DX9 untuk QuickTime\n- ShockWave: t/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Untuk memuat subtitel Anda harus mengubah jenis perender video dan membuka ulang berkas.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR atau Haali\n- RealMedia: Perender spesial untuk RealMedia, atau buka melalui DirectShow\n- QuickTime: Perender DX7 atau DX9 untuk QuickTime\n- ShockWave: t/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2333,8 +2349,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Nisbah Bidang: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Nisbah Bidang: Bawaan"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Nisbah Bidang: Bawaan (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2372,10 +2388,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Gagal merender berkas"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL buruk, tidak bisa menemukan basis data subtitel!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Bab:"
@@ -2569,8 +2581,8 @@ msgid "Volume boost Max"
msgstr "Penggalak volume Maks"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Penggunaan: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tBerkas atau direktori utama yang akan dimuat (wildcard\n\t\tdiperbolehkan, \"-\" menandakan masukan standar)\n/dub \"dubname\"\tMuat berkas audio tambahan\n/dubdelay \"file\"\tMuat berkas audio tambahan dengan tundaan XXms (jika\n\t\tberkas mengandung \"...DELAY XXms...\")\n/d3dfs\t\tMulai merender dalam mode layar penuh D3D\n/sub \"subname\"\tMuat berkas subtitel tambahan\n/filter \"filtername\"\tMuat filter DirectShow dari pustaka tautan\n\t\tdinamis (wildcard diperbolehkan)\n/dvd\t\tBerjalan dalam mode dvd, \"pathname\" berarti folder\n\t\tdvd (opsional)\n/dvdpos T#C\tMulai pemutaran pada judul T, babak C\n/dvdpos T#hh:mm\tMulai pemutaran pada judul T, posisi hh:mm:ss\n/cd\t\tMuat semua trek cd audio atau (s)vcd,\n\t\t\"pathname\" berarti jalur penggerak (opsional)\n/device\t\tBuka perangkat video bawaan\n/open\t\tBuka berkas, jangan otomatis memulai pemutaran\n/play\t\tMulai memutar berkas segera setelah pemutar\n\t\tdiluncurkan\n/close\t\tTutup pemutar setelah pemutaran (hanya bekerja saat\n\t\tdigunakan dengan /play)\n/shutdown\tMatikan sistem operasi setelah pemutaran\n/standby\t\tSistem operasi dalam mode standby mode setelah pemutaran\n/hibernate\tHibernasi sistem operasi setelah pemutaran\n/logoff\t\tKeluar setelah pemutaran\n/lock\t\tKunci setelah pemutaran\n/monitoroff\tMatikan monitor setelah pemutaran\n/playnext\t\tBuka berkas berikutnya dalam folder setelah pemutaran\n/fullscreen\tMulai dalam mode layar penuh\n/minimized\tMulai dalam mode diminimalkan\n/new\t\tGunakan pemutar baru\n/add\t\tTambahkan \"pathname\" ke daftar putar, bisa dikombinasikan\n\t\tdengan /open dan /play\n/randomize\tAcak daftar putar\n/regvid\t\tTerapkan asosiasi berkas untuk berkas video\n/regaud\t\tTerapkan asosiasi berkas untuk berkas audio\n/regpl\t\tTerapkan asosiasi berkas untuk berkas daftar putar\n/regall\t\tTerapkan asosiasi berkas untuk semua berkas yang didukung\n/unregall\t\tBuang semua asosiasi berkas\n/start ms\t\tMulai memutar pada \"ms\" (= milidetik)\n/startpos hh:mm:ss\tMulai memutar pada posisi hh:mm:ss\n/fixedsize w,h\tTetapkan ukuran tetap jendela\n/monitor N\tJalankan pemutar pada monitor N, dan N dimulai dari 1\n/audiorenderer N\tJalankan dengan perender audio N, dan N dimulai dari 1\n\t\t(lihat pengaturan \"Keluaran\")\n/shaderpreset \"Pr\"\tJalankan menggunakan prasetel shader \"Pr\"\n/pns \"name\"\tTetapkan nama prasetel Pan&Scan untuk digunakan\n/iconsassoc\tAsosiasi ulang format ikon\n/nofocus\t\tBuka MPC-HC di latar belakang\n/webport N\tJalankan antarmuka web pada port yang ditetapkan\n/debug\t\tTampilkan informasi awakutu di OSD\n/nocrashreporter\tNonfungsikan pelapor tumbukan\n/slave \"hWnd\"\tGunakan MPC-HC sebagai slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tKembalikan ke pengaturan bawaan\n/help /h /?\tTampilkan bantuan tentang parameter perintah baris\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Penggunaan: mpc-hc.exe \"pathname\" [saklar]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2656,17 +2668,9 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Fungsikan semua filter"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Pindaian pelaras"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtitel tidak dimuat atau perender tidak didukung."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
-msgstr "Pengembang tidak dikenal. Hubungi kami jika anda membuat logo ini!"
+msgstr "Pengembang tidak dikenal. Hubungi kami jika Anda membuat logo ini!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
@@ -3274,15 +3278,15 @@ msgstr "\nAnda sudah menggunakan versi stabil terbaru."
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Versi anda saat ini adalah v%s.\n\nVersi stabil terakhir adalah v%s."
+msgstr "Versi Anda saat ini adalah v%s.\n\nVersi stabil terakhir adalah v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s tersedia. Anda menggunakan v%s.\n\nApakah anda ingin mengunjungi situs web MPC-HC untuk mengunduhnya?"
+msgstr "MPC-HC v%s tersedia. Anda menggunakan v%s.\n\nApakah Anda ingin mengunjungi situs web MPC-HC untuk mengunduhnya?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Server pemutakhiran tidak ditemukan.\n\nMohon periksa sambungan internet anda atau coba lagi nanti."
+msgstr "Server pemutakhiran tidak ditemukan.\n\nMohon periksa sambungan internet Anda atau coba lagi nanti."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3412,13 +3416,9 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Fungsi \"Simpan Gambar\" dan \"Simpan Gambar Mini\" tidak bisa digunakan dengan perender video Pengadon Overlay.\n\nUbah perender video di dalam opsi keluaran MPC-HC dan buka ulang berkasnya."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Tidak bisa menyambung ke basis data subtitel daring."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "Apakah anda ingin mengaktifkan penyunting EDL?"
+msgstr "Apakah Anda ingin mengaktifkan penyunting EDL?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
@@ -3550,11 +3550,11 @@ msgstr "Kecerahan naik"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Masukkan bahasa pilihan anda disini.\nSebagai contoh, ketik: \"eng jap swe\""
+msgstr "Masukkan bahasa pilihan Anda disini.\nSebagai contoh, ketik: \"eng jap swe\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Spliter eksternal bisa memiliki preferensi pilihan bahasa mereka sendiri dan perilaku bawaan MPC-HC adalah tidak mengubah pilihan awal mereka.\nFungsikan opsi ini jika anda ingin MPC-HC mengontrol splter eksternal."
+msgstr "Spliter eksternal bisa memiliki preferensi pilihan bahasa mereka sendiri dan perilaku bawaan MPC-HC adalah tidak mengubah pilihan awal mereka.\nFungsikan opsi ini jika Anda ingin MPC-HC mengontrol splter eksternal."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3608,3 +3608,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Penyedia"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Tuna Rungu"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Unduhan"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Nilai"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Pencarian subtitel daring gagal."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Pencarian subtitel daring dibatalkan."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Pencarian subtitel daring selesai, menemukan %d subtitel."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Pencarian subtitel daring selesai, subtitel tidak ditemukan."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Unduh subtitel"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Mencari subtitel secara daring, mohon tunggu..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Membatalkan pencarian subtitel daring..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nama Pengguna"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Siap..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Belum diimplementasikan."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Mengunggah..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Subtitel berhasil diunggah."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Mengunggah subtitel gagal."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Mengunggah subtitel dibatalkan."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Subtitel sudah ada."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Mengunggah subtitel, mohon tunggu..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Pengunggahan selesai."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Pengunggahan dibatalkan."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Penggunggahan gagal."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Unduh && Buka"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Persiapan"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Setel Ulang"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Pindah ke Atas"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Pindah ke Bawah"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Buka Url"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Bahasa"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "GALAT: Tidak bisa tersambung ke jaringan internet."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Masukkan kredensial situs web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Masukkan kredensial Anda untuk menyambung ke:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Nisbah Bidang: Asumsi Piksel Bujursangkar (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Terunduh [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Unggah subtitel"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Apakah Anda yakin ingin mengunggah berkas subtitel \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Mengambil bahasa yang didukung..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Gagal masuk ke \"%S\" dengan nama pengguna \"%S\".\n\nHarap masukkan nama pengguna dan sandi yang benar atau setel ulang kredensial untuk masuk sebagai anonim."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Pencarian dan pengunduhan otomatis akan dinonaktifkan untuk semua berkas media yang jalur berkasnya memuat semua atau salah satu pola kata berikut ini.\nContoh, ketik: \"pribadi\\video|kerja\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\tBerkas atau direktori utama untuk dimuat\n\t\t(wildcard diperbolehkan, \"-\" menunjukkan input standar)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tMuat berkas audio tambahan"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tMuat berkas audio tambahan digeser dengan XXms\n\t\t(Jika berkas berisi \"...TUNDAAN XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tMulai render dalam mode layar penuh D3D"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tMuat berkas subtitel tambahan"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tMuat filter DirectShow dari sebuah pustaka link dinamis (wildcard diperbolehkan)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tJalankan pada mode DVD, \"pathname\" berarti folder DVD (pilihan)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tMulai pemutaran pada judul T, bab C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tMulai pemutaran pada judul T, posisi P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tMuat semua trek dari CD or (S)VCD audio,\n\t\t\"pathname\" berarti jalur disk (pilihan)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tBuka perangkat video bawaan"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tBuka berkas, tidak otomatis memulai pemutaran"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tMulai memutar berkas segera ketika pemutar diluncurkan"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tTutup pemutar setelah pemutaran (hanya bekerja ketika digunakan dengan /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tShutdown sistem operasi setelah pemutaran"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tMenempatkan sistem operasi dalam mode standby setelah pemutaran"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHibernate sistem operasi setelah pemutaran"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tLog off setelah pemutaran"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tKunci workstation setelah pemutaran"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tMatikan monitor setelah pemutaran"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tBuka berkas selanjutnya dalam folder setelah pemutaran"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tMulai dalam mode layar penuh"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tMulai dalam mode minimized"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tGunakan instansi baru dari pemutar"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tTambahkan \"pathname\" ke daftar putar, dapat dikombinasikan dengan /open dan /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tAcak daftar putar"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tBuat asosiasi berkas untuk berkas video"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tBuat asosiasi berkas untuk berkas audio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tBuat asosiasi berkas untuk berkas daftar putar"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tBuat asosiasi berkas untuk semua tipe berkas yang didukung"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tHapus semua asosiasi berkas"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tMulai memutar pada \"ms\" (= milidetik)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tMulai memutar pada posisi hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tSetel sebuah ukuran tetap jendela"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tMulai pemutar pada monitor N, dimana N dimulai dari 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tMulai menggunakan perender audio N, dimana N dimulai dari 1 (lihat pengaturan \"Output\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tMulai menggunakan prasetel shader \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tTetapkan nama prasetel Geser&Pindai untuk digunakan"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tSatukan ulang ikon format"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tBuka MPC-HC pada latar belakang"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tMulai antarmuka web pada port yang ditentukan"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tTampilkan informasi debug di OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tMatikan pelapor kerusakan"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tGunakan MPC-HC sebagai slave"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tSetel indeks dari GPU yang digunakan untuk hardware decoding.\n\t\tHanya tersedia untuk CUVID and DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tKembalikan pengaturan bawaan"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tTampilkan bantuan untuk switch perintah baris"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Nilai dari skor subtitel yang akan terunduh otomatis. Nilai yang lebih tinggi berarti semakin cocok subtitel yang dapat digunakan, semakin rendah nilainya kemungkinan subtitel untuk cocok juga rendah, tetapi sesungguhnya tidak ada nilai yang benar-benar sempurna. Pilihlah yang sesuai bagi anda."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Tundaan Audio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Ukuran bilah alat bawaan dalam piksel."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Gunakan bilah alat lawas bukan yang tervektorisasi yang baru."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ar.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ar.strings.po
index 6ba77f8a2..ad08a3480 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ar.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ar.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Ahmad Abd-Elghany <tolpa1@gmail.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.be.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.be.strings.po
index 2303bf223..01a214946 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.be.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.be.strings.po
@@ -1,27 +1,28 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Yauhen Bugamol <haxycgm@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-07 08:49+0000\n"
-"Last-Translator: JellyFrog\n"
-"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2016-10-23 22:19+0000\n"
+"Last-Translator: Yauhen Bugamol <haxycgm@gmail.com>\n"
+"Language-Team: Belarusian (http://www.transifex.com/mpc-hc/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Зараз будзе ўстаноўлена [name].\n\nРэкамендуецца закрыць усе прыкладанні перад працягам."
+msgstr "Зараз на ваш камп'ютар будзе ўсталявана праграма [name].\n\nПерш чым працягнуць, рэкамендуецца закрыць усе астатнія праграмы."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] патрабуецца Windows XP Service Pack 3 або навей."
+msgstr "Для запуску [name] патрабуецца Windows XP SP3 або навейшая."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -33,19 +34,19 @@ msgstr "Пераклады"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Ці хочаце таксама выдаліць налады MPC-HC?\n\nКалі вы збіраецеся зноў усталяваць MPC-HC, тады іх можна пакінуць."
+msgstr "Ці выдаліць налады MPC-HC?\n\nКалі вы збіраецеся ўсталяваць MPC-HC зноў, выдаляць іх не трэба."
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Гэтая будова MPC-HC вымагае працэсар, здольны выконваць інструкцыі SSE.\n\nВаш працэсар гэтага не ўмее."
+msgstr "Гэта зборка MPC-HC патрабуе працэсар, з падтрымкай SSE-інструкцый.\n\nВаш працэсар не адпавядае патрабаванням."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Гэтая будова MPC-HC вымагае працэсар, здольны выконваць інструкцыі SSE2.\n\nВаш працэсар гэтага не ўмее."
+msgstr "Гэта зборка MPC-HC патрабуе працэсар, з падтрымкай SSE2-інструкцый.\n\nВаш працэсар не адпавядае патрабаванням."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr ""
+msgstr "Наведаць нашу Wiki-старонку каб спампаваць выявы для панэлі навігацыі"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -53,7 +54,7 @@ msgstr "Для ўсіх карыстальнікаў"
msgctxt "CustomMessages_tsk_CurrentUser"
msgid "For the current user only"
-msgstr "Толькі для дзейнага карыстальніка"
+msgstr "Толькі для гэтага карыстальніка"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
@@ -61,17 +62,17 @@ msgstr "Іншыя заданні:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Вярнуць налады"
+msgstr "Скінуць налады"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
-msgstr "Перадвызначанае ўсталяванне"
+msgstr "Усталяванне па змаўчанні"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
-msgstr "Адмысловае ўсталяванне"
+msgstr "Адвольнае ўсталяванне"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
-msgstr "Спіс зменаў"
+msgstr "Праглядзець спіс зменаў"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bn.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bn.strings.po
index 5f035b02a..e8a0a38e4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bn.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bn.strings.po
@@ -1,8 +1,8 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Mehedi Hussain, 2014
+# Mehzad Galib, 2014
# Mehedi Hussain, 2014
# mehzad, 2014
# Underground78, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bs_BA.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bs_BA.strings.po
new file mode 100644
index 000000000..6a1f78b53
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.bs_BA.strings.po
@@ -0,0 +1,79 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2017 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Samir Gutić <amicussamir@amicus.ba>, 2016
+# smajo burek <smajo@mail.com>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2016-04-29 17:30+0000\n"
+"Last-Translator: smajo burek <smajo@mail.com>\n"
+"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/mpc-hc/mpc-hc/language/bs_BA/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bs_BA\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "Messages_WelcomeLabel2"
+msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
+msgstr "Ovo će instalirati [name] na vaš računar.\n\nPreporučljivo je da, prije nastavka, zatvorite sve ostale programe."
+
+msgctxt "Messages_WinVersionTooLowError"
+msgid "[name] requires Windows XP Service Pack 3 or newer to run."
+msgstr "[name] za pokretanje zahtijeva Windows XP Service Pack 3 ili noviji."
+
+msgctxt "CustomMessages_comp_mpciconlib"
+msgid "Icon Library"
+msgstr "Biblioteka Ikonica"
+
+msgctxt "CustomMessages_comp_mpcresources"
+msgid "Translations"
+msgstr "Prijevodi"
+
+msgctxt "CustomMessages_msg_DeleteSettings"
+msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
+msgstr "Da li želite izbrisati i MPC-HC podešenja?\n\nAko planirate ponovo instalirati MPC-HC onda ih ne trebate brisati."
+
+msgctxt "CustomMessages_msg_simd_sse"
+msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
+msgstr "Ova verzija MPC-HC zahtijeva CPU sa SSE podrškom.\n\nVaš CPU nema te mogućnosti."
+
+msgctxt "CustomMessages_msg_simd_sse2"
+msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
+msgstr "Ova verzija MPC-HC zahtijeva CPU sa SSE2 podrškom.\n\nVaš CPU nema te mogućnosti."
+
+msgctxt "CustomMessages_run_DownloadToolbarImages"
+msgid "Visit our Wiki page to download toolbar images"
+msgstr "Posjetite našu Wiki stranicu da preuzmete slike alatne trake"
+
+msgctxt "CustomMessages_tsk_AllUsers"
+msgid "For all users"
+msgstr "Za sve korisnike"
+
+msgctxt "CustomMessages_tsk_CurrentUser"
+msgid "For the current user only"
+msgstr "Samo za trenutnog korisnika"
+
+msgctxt "CustomMessages_tsk_Other"
+msgid "Other tasks:"
+msgstr "Drugi zadaci:"
+
+msgctxt "CustomMessages_tsk_ResetSettings"
+msgid "Reset settings"
+msgstr "Resetuj podešavanja"
+
+msgctxt "CustomMessages_types_DefaultInstallation"
+msgid "Default installation"
+msgstr "Podrazumijevana instalacija"
+
+msgctxt "CustomMessages_types_CustomInstallation"
+msgid "Custom installation"
+msgstr "Instalacija po želji"
+
+msgctxt "CustomMessages_ViewChangelog"
+msgid "View Changelog"
+msgstr "Pogledaj listu izmjena"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
index 1e9aa7229..d4f90b313 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014
-# Adolfo Jayme Barrientos, 2014
-# papu <papu@openmailbox.org>, 2014-2015
-# papu <papu@openmailbox.org>, 2014
+# Adolfo Jayme-Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2014
+# papu, 2014-2016
+# Roger <roger.espolet@gmail.com>, 2016
+# Roger <roger.espolet@gmail.com>, 2016
+# papu, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2016-11-12 11:35+0000\n"
+"Last-Translator: Roger <roger.espolet@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mpc-hc/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,11 +23,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Aquest auxiliar instal·larà el [name] al vostre ordinador\n\nEs recomana tancar totes les aplicacions abans de continuar."
+msgstr "Aquest auxiliar instal·larà el [name] al vostre ordinador.\n\nSe recomana tancar totes les aplicacions abans de continuar."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] cal Windows XP Service Pack 3 o superior per que funcioni."
+msgstr "[name] requereix Windows XP Service Pack 3 o superior perquè funcioni."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -37,19 +39,19 @@ msgstr "Traduccions"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Voleu suprimir les preferències del MPC-HC?\n\nSi planegeu instal·lar-ho un altre cop no cal eliminar-les."
+msgstr "Voleu suprimir les preferències de l'MPC-HC?\n\nSi planegeu tornar-lo a instal·lar no cal que les elimineu."
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Aquesta versió de MPC-HC necessita una CPU amb suport d'extensions SSE.\n\nLa teva CPU no cumpleix aquestes característiques."
+msgstr "Aquesta versió de l'MPC-HC necessita una CPU amb suport d'extensions SSE.\n\nLa vostra CPU no compleix aquesta característica."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Aquesta versió de MPC-HC requereix una CPU amb suport d'extensions SSE2.\n\nLa teva CPU no cumpleix aquestes característiques."
+msgstr "Aquesta versió de l'MPC-HC requereix una CPU amb suport d'extensions SSE2.\n\nLa vostra CPU no compleix aquesta característica."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Visita la nostra pàgina del Wiki per descarregar imatges per a la barra d'eines"
+msgstr "Visita la nostra pàgina Wiki per descarregar imatges de la barra d'eines"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -65,7 +67,7 @@ msgstr "Altres tasques:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Reiniciar les preferències"
+msgstr "Reinicia la configuració"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
@@ -77,5 +79,5 @@ msgstr "Instal·lació personalitzada"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
-msgstr "Veure el Registre de canvis"
+msgstr "Visualitza el Registre de canvis"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.cs.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.cs.strings.po
index 5ecdb3b54..f4371a801 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.cs.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.cs.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# khagaroth, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.da.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.da.strings.po
index f1a036148..175337218 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.da.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.da.strings.po
@@ -1,15 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jatyrael <cbf_x@hotmail.com>, 2014
-# scootergrisen, 2015
+# NemoHJ <nemohj@gmail.com>, 2016
+# scootergrisen, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2016-11-30 23:47+0000\n"
+"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/mpc-hc/mpc-hc/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,15 +40,15 @@ msgstr "Vil du også slette MPC-HC indstillinger?\n\nHvis du har tænkt dig at i
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Denne version af MPC-HC kræver en CPU der understøtter SSE-udvidelsen.\n\nDin CPU understøtter det ikke."
+msgstr "Denne version af MPC-HC kræver en CPU der understøtter SSE CPU-anvisninger.\n\nDin CPU understøtter det ikke."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Denne version af MPC-HC kræver en CPU der understøtter SSE2-udvidelsen.\n\nDin CPU understøtter det ikke."
+msgstr "Denne version af MPC-HC kræver en CPU der understøtter SSE2 CPU-anvisninger.\n\nDin CPU understøtter det ikke."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Besøg vores wiki-side for at hente værktøjslinjebilleder"
+msgstr "Besøg vores wiki-side for at downloade værktøjslinjebilleder"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.de.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.de.strings.po
index 36598ad87..aa1b1e5bb 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.de.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.de.strings.po
@@ -1,14 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gaugg_Markus, 2014
+# Gaugg_Markus, 2014
+# Luan <luanmail@gmx.net>, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2016-10-30 11:22+0000\n"
+"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/mpc-hc/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,35 +20,35 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Dieses Programm installiert [name] auf Ihrem Computer.\n\nEs wird empfohlen, alle laufenden Programme zu beenden, bevor Sie mit der Installation fortfahren."
+msgstr "Hiermit wird der [name] installiert. Bitte alle anderen Anwendungen schließen, bevor Sie mit der Installation fortfahren."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] benötigt Windows XP Service Pack 3 oder höher."
+msgstr "Mindestvoraussetzung ist Windows XP mit Service Pack 3."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
-msgstr "Dateisymbole für verknüpfte Mediendateien"
+msgstr "Icon-Bibliothek"
msgctxt "CustomMessages_comp_mpcresources"
msgid "Translations"
-msgstr "Sprachdateien (darunter Deutsch)"
+msgstr "Übersetzungen (u.a. deutsch)"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Wollen Sie auch die Programmeinstellungen löschen?\n\nWenn Sie den MPC-HC wieder installieren möchten, dann müssen Sie diese nicht unbedingt löschen."
+msgstr "Bei Neuinstallation des MPC-HC können verbliebene Einstellungen problemlos übernommen werden.\n\nEinstellungen auch entfernen?"
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Dieses MPC-HC-Build benötigt einen Prozessor mit SSE-Unterstützung.\n\nIhr Prozessor besitzt nicht diese Eigenschaft."
+msgstr "Die verwendete CPU muss SSE unterstützen."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Dieses MPC-HC-Build benötigt einen Prozessor mit SSE2-Unterstützung.\n\nIhr Prozessor besitzt nicht diese Eigenschaft."
+msgstr "Die verwendete CPU muss SSE2 unterstützen."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Toolbar-Bilder von der Wiki-Seite herunterladen"
+msgstr "Wiki für Toolbar-Bilder öffnen"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -54,19 +56,19 @@ msgstr "Für alle Benutzer"
msgctxt "CustomMessages_tsk_CurrentUser"
msgid "For the current user only"
-msgstr "Nur für den aktuellen Benutzer"
+msgstr "Für den aktuellen Benutzer"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
-msgstr "Andere Aufgaben:"
+msgstr "Weitere Aufgaben:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Programmeinstellungen zurücksetzen"
+msgstr "Einstellungen zurücksetzen"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
-msgstr "Standard Installation"
+msgstr "Standard-Installation"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
@@ -74,5 +76,5 @@ msgstr "Benutzerdefinierte Installation"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
-msgstr "Änderungsprotokoll zeigen"
+msgstr "Changelog anzeigen"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.el.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.el.strings.po
index 9eec2f8fc..5e15805c2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.el.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.el.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <geogeo.gr@gmail.com>, 2013-2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.en_GB.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.en_GB.strings.po
index 17f01cb09..fa76de98a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.en_GB.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.en_GB.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
index 56f612770..b4ba8a077 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
@@ -1,15 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos, 2014
-# Adolfo Jayme Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2014
+# Adolfo Jayme-Barrientos, 2016
+# Adolfo Jayme-Barrientos, 2014
+# strel, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-09-25 05:51+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos\n"
+"PO-Revision-Date: 2016-05-03 05:23+0000\n"
+"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/mpc-hc/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,11 +21,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Este programa instalará [name] en el equipo.\n\nSe recomienda que cierre el resto de las aplicaciones antes de continuar."
+msgstr "Esto instalará [name] en el equipo.\n\nSe recomienda que cierre el resto de las aplicaciones antes de continuar."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] necesita Windows XP Service Pack 3 o posterior para funcionar."
+msgstr "[name] requiere Windows XP Service Pack 3 o posterior para funcionar."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -39,15 +41,15 @@ msgstr "¿Quiere eliminar también las preferencias de MPC-HC?\n\nSi planea inst
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Esta versión de MPC-HC requiere una CPU compatible con extensiones SSE.\n\nSu CPU carece de esta característica."
+msgstr "Esta versión de MPC-HC requiere una CPU que soporte instrucciones SSE.\n\nSu CPU carece de esta característica."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Esta versión de MPC-HC requiere una CPU compatible con extensiones SSE2.\n\nSu CPU carece de esta característica."
+msgstr "Esta versión de MPC-HC requiere una CPU que soporte instrucciones SSE2.\n\nSu CPU carece de esta característica."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Visite nuestra página de wiki para descargar imágenes de la barra de herramientas"
+msgstr "Visite nuestra página wiki para descargar imágenes de barra de herramientas"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -55,7 +57,7 @@ msgstr "Para todos los usuarios"
msgctxt "CustomMessages_tsk_CurrentUser"
msgid "For the current user only"
-msgstr "Solo para el usuario actual"
+msgstr "Sólo para el usuario actual"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.eu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.eu.strings.po
index dadce20a5..5fe60068d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.eu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.eu.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Xabier Aramendi <azpidatziak@gmail.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po
index 2175c6d07..d97c747ac 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po
@@ -1,15 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Matti Ylönen <maanylon@gmail.com>, 2016
# Raimo K. Talvio, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-08-17 09:40+0000\n"
-"Last-Translator: Raimo K. Talvio\n"
-"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2016-01-27 20:29+0000\n"
+"Last-Translator: Matti Ylönen <maanylon@gmail.com>\n"
+"Language-Team: Finnish (http://www.transifex.com/mpc-hc/mpc-hc/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -18,11 +19,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Tämä asentaa [name] tietokoneellesi.\n\n On suositeltavaa, että suljet kaikki muut ohjelmat ennenkuin jatkat."
+msgstr "Tämä asentaa [name] tietokoneellesi.\n\nOn suositeltavaa, että suljet kaikki muut ohjelmat ennen kuin jatkat."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudempaa "
+msgstr "[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudemman."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -46,7 +47,7 @@ msgstr "MPC-HC:n tämä versio edellyttää CPU:lta SSE2-laajennusten tukea.\n\n
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Vieraile Wiki-sivustollamme imuroidaksesi työkalupalkin kuvat"
+msgstr "Vieraile Wiki-sivustollamme ladataksesi työkalupalkin kuvat"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -62,7 +63,7 @@ msgstr "Muut tehtävät:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Nollaa asetukset"
+msgstr "Palauta asetukset"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
@@ -70,7 +71,7 @@ msgstr "Oletusasennus"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
-msgstr "Yksilöllinen asennus"
+msgstr "Mukautettu asennus"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fr.strings.po
index 953aa167f..db06530dd 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fr.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Underground78, 2013-2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
index d4dbf6843..ad2638b14 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Rubén <feiticeiro2010@hotmail.es>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.he.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.he.strings.po
index 78fdda2be..3caf46109 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.he.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.he.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-07 08:49+0000\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2015-07-24 08:44+0000\n"
"Last-Translator: JellyFrog\n"
-"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
+"Language-Team: Hebrew (http://www.transifex.com/mpc-hc/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hr.strings.po
index 62475c05c..e177f0acb 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hr.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# schop <aprcel00@fesb.hr>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
index bdf067bed..d9b5c75da 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Máté <lang.mate@gmail.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hy.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hy.strings.po
index 3432d7a2c..dfd084bcd 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hy.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hy.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
+"PO-Revision-Date: 2016-05-24 15:44+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Armenian (http://www.transifex.com/mpc-hc/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.id.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.id.strings.po
index 4165817d4..ca24f1499 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.id.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.id.strings.po
@@ -1,17 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hatta.z, 2014
# yoga.mardia <made.yoga12@gmail.com>, 2014
# Reza Septyan .R. <ainofuyuumI@outlook.com>, 2014
-# zk <zamani.karmana@gmail.com>, 2015
+# zk, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
"PO-Revision-Date: 2015-08-02 13:18+0000\n"
-"Last-Translator: zk <zamani.karmana@gmail.com>\n"
+"Last-Translator: zk\n"
"Language-Team: Indonesian (http://www.transifex.com/mpc-hc/mpc-hc/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
index 332cd01f9..1522621cb 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <inactive+Gabrix@transifex.com>, 2014
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-12-01 23:04+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2015-07-24 08:44+0000\n"
+"Last-Translator: JellyFrog\n"
+"Language-Team: Italian (http://www.transifex.com/mpc-hc/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
index 8f323c902..267997b46 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014-2015
+# ever_green, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-09-26 22:46+0000\n"
+"PO-Revision-Date: 2016-08-23 05:11+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/mpc-hc/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -38,11 +38,11 @@ msgstr "MPC-HC の設定を削除してもよろしいですか?\n\nMPC-HC を
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "このバージョンの MPC-HC には CPU の SSE 拡張サポートが必要です。\n\nご使用の CPU はこれらの機能を満たしていません。"
+msgstr "MPC-HC のこのビルドには SSE 拡張機能をサポートする CPU が必要です。\n\nご使用の CPU はこれらの機能を備えていません。"
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "このバージョンの MPC-HC には CPU の SSE2 拡張サポートが必要です。\n\nご使用の CPU はこれらの機能を満たしていません。"
+msgstr "MPC-HC のこのビルドには SSE2 拡張機能をサポートする CPU が必要です。\n\nご使用の CPU はこれらの機能を備えていません。"
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
@@ -58,7 +58,7 @@ msgstr "現在実行しているユーザーにのみインストールする"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
-msgstr "他のタスク:"
+msgstr "その他のタスク:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
index 8236e76a2..bb7e545d2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Level ASMer <zx132435@naver.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.lt.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.lt.strings.po
index 6e5ef092c..99da6afa1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.lt.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.lt.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# linasmi <linasmi@mail.ru>, 2014-2015
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ms_MY.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ms_MY.strings.po
index 934f10f74..9722d19d8 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ms_MY.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ms_MY.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# abuyop <abuyop@gmail.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
index c5a4b5edc..dc1d7750b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# reneweesp <bmom43@hotmail.com>, 2016
# Devrim, 2014
# DennisW, 2014
# Marco Brohet <therbom@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2015-07-14 19:23+0000\n"
-"Last-Translator: Marco Brohet <therbom@gmail.com>\n"
-"Language-Team: Dutch (http://www.transifex.com/p/mpc-hc/language/nl/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2016-11-12 00:35+0000\n"
+"Last-Translator: reneweesp <bmom43@hotmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/mpc-hc/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -24,15 +25,15 @@ msgstr "Dit programma zal [name] op uw computer installeren.\n\nHet is aanbevole
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] vereist Windows XP Service Pack 3 of hoger om uit te voeren."
+msgstr "[name] vereist Windows XP Service Pack 3 of hoger om te voeren werken."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
-msgstr "Iconen voor mediabestanden"
+msgstr "Iconen bibliotheek"
msgctxt "CustomMessages_comp_mpcresources"
msgid "Translations"
-msgstr "Taal"
+msgstr "Talen"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
@@ -48,7 +49,7 @@ msgstr "Deze versie van MPC-HC heeft een processor nodig die SSE2 ondersteunt.\n
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Bezoek onze wiki om de werkbalkafbeeldingen te downloaden"
+msgstr "Bezoek onze wiki om de werkbalkafbeeldingen op te halen"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -68,7 +69,7 @@ msgstr "Instellingen resetten"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
-msgstr "Standaardinstallatie"
+msgstr "Standaard installatie"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
@@ -76,5 +77,5 @@ msgstr "Aangepaste installatie"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
-msgstr "Wijzigingsoverzicht bekijken"
+msgstr "Toon wijziging geschiedenis"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pa.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pa.strings.po
index c030c0f41..5b7942c04 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pa.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pa.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# A S Alam <apreet.alam@gmail.com>, 2015
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pl.strings.po
index c6ae01d7a..6e92e2a9b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pt_BR.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pt_BR.strings.po
index 405c9722b..b44ccf405 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pt_BR.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.pt_BR.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2016-12-22 21:46+0000\n"
+"Last-Translator: Roger Filipe Barros <lipe2000@outlook.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mpc-hc/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ro.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ro.strings.po
index 6c4ae2c03..ac8483346 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ro.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ro.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Daniel <danny34ever@yahoo.com>, 2014-2015
+# Daniel <danny3@tutanota.com>, 2014-2016
# lordkag <lord.kagula@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-08-01 13:50+0000\n"
-"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
+"PO-Revision-Date: 2016-10-27 09:50+0000\n"
+"Last-Translator: Daniel <danny3@tutanota.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mpc-hc/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,15 +35,15 @@ msgstr "Traduceri"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Doriţi de asemenea să ştergeţi setările MPC-HC?\n\nDacă doriţi a reinstala MPC-HC, atunci nu este necesar să le ştergeţi."
+msgstr "Doriţi de asemenea să ștergeți stabilirile MPC-HC?\n\nDacă doriţi să reinstalați MPC-HC, atunci nu este necesar să le ștergeți."
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Această versiune de MPC-HC necesită un procesor cu suport pentru extensii SSE.\n\nProcesorul dumneavoastră nu are aceste capacităţi."
+msgstr "Această versiune de MPC-HC necesită un procesor cu sprijin pentru extensii SSE.\n\nProcesorul dumneavoastră nu are aceste capacităţi."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Această versiune de MPC-HC necesită un procesor cu suport pentru extensii SSE2.\n\nProcesorul dumneavoastră nu are aceste capacităţi."
+msgstr "Această versiune de MPC-HC necesită un procesor cu sprijin pentru extensii SSE2.\n\nProcesorul dumneavoastră nu are aceste capacităţi."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
@@ -55,7 +55,7 @@ msgstr "Pentru toţi utilizatorii"
msgctxt "CustomMessages_tsk_CurrentUser"
msgid "For the current user only"
-msgstr "Doar pentru utilizatorul curent"
+msgstr "Doar pentru utilizatorul actual"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
@@ -63,7 +63,7 @@ msgstr "Alte activităţi:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Resetează setările"
+msgstr "Restabilește stabilirile"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ru.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ru.strings.po
index 9ec823faa..1efa6db8e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ru.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ru.strings.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# stryaponoff <stryaponoff@gmail.com>, 2014
+# Sergey <player54@mail.ru>, 2015
+# Kirill <stryaponoff@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
-"PO-Revision-Date: 2015-07-24 08:44+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2015-12-21 11:37+0000\n"
+"Last-Translator: Sergey <player54@mail.ru>\n"
"Language-Team: Russian (http://www.transifex.com/mpc-hc/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,11 +19,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Программа установит [name] на ваш компьютер.\n\nРекомендуется закрыть все прочие приложения перед тем, как продолжить."
+msgstr "Эта программа установит [name] на ваш компьютер.\n\nПеред тем, как продолжить, рекомендуется закрыть все прочие приложения."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] Эта программа требует Windows XP Service Pack 3 или выше."
+msgstr "[name] требует Windows XP Service Pack 3 или новее."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -34,23 +35,23 @@ msgstr "Локализации"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Удалить также настроенные параметры MPC-HC?\n\nЕсли запланирована переустановка MPC-HC, эти параметры не нужно удалять."
+msgstr "Желаете ли вы также удалить настройки MPC-HC?\n\nЕсли вы собираетесь установить MPC-HC повторно, их не нужно удалять."
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Для этой сборки MPC-HC требуется процессор с поддержкой SSE-инструкций.\n\nВ данном процессоре они не поддерживаются."
+msgstr "Для этой сборки MPC-HC необходим процессор с поддержкой SSE-инструкций.\n\nВаш процессор не соответствует данным требованиям."
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Для этой сборки MPC-HC требуется процессор с поддержкой SSE2-инструкций.\n\nВ данном процессоре они не поддерживаются."
+msgstr "Для этой сборки MPC-HC необходим процессор с поддержкой SSE2-инструкций.\n\nВаш процессор не соответствует данным требованиям."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Посетите нашу Вики, чтобы скачать темы для панели управления"
+msgstr "Посетить нашу вики для загрузии темы панели инструментов"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
-msgstr "Для всех пользователей данного компьютера"
+msgstr "Для всех пользователей"
msgctxt "CustomMessages_tsk_CurrentUser"
msgid "For the current user only"
@@ -62,7 +63,7 @@ msgstr "Другие задачи:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
-msgstr "Восстановить параметры по умолчанию"
+msgstr "Восстановить настройки по умолчанию"
msgctxt "CustomMessages_types_DefaultInstallation"
msgid "Default installation"
@@ -74,5 +75,5 @@ msgstr "Выборочная установка"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
-msgstr "Просмотреть журнал изменений"
+msgstr "Посмотреть список изменений"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sk.strings.po
index 9ed464394..327891d10 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sk.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sl.strings.po
index 6a97a406b..61e2cd9d2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# fubuzz <knedlc@gmail.com>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po
index a781f5719..7de08ff78 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rancher <djordje.vasiljevich@gmail.com>, 2014
-# Zlatan Vasović <legospace9876@gmail.com>, 2014
+# Rancher, 2014
+# Rancher, 2016
+# Zlatan Vasović <inactive+ZDroid@transifex.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-12-10 21:41+0000\n"
-"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
-"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2016-06-15 10:31+0000\n"
+"Last-Translator: Rancher\n"
+"Language-Team: Serbian (http://www.transifex.com/mpc-hc/mpc-hc/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -19,11 +20,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Овим ћете инсталирати [name] на ваш рачунар.\n\nПрепоручује се да затворите све друге програме пре него што наставите."
+msgstr "Овај програм ће инсталирати [name] на ваш рачунар.\n\nПре него што наставите, препоручује се да затворите све друге програме."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] захтева Windows XP Service Pack 3 или новији за покретање."
+msgstr "[name] захтева Windows XP Service Pack 3 или новији."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -35,7 +36,7 @@ msgstr "Преводи"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "Желите ли да обришете и поставке MPC-HC-а?\n\nНе морате их брисати ако планирате поново да инсталирате MPC-HC."
+msgstr "Желите ли да избришете и поставке MPC-HC-а?\n\nНе морате их брисати ако планирате поново да инсталирате MPC-HC."
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
@@ -43,11 +44,11 @@ msgstr "Ова верзија MPC-HC-а захтева процесор са п
msgctxt "CustomMessages_msg_simd_sse2"
msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
-msgstr "Ова верзија MPC-HC-а захтева процесор са подршком за SSE2 проширења.\n\nВаш процесор нема те могућности."
+msgstr "За ову верзију MPC-HC-а је потребан процесор са подршком за SSE2 инструкције.\n\nВаш процесор не испуњава тај захтев."
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr "Посети вики страницу ради преузимања слика траке са алаткама"
+msgstr "Посети наш вики ради преузимања тема траке са алаткама"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -59,7 +60,7 @@ msgstr "Само за тренутног корисника"
msgctxt "CustomMessages_tsk_Other"
msgid "Other tasks:"
-msgstr "Остали задаци:"
+msgstr "Други задаци:"
msgctxt "CustomMessages_tsk_ResetSettings"
msgid "Reset settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.strings.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.strings.pot
index d2f0cbaf5..3d3bbd157 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.strings.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.strings.pot
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
index 1d54d0f0d..b42f417bc 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# JellyFrog, 2013-2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.th_TH.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.th_TH.strings.po
index e137d76ad..060172fcc 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.th_TH.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.th_TH.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# M. Somsak, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tr.strings.po
index 5c61afe4d..c8c51dd83 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tr.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Sinan H., 2014-2015
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tt.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tt.strings.po
index e1b82531c..c8d2c4397 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tt.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.tt.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# кери <khazirek@mail.ru>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-07 08:49+0000\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2015-07-24 08:44+0000\n"
"Last-Translator: JellyFrog\n"
-"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
+"Language-Team: Tatar (http://www.transifex.com/mpc-hc/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.uk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.uk.strings.po
index c9989dace..4215460f1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.uk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.uk.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# arestarh1986 <arestarh@ukr.net>, 2014
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
index 43519687e..568ee8bd4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2014 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Dat Luong Anh <datanhlg@gmail.com>, 2014
+# DatSoft, 2014
# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2015-01-21 03:24+0000\n"
-"Last-Translator: TRẦN ANH MINH <anhminhvks@yahoo.com>\n"
-"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
+"POT-Creation-Date: 2015-07-20 20:29:41+0000\n"
+"PO-Revision-Date: 2015-07-24 08:44+0000\n"
+"Last-Translator: JellyFrog\n"
+"Language-Team: Vietnamese (http://www.transifex.com/mpc-hc/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_CN.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_CN.strings.po
index dc62026dd..011d6a62a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_CN.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_CN.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dean Lee <xslidian@gmail.com>, 2015
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_TW.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_TW.strings.po
index 70caa7e7f..894be1fd6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_TW.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.zh_TW.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# 洪嘉鴻 <jerry9030@gmail.com>, 2015
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
index 663054bd1..45912260b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <inactive+Gabrix@transifex.com>, 2014
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-03-16 18:09:30+0000\n"
-"PO-Revision-Date: 2015-04-12 02:15+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Italian (http://www.transifex.com/mpc-hc/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "Informazioni"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 vedi file Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 vedi file Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -423,12 +423,16 @@ msgid "time(s)"
msgstr "volta/e"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Riproduci in seguito"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Output"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -567,7 +571,7 @@ msgid "Warning"
msgstr "Attenzione"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Se imposti l'antialiasing a schermo intero nella tua scheda video, i sottotitoli NON si vedranno meglio, tuttavia la CPU avrà un carico maggiore."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1123,8 +1127,8 @@ msgid "Audio Renderer"
msgstr "Audio DirectShow"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Impostazioni VMR-7/VMR-9 (renderless) ed EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Impostazioni VMR-9 (renderless) ed EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1186,6 +1190,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Porta in ascolto:"
@@ -1231,17 +1239,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Connettori CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Sottotitoli disponibili online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Scarica && Apri"
+msgid "Download subtitles"
+msgstr "Scarica sottotitoli"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Sostituisci i sottotitoli correntemente caricati"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opzioni"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opzioni"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Salva con nome..."
@@ -1543,16 +1579,28 @@ msgid "Reset"
msgstr "Reimposta"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Database online"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Indirizzo del database di sottotitoli online:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Prova"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
index 6a6ff01a2..c50ea71c4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <inactive+Gabrix@transifex.com>, 2014
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-04-06 16:31:55+0000\n"
-"PO-Revision-Date: 2015-04-19 16:21+0000\n"
-"Last-Translator: Luca Bisaro <lucabisaro2@gmail.com>\n"
-"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
+"Language-Team: Italian (http://www.transifex.com/mpc-hc/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -66,29 +66,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Salva miniature..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Apri sottotitolo..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Salva sottotitolo..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Database sottotitoli"
+msgid "S&ubtitles"
+msgstr "Sottotitoli"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Ricerca..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Upload..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Download..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr ""
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -410,17 +406,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Ritocca la finestra dall'&esterno"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Mantieni proporzioni"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Modifica proporzioni"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Predefinito"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +434,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Correggi differenza proporzioni schermo/desktop"
@@ -535,9 +531,25 @@ msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Fotogramma"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr ""
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Diminuisci velocità"
@@ -567,7 +579,7 @@ msgid "Su&btitle Track"
msgstr "&Traccia Sottotitolo"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Traccia Video"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
index f84b970a4..b4c99fa27 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <inactive+Gabrix@transifex.com>, 2014
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-04-15 21:44:52+0000\n"
-"PO-Revision-Date: 2015-04-19 16:21+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
+"Last-Translator: JellyFrog\n"
+"Language-Team: Italian (http://www.transifex.com/mpc-hc/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -62,10 +62,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Proprietà"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Stile pre&definito"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "File"
@@ -118,6 +126,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Se il rendering viene lasciato indefinito, i sottotitoli SSA/ASS saranno resi relativamente al frame video mentre tutti gli altri sottotitoli testuali saranno resi relativamente alla finestra."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Mai (metodo più veloce)"
@@ -518,18 +546,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Render Overlay Mixer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Render Video Mixing 7 (finestra)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Render Video Mixing 9 (finestra)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Render Video Mixing 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Render Video Mixing 9 (renderless)"
@@ -582,10 +602,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Lettore::Interfaccia Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Sottotitoli::Database"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Dettagli"
@@ -606,17 +622,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Renderizza sempre in overlay. Generalmente solo i formati YUV sono consentiti, ma sono presentati direttamente senza conversioni di colore in RGB. Questo è il metodo di rendering più veloce e l'unico che garantisce con sicurezza il video mirroring a schermo intero nell'uscita tv."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Video renderer predefinito di Windows XP. Molto stabile e solo leggermente più lento dell'Overlay mixer. Usa il DirectDraw e va in Overlay quando possibile."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Disponibile solo con le DirectX 9. Ha le stesse abilità del VMR-7 (in finestra), ma non usa mai l'Overlay rendering e quindi può essere considerato leggermente più lento del VMR-7 (in finestra)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Come il VMR-7 (in finestra), ma con il plugin Allocator-Presenter di MPC-HC per i sottotitoli. L'Overlay video mirroring NON funzionerà. Raccomandata la profondità di colore massima (32 bit)."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +662,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Renderer di Real. Gli script SMIL funzioneranno, ma probabilmente non l'interazione. Usa DirectDraw e va in Overlay quando possibile."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "L'output del motore di Real renderizzato dall'Allocator-Presenter DX7-based di VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "L'output del motore di Real renderizzato dall'Allocator-Presenter DX9-based di VMR-9 (renderless)."
@@ -666,10 +670,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Renderer di QuickTime. Rallenta leggermentente quando l'area video è ridimensionata o parzialmente coperta da un'altra finestra. Quando l'Overlay non è disponibile, andrà in GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "L'output del motore di QuickTime renderizzato dall'Allocator-Presenter DX7-based di VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "L'output del motore di QuickTime renderizzato dall'Allocator-Presenter DX9-based di VMR-9 (renderless)."
@@ -750,9 +750,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Per poter visualizzare una risorsa incorporato nel tuo browser devi attivare l'interfaccia web.\n\nUsa il bottone \"Salva Come\" se vuoi solamente salvare l'informazione."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Scarica sottotitoli"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +814,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Riduce il tearing passando il VSync predefinito creato dentro D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Scansione sintonizzatore"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Sottotitoli non caricati o renderer non supportato."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Apri VTS_xx_0.ifo per caricare i file VTS_xx_x.vob tutti insieme"
@@ -947,11 +963,11 @@ msgid "&Organize Favorites..."
msgstr "&Organizza preferiti..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Riproduzione casuale"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Apri percorso file"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1035,7 +1051,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom a Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Nascondi a schermo intero"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1223,7 +1239,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Aggiungi cartella contenente"
msgctxt "IDS_HW_INDICATOR"
@@ -1426,13 +1442,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Immagine salvata con successo"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Carica sottotitoli"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Salva sottotitoli"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,7 +1575,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniature salvate con successo"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Traccia Video"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1795,8 +1811,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dim Altezza"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Scaricamento sottotitoli in corso..."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2058,11 +2074,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Criptato"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Si"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "No"
@@ -2214,14 +2230,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Larghezza immagine"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "L'URL sembra corretta!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Incompatibilità versioni del protocollo, aggiorna il lettore o scegli un indirizzo diverso!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Proporzioni"
@@ -2315,8 +2323,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Le miniature sarebbero troppo piccole, impossibile creare il file.\n\nProvare a ridurre il numero di miniature o aumentare la dimensione totale."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Per caricare i sottotitoli devi cambiare il tipo di render video e riaprire il file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR o Haali\n- RealMedia: Render speciale per RealMedia, o aprilo tramite DirectShow\n- QuickTime: Render DX7 o DX9 per QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Per caricare i sottotitoli devi cambiare il tipo di render video e riaprire il file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR o Haali\n- RealMedia: Render speciale per RealMedia, o aprilo tramite DirectShow\n- QuickTime: Render DX7 o DX9 per QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2335,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Proporzioni: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Proporzioni: predefinite"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2374,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Impossibile visualizzare il file"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL non corretto, impossibile trovare il database di sottotitoli!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Capitolo: "
@@ -2563,8 +2567,8 @@ msgid "Volume boost Max"
msgstr "Amplificazione volume: massimo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilizzo: mpc-hc.exe \"percorso\" [opzioni]\n\n\"percorso\"\tIl file o cartella principale da caricare\n\t\t(wildcards ammesse, \"-\" denotes standard input)\n/dub \"nomedub\"\tCarica un file audio aggiuntivo\n/dubdelay \"file\"\tCarica un file audio aggiuntivo con ritardo\n\t\tdi XXms (se il file contiene \"...DELAY XXms...\")\n/d3dfs\t\tInizia il rendering in modalità D3D a schermo intero\n/sub \"subname\"\tCarica un file di sottotitoli aggiuntivo\n/filter \"nomefiltro\"\tCarica i filtri DirectShow da una DLL\n\t\t(wildcards ammesse)\n/dvd\t\tAvvia in modalità dvd, \"percorso\" indica la\n\t\tcartella del dvd (opzionale)\n/dvdpos T#C\tInizia riproduzione al titolo T, capitolo C\n/dvdpos T#hh:mm\tInizia riproduzione al titolo T,\n\t\tposizione hh:mm:ss\n/cd\t\tCarica tutte le tracce di un cd audio o (s)vcd;\n\t\t\"percorso\" indica il percorso del drive (opzionale)\n/device\t\tOpen the default video device\n/open\t\tApre il file, senza iniziare la riproduzione\n/play\t\tInizia la riproduzione del file non appena il\n\t\tlettore viene aperto\n/close\t\tChiudi il lettore dopo la riproduzione\n\t\t(funziona solo insieme a /play)\n/shutdown\tSpegni il computer dopo la riproduzione\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tAvvia a schermo intero\n/minimized\tAvvia minimizzato\n/new\t\tUsa una nuova istanza del lettore\n/add\t\tAggiunge \"percorso\" alla playlist, può essere\n\t\tin combinazione con /open e /play\n/randomize\tRandomize the playlist\n/regvid\t\tRegistra i formati video\n/regaud\t\tRegistra i formati audio\n/regpl\t\tCrea le associazioni dei file di tipo playlist\n/regall\t\tCrea le associazioni dei file per tutti i formati\n\t\tsupportati\n/unregall\t\tRimuove tutte le associazioni dei file\n/start ms\t\tInizia la riproduzione a \"ms\" (= millisecondi)\n/startpos hh:mm:ss\tInizia la riproduzione alla posizione hh:mm:ss\n/fixedsize w,h\tImposta la dimensione fissa della finestra\n/monitor N\tAvvia nello schermo N, dove N inizia da 1\n/audiorenderer N\tAvvia con renderer audio N, dove N inizia da 1\n\t\t(vedi impostazioni di \"Output\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRipristina le impostazioni predefinite\n/help /h /?\tVisualizza l'aiuto sulle opzioni a riga di comando\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2654,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Abilita tutti i filtri"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Scansione sintonizzatore"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Sottotitoli non caricati o renderer non supportato."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autore sconosciuto. Contattaci se hai disegnato tu questo logo!"
@@ -3406,10 +3402,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Le funzioni 'Salva immagine' e 'Salva miniature' non sono compatibili con il video renderer Overlay Mixer.\nModifica il video renderer nelle opzioni di output di MPC-HC e riapri il file."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Impossibile connettersi al database di sottotitoli online."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Vuoi attivare l'editor EDL?"
@@ -3602,3 +3594,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Scarica sottotitoli"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Scarica && Apri"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Reimposta"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Sposta su"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Sposta giù"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
index 137d03a2b..cf3bbaa2c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014-2015
+# ever_green, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-21 10:43+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-10-27 17:36+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/mpc-hc/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -126,7 +126,7 @@ msgstr "指定位置に移動..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "指定した時間にジャンプするには [hh:]mm:ss.ms の形式を使用してタイムコードを入力してください。区切り記号を入力する必要はありません。"
+msgstr "指定時間にジャンプするには、[hh:]mm:ss.ms の形式を使用してタイムコードを入力してください。区切り記号を入力する必要はありません。"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -138,7 +138,7 @@ msgstr "移動"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "指定したフレームにジャンプするにはフレーム番号、フレーム レートの順に二つの数値を入力してください。"
+msgstr "指定フレームにジャンプするには、フレーム番号、フレーム レートの順に二つの数値を入力してください。"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "バージョン情報"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 (Authors.txt ファイルを参照)"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 (Authors.txt ファイルを参照)"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -286,7 +286,7 @@ msgstr "OSD を表示する (再起動が必要)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
-msgstr "サイズ変更時にウィンドウ サイズの縦横比を固定する"
+msgstr "サイズ変更時にウィンドウの縦横比を固定する"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
@@ -414,19 +414,23 @@ msgstr "再生"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
msgid "Repeat forever"
-msgstr "連続再生"
+msgstr "連続再生(無限)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
msgstr "回"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "連続再生モード:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "再生終了後の動作"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "出力"
+msgid "Default zoom"
+msgstr "既定の拡大率"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -518,7 +522,7 @@ msgstr "ミリ秒"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "テクスチャの設定 (変更を有効にするにはビデオを再度開いてください)"
+msgstr "テクスチャの設定 (変更を有効にするにはビデオを開き直してください)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
@@ -565,8 +569,8 @@ msgid "Warning"
msgstr "警告"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "字幕の配置を強制的に指定し、ビデオカードの設定で全画面表示のアンチエイリアスを有効にした場合、CPU を消費するのみで字幕は少しも綺麗になりません。"
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "字幕の配置を強制的に指定してビデオカードの設定で全画面表示のアンチエイリアスを有効にした場合、CPU を消費するのみで字幕は少しも綺麗になりません。"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -586,7 +590,7 @@ msgstr "関連付け"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr "ファイル形式に固有のアイコンを使用する"
+msgstr "形式固有のアイコンを使用する"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
@@ -738,7 +742,7 @@ msgstr "削除"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
-msgstr "リストをリセット"
+msgstr "一覧をリセット"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Type:"
@@ -1002,7 +1006,7 @@ msgstr "輪郭"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
msgid "Opaque box"
-msgstr "不透明な四角"
+msgstr "不透明なボックス"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Width"
@@ -1121,8 +1125,8 @@ msgid "Audio Renderer"
msgstr "オーディオ レンダラ"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (レンダーレス) および EVR (カスタム プレゼンタ) の設定"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (レンダーレス) および EVR (カスタム プレゼンタ) の設定"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "字幕レンダラ"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "コンパイルされたシェーダをキャッシュする"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "このポートで待機:"
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI ハンドラ: (拡張子1=パス1; 拡張子2=パス2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "オンラインで利用できる字幕"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "ダウンロードして開く"
+msgid "Download subtitles"
+msgstr "字幕をダウンロード"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "現在読み込まれている字幕を置き換える"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "ダウンロード"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "更新"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "オプション"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "字幕をアップロード"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "アップロード"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "オプション"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "名前を付けて保存..."
@@ -1298,7 +1334,7 @@ msgstr "エクスポート"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr "キーバインドをエクスポート"
+msgstr "キーをエクスポート"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
@@ -1450,7 +1486,7 @@ msgstr "ミリ秒"
msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
msgid "Changes take effect after the playback has been closed and restarted."
-msgstr "再生を終了してファイルを再度開いた後に変更が有効になります。"
+msgstr "ファイルを開き直すと、変更が有効になります。"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
@@ -1541,16 +1577,28 @@ msgid "Reset"
msgstr "リセット"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "オンライン データベース"
+msgid "Online search, download and upload subtitles"
+msgstr "字幕のオンライン検索, ダウンロードおよびアップロード"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "ローカルで何も見つからない場合、字幕を自動的に検索してダウンロードする"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "聴覚障害者用の字幕を優先する (字幕プロバイダによって示された場合)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "次の単語のいずれかを含むファイルを無視する:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "オンライン字幕データベースの基本 URL:"
+msgid "Languages in order of preference:"
+msgstr "言語の優先順位:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "テスト"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "ビデオの再生終了時にアクティブな字幕を自動的にアップロードする"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
index 50e2b7772..c9c9b1da4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014-2015
+# ever_green, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-26 22:46+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-11-11 21:54+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/mpc-hc/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "サムネイルを保存(&T)..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "字幕(&U)"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "字幕を読み込む(&L)..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "字幕を保存(&U)..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "字幕データベース(&B)"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "検索(&S)..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "字幕をダウンロード(&D)..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "アップロード(&U)..."
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "ダウンロード(&D)..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "字幕をアップロード(&U)..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -186,7 +182,7 @@ msgstr "自動調整(&F)"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "自動調整 (超過サイズのみ) (&L)"
+msgstr "自動調整 (超過サイズのみ)(&L)"
msgctxt "POPUP"
msgid "R&enderer Settings"
@@ -222,7 +218,7 @@ msgstr "16 - 235(&1)"
msgctxt "POPUP"
msgid "&Presentation"
-msgstr "プレゼンテーション(&P)"
+msgstr "表示(&P)"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
@@ -286,23 +282,23 @@ msgstr "SDTV PAL(&P)"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "アンビエント ライト(&L)"
+msgstr "環境光(&L)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
-msgstr "明るい (ガンマ 2.2) (&B)"
+msgstr "明るい (ガンマ 2.2)(&B)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "薄暗い (ガンマ 2.35) (&D)"
+msgstr "薄暗い (ガンマ 2.35)(&D)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
-msgstr "暗い (ガンマ 2.4) (&A)"
+msgstr "暗い (ガンマ 2.4)(&A)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "色空間変換の方法(&R)"
+msgstr "レンダリングの目的(&R)"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
@@ -310,7 +306,7 @@ msgstr "知覚的(&P)"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "相対的な色域を維持(&R)"
+msgstr "相対カラーメトリック(&R)"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
@@ -318,7 +314,7 @@ msgstr "彩度(&S)"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "絶対的な色域を維持(&A)"
+msgstr "絶対カラーメトリック(&A)"
msgctxt "POPUP"
msgid "&VSync"
@@ -390,11 +386,11 @@ msgstr "2 倍のサイズ(&D)"
msgctxt "ID_VIEW_VF_STRETCH"
msgid "&Stretch To Window"
-msgstr "ウィンドウ サイズに変形(&S)"
+msgstr "ウィンドウの大きさに広げる(&S)"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "ウィンドウ サイズに合わせる(&I)"
+msgstr "ウィンドウに内接させる(&I)"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
@@ -406,19 +402,15 @@ msgstr "拡大 2(&2)"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "縦か横に合わせてカット(&O)"
-
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "縦横比を保持(&K)"
+msgstr "ウィンドウに外接させる(&O)"
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "縦横比を調整(&A)"
+msgid "&Aspect Ratio"
+msgstr "縦横比(&A)"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "標準(&D)"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "標準 (DAR)(&D)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100(&8)"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "正方形ピクセルを想定 (SAR)(&S)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "モニタとデスクトップの縦横比の相違を補正(&C)"
@@ -510,11 +506,11 @@ msgstr "常に(&A)"
msgctxt "ID_ONTOP_WHILEPLAYING"
msgid "While &Playing"
-msgstr "再生時(&P)"
+msgstr "再生中(&P)"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
-msgstr "ビデオの再生時(&V)"
+msgstr "ビデオの再生中(&V)"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
@@ -533,8 +529,24 @@ msgid "&Stop"
msgstr "停止(&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "コマ送り(&R)"
+msgid "Fra&me Step"
+msgstr "コマ送り(&M)"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "連続再生(&R)"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "無限(&O)"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "ファイル(&F)"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "再生リスト(&P)"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
@@ -565,8 +577,8 @@ msgid "Su&btitle Track"
msgstr "字幕トラック(&B)"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "映像トラック(&V)"
+msgid "Vide&o Track"
+msgstr "映像トラック(&O)"
msgctxt "POPUP"
msgid "&Volume"
@@ -674,7 +686,7 @@ msgstr "ヘルプ(&H)"
msgctxt "ID_HELP_HOMEPAGE"
msgid "&Home Page"
-msgstr "ホームページ(&H)"
+msgstr "ホーム ページ(&H)"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
index 73969edf3..7d5f8f305 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014-2015
+# Asakura, 2016
+# ever_green, 2014-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-02-12 08:40+0000\n"
+"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/mpc-hc/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "プロパティ"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "ファイル"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "既定のスタイル(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "再生リスト"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "ファイル"
@@ -116,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "レンダリング ターゲットが定義されていない場合、SSA/ASS 字幕は、ビデオ フレームに対して表示されますが、その他すべてのテキスト字幕は、ウィンドウに対して表示されます。"
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "連続再生モード: 再生リスト"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "連続再生モード: ファイル"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "連続再生(無限): オン"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "連続再生(無限): オフ"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "連続再生(無限)"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "何もしない (最速のアプローチ)"
@@ -266,7 +295,7 @@ msgstr "開けません。無効な入力パラメータです"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
-msgstr "編集リストエディタ"
+msgstr "編集リスト エディタ"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
@@ -286,7 +315,7 @@ msgstr "言語"
msgctxt "IDS_SUBDL_DLG_FORMAT_COL"
msgid "Format"
-msgstr "ファイル形式"
+msgstr "形式"
msgctxt "IDS_SUBDL_DLG_DISC_COL"
msgid "Disc"
@@ -446,7 +475,7 @@ msgstr "字幕"
msgctxt "IDD_PPAGEFORMATS"
msgid "Player::Formats"
-msgstr "プレーヤー::ファイル形式"
+msgstr "プレーヤー::形式"
msgctxt "IDD_PPAGETWEAKS"
msgid "Tweaks"
@@ -474,7 +503,7 @@ msgstr "その他"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr "メディア情報"
+msgstr "MediaInfo"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -516,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "オーバーレイ ミキサ レンダラ"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "VMR-7 (ウィンドウ)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "VMR-9 (ウィンドウ)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "VMR-7 (レンダーレス)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "VMR-9 (レンダーレス)"
@@ -558,7 +579,7 @@ msgstr "madVR"
msgctxt "IDD_PPAGEACCELTBL"
msgid "Player::Keys"
-msgstr "プレーヤー::キーバインド"
+msgstr "プレーヤー::キー"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
@@ -580,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "プレーヤー::ウェブ インターフェイス"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "字幕::データベース"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "詳細"
@@ -604,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "常にオーバーレイで表示します。YUV 形式の場合、RGB に色変換することなく直接表示します。これはすべての中で最も高速な表示方法で、確実にフルスクリーン ビデオ ミラーリングでテレビ出力できる唯一の方法です。"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP の標準レンダラです。オーバーレイ ミキサよりも少し遅いですが、非常に安定しています。 DirectDraw を使用して可能ならオーバーレイで動作します。"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "DirectX 9 がインストールされている場合にのみ使用できます。VMR-7 (ウィンドウ) と同等ですが、オーバーレイで表示しないため VMR-7 (ウィンドウ) より少し遅くなる場合があります。"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "VMR-7 (ウィンドウ) と同じですが、字幕用の MPC-HC のアロケータ プレゼンタ プラグインを備えています。オーバーレイのビデオ ミラーリングは動作しません。デスクトップの色数を 「True Color」 にする事を推奨します。"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "DirectX 9 がインストールされている場合にのみ使用できます。とても安定していますが、オーバーレイで表示しないためオーバーレイ ミキサより少し遅くなる場合があります。"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -626,7 +635,7 @@ msgstr "VMR-9 (レンダーレス) と同じですが、有効な 2 パス バ
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "どんな動画のようなメディア タイプにも接続し、入力サンプルをどこにも出力しません。映像の表示が不要で、CPU に無駄な動作をさせたくない場合に使用してください。"
+msgstr "どんな動画のようなメディア タイプにも接続して入力サンプルをどこにも出力しません。映像の表示が不要で、CPU に無駄な動作をさせたくない場合に使用してください。"
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
@@ -652,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real 独自のレンダラです。相互作用はないですが、SMIL スクリプトは動作します。DirectDraw を使用して可能ならオーバーレイで動作します。"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "VMR-7 (レンダーレス) の DirectX 7 ベースのアロケータ プレゼンタで表示される Real 用の出力エンジンです。"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "VMR-9 (レンダーレス) の DirectX 9 ベースのアロケータ プレゼンタで表示される Real 用の出力エンジンです。"
@@ -664,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime 独自のレンダラです。ビデオの表示領域がサイズ変更されたり、他のウィンドウによって部分的に隠されたりすると少し遅くなります。オーバーレイが使用できない場合、 GDI が使用されます。"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "VMR-7 (レンダーレス) の DirectX 7 ベースのアロケータ プレゼンタで表示される QuickTime 用の出力エンジンです。"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "VMR-9 (レンダーレス) の DirectX 9 ベースのアロケータ プレゼンタで表示される QuickTime 用の出力エンジンです。"
@@ -748,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "ご使用のブラウザに埋め込まれたリソースを表示するためには、ウェブ インターフェイスを有効にする必要があります。\n\n情報のみを保存したい場合、 「名前を付けて保存」 ボタンを使用します。"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "字幕をダウンロード"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "字幕をダウンロード..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "字幕をアップロード..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -794,7 +799,7 @@ msgstr "ピクセル シェーダ 2.0 をサポートしていない場合、単
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "VMR-9 (レンダーレス) をミキサ モードに設定すると、プロパティ ページのコントロールの大部分が動作し、レンダラ フレームに別々のワーカー スレッドを使用します。"
+msgstr "VMR-9 (レンダーレス) をミキサ モードに設定すると、プロパティ ページのコントロールの大部分が動作してレンダラ フレームに別々のワーカー スレッドを使用します。"
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -808,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Direct3D に内蔵されている既定の垂直同期をバイパスすることによってテアリングを減らします。"
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "チューナー検出"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "字幕が読み込まれていないかサポートされていないレンダラを使用しています。"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "読み込み時間を短縮するためにローカルの AppData にコンパイルされたシェーダを保存します。"
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "VTS_xx_x.vob ファイルをまとめて読み込むには VTS_xx_0.ifo ファイルを開きます"
@@ -842,11 +859,11 @@ msgstr "字幕アニメーションを許可しません。このオプション
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "バッファリングされるサブピクチャ数を増やすと、一般的に GPU 上でビデオ RAM の使用率をより高くして、レンダリングのパフォーマンスを向上させる必要があります。 "
+msgstr "バッファリングされるサブピクチャ数を増やすと、一般的に GPU 上でビデオ RAM の使用率をより高くしてレンダリングのパフォーマンスを向上させる必要があります。 "
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "このボタンをクリックすると、MPC-HC の実際のファイル関連付けがファイル形式グループのチェック状態に反映されます。新しく拡張子が追加されると大抵チェック ボックスは灰色になりますので、このダイアログを閉じる前に必ずに再度チェックしてください。"
+msgstr "このボタンをクリックすると、MPC-HC の実際のファイルの関連付けが形式グループのチェックの状態に反映されます。新しく拡張子を追加すると、通常チェック ボックスは灰色表示になるので、このダイアログを閉じる前に必ず再度チェックしてください。"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
@@ -945,12 +962,12 @@ msgid "&Organize Favorites..."
msgstr "お気に入りの整理(&O)..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "シャッフル"
+msgid "Sh&uffle"
+msgstr "シャッフル(&U)"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "ファイルの場所を開く"
+msgid "Ope&n file location"
+msgstr "ファイルの場所を開く(&N)"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -970,11 +987,11 @@ msgstr "EDL 新しいクリップ"
msgctxt "IDS_RECENT_FILES_CLEAR"
msgid "&Clear list"
-msgstr "リストをクリア"
+msgstr "一覧をクリア(&C)"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "最近使ったファイルのリストを削除しますか?"
+msgstr "最近使ったファイルの一覧を削除してもよろしいですか?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
@@ -998,7 +1015,7 @@ msgstr "EDL 終了点を設定"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
-msgstr "PnS: 回転 X- (下回転)"
+msgstr "PnS: 回転 X- (上下反転)"
msgctxt "IDS_AG_PNS_ROTATEY_P"
msgid "PnS Rotate Y+"
@@ -1006,7 +1023,7 @@ msgstr "PnS: 回転 Y+ (左回転)"
msgctxt "IDS_AG_PNS_ROTATEY_M"
msgid "PnS Rotate Y-"
-msgstr "PnS: 回転 Y- (右回転)"
+msgstr "PnS: 回転 Y- (左右反転)"
msgctxt "IDS_AG_PNS_ROTATEZ_P"
msgid "PnS Rotate Z+"
@@ -1014,7 +1031,7 @@ msgstr "PnS: 回転 Z+ (反時計回り)"
msgctxt "IDS_AG_PNS_ROTATEZ_M"
msgid "PnS Rotate Z-"
-msgstr "PnS: 回転 Z- (時計回り)"
+msgstr "PnS: 回転 Z- (90度反時計回り)"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
@@ -1033,8 +1050,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "ウルトラワイド画面に拡大,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "全画面表示で隠す"
+msgid "&Hide on Fullscreen"
+msgstr "全画面表示で隠す(&H)"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1221,8 +1238,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "このアイテムのフォルダを追加"
+msgid "Add containing &folder"
+msgstr "このアイテムのフォルダを追加(&F)"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1350,7 +1367,7 @@ msgstr "すべて削除"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr "リストからすべてのチャンネルを削除してもよろしいですか?"
+msgstr "一覧からすべてのチャンネルを削除してもよろしいですか?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
@@ -1424,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "画像は正常に保存されました"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "字幕を読み込む"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "字幕を読み込む..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "字幕を保存"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "字幕を保存..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1518,15 +1535,15 @@ msgstr "MPC-HC の初期化中に問題が発生しました。 DVD の再生が
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
-msgstr "表示しない"
+msgstr "常に表示しない"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr "カーソルを移動している時は表示する。 隠すまでの時間:"
+msgstr "カーソルを移動している時は表示する。 表示時間:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr "コントロールをホバリングしている時は表示する。 隠すまでの時間:"
+msgstr "コントロールをホバリングしている時は表示する。 表示時間:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
@@ -1557,8 +1574,8 @@ msgid "Thumbnails saved successfully"
msgstr "サムネイルは正常に保存されました"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "映像トラック(&V)"
+msgid "Vide&o Track"
+msgstr "映像トラック(&O)"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1570,7 +1587,7 @@ msgstr "設定をリセット"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "MPC-HC を既定の設定に復元してもよろしいですか?\n現在のすべての設定は失われますのでご注意ください!"
+msgstr "MPC-HC を既定の設定に復元してもよろしいですか?\n現在の設定がすべて失われるので注意してください!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1614,35 +1631,35 @@ msgstr "音声の遅延 -10 ミリ秒"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
-msgstr "前方にジャンプ (小)"
+msgstr "順方向にジャンプ (小)"
msgctxt "IDS_MPLAYERC_24"
msgid "Jump Backward (small)"
-msgstr "後方にジャンプ (小)"
+msgstr "逆方向にジャンプ (小)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "前方にジャンプ (中)"
+msgstr "順方向にジャンプ (中)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "後方にジャンプ (中)"
+msgstr "逆方向にジャンプ (中)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
-msgstr "前方にジャンプ (大)"
+msgstr "順方向にジャンプ (大)"
msgctxt "IDS_MPLAYERC_28"
msgid "Jump Backward (large)"
-msgstr "後方にジャンプ (大)"
+msgstr "逆方向にジャンプ (大)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "前方にジャンプ (キーフレーム)"
+msgstr "順方向にジャンプ (キーフレーム)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "後方にジャンプ (キーフレーム)"
+msgstr "逆方向にジャンプ (キーフレーム)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1793,12 +1810,12 @@ msgid "PnS Dec Height"
msgstr "PnS: 高さを縮小"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "字幕をダウンロード中。しばらくお待ちください。"
+msgid "Downloading [%s] \"%s\""
+msgstr "ダウンロード中 [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
-msgstr "リストを解析中..."
+msgstr "一覧を解析中..."
msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
msgid "No subtitles found."
@@ -2056,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "暗号化"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "はい"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "いいえ"
@@ -2082,7 +2099,7 @@ msgstr "TV 局"
msgctxt "IDS_DVB_CHANNEL_FORMAT"
msgid "Format"
-msgstr "ファイル形式"
+msgstr "形式"
msgctxt "IDS_MAINFRM_2"
msgid "Focus lost to: %s - %s"
@@ -2212,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "画像の幅"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL は正しいようです!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "プロトコルのバージョンが一致しません。プレーヤーをアップグレードするか別のアドレスを選択してください!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "縦横比"
@@ -2313,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "サムネイルが小さすぎて、ファイルを作成できません。\n\nサムネイルの数を減らすか、全体のサイズを大きくしてみてください。"
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "字幕を読み込むためにはビデオ レンダラを変更し、ファイルを再​​度開く必要があります。\n- DirectShow: VMR-7/VMR-9 (レンダーレス)、EVR (カスタム プレゼンタ)、同期、madVR、Haali\n- RealMedia: RealMedia 用の特別なレンダラまたは DirectShow を用いて開く\n- QuickTime: QuickTime 用の DirectX 7 または DirectX 9 レンダラ\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "字幕を読み込むためにはビデオ レンダラを変更してファイルを開き直す必要があります。\n- DirectShow: VMR-9 (レンダーレス)、EVR (カスタム プレゼンタ)、同期、madVR または Haali\n- RealMedia: RealMedia 用の特別なレンダラまたは DirectShow を用いて開く\n- QuickTime: QuickTime 用の DirectX 7 または DirectX 9 レンダラ\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "縦横比: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "縦横比: 標準"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "縦横比: 標準 (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "ファイルを表示できませんでした"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL が正しくありません。字幕データベースが見つかりません!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "チャプター: "
@@ -2538,7 +2543,7 @@ msgstr "MPC-HC Direct3D フルスクリーン"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
-msgstr "不明なファイル形式"
+msgstr "不明な形式"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
@@ -2561,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "音量のブースト 最大"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "使用方法: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\t最初のファイルかフォルダが読み込まれる\n\t\t(ワイルドカードの使用可, \"-\" が標準入力を表す)\n/dub \"dubname\"\t追加のオーディオ ファイルを読み込む\n/dubdelay \"file\"\t追加のオーディオ ファイルを XXms シフトして読み込む\n\t\t(ファイルが \"...DELAY XXms...\" を含む場合)\n/d3dfs\t\tDirect3D フルスクリーン モードで起動する\n/sub \"subname\"\t追加の字幕ファイルを読み込む\n/filter \"filtername\"\tDLL から DirectShow フィルタを読み込む (ワイルドカードの使用可)\n/dvd\t\tDVD モードで起動する\n\t\t\"pathname\" は DVD フォルダを表す (省略可能)\n/dvdpos T#C\tタイトル T のチャプター C から再生を開始する\n/dvdpos T#hh:mm\tタイトル T の hh:mm:ss の位置から再生を開始する\n/cd\t\t音楽 CD または (S)VCD の全トラックを読み込む\n\t\t\"pathname\" はドライブ パスを指定する (省略可能)\n/device\t\t既定のビデオ デバイスを開く\n/open\t\t自動的に再生を開始せずにファイルを開く\n/play\t\tプレーヤーの起動と同時にファイルを再生する\n/close\t\t再生終了後にプレーヤーを終了する (/play の使用時のみ有効)\n/shutdown \t再生終了後に OS をシャットダウンする\n/standby\t\t再生終了後に OS をスタンバイ モードにする\n/hibernate\t\t再生終了後に OS を休止状態にする\n/logoff\t\t再生終了後にログオフする\n/lock\t\t再生終了後にワークステーションをロックする\n/monitoroff\t再生終了後にモニタの電源を切る\n/playnext\t\t再生終了後にフォルダ内の次のファイルを開く\n/fullscreen\t全画面表示モードで起動する\n/minimized\t最小化モードで起動する\n/new\t\t新しいプレーヤーを起動する\n/add\t\t\"pathname\" を再生リストに追加する\n\t\t/open および /play と同時に使用できる\n/randomize\t再生リストをランダム化する\n/regvid\t\tビデオ ファイルに関連付ける\n/regaud\t\tオーディオ ファイルに関連付ける\n/regpl\t\t再生リスト ファイルに関連付ける\n/regall\t\tサポートされているすべてのファイルの種類に関連付ける\n/unregall\t\tすべてのファイルの関連付けを解除する\n/start ms\t\t\"ms\" (ミリ秒) の位置から再生を開始する\n/startpos hh:mm:ss\thh:mm:ss の位置から再生を開始する\n/fixedsize w,h\tウィンドウ サイズを固定する\n/monitor N\tN 番目 (N は 1 から始まる) のモニタで起動する\n/audiorenderer N\tN 番目 (N は 1 から始まる) のオーディオ レンダラを使用する\n\t\t(\"出力\" 設定を参照)\n/shaderpreset \"Pr\"\t\"Pr\" シェーダ プリセットを使用する\n/pns \"name\"\t使用するパン&スキャンのプリセット名を指定する\n/iconsassoc\tファイル形式のアイコンを再度関連付ける\n/nofocus\t\tバックグラウンドで MPC-HC を開く\n/webport N\t指定したポート上でウェブ インターフェイスを開始する\n/debug\t\tOSD でデバッグ情報を表示する\n/nocrashreporter\tクラッシュ レポートを無効にする\n/slave \"hWnd\"\tスレーブとして MPC-HC を使用する\n/hwgpu \"index\"\tハードウェア デコーディングに使用される GPU のインデックスを設定する\n\t\tCUVID および DXVA2 (copy-back) でのみ使用できる\n/reset\t\t既定の設定を復元する\n/help /h /?\tコマンド ライン スイッチのヘルプを表示する\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "使用法: mpc-hc.exe \"pathname\" [switches]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2614,15 +2619,15 @@ msgstr "次の縦横比のプリセット"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "VidFrm: ウィンドウ サイズに変形"
+msgstr "VidFrm: ウィンドウの大きさに広げる"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
-msgstr "VidFrm: ウィンドウ サイズに合わせる"
+msgstr "VidFrm: ウィンドウに内接させる"
msgctxt "IDS_AG_VIDFRM_OUTSIDE"
msgid "VidFrm Outside"
-msgstr "VidFrm: 縦か横に合わせてカット"
+msgstr "VidFrm: ウィンドウに外接させる"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
@@ -2648,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "すべてのフィルタを有効にする(&E)"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "チューナー検出"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "字幕が読み込まれていないかサポートされていないレンダラを使用しています。"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "不明な作成者です。このロゴを作成された方はお知らせください!"
@@ -2666,11 +2663,11 @@ msgstr "現在のフォルダにはもうメディアファイルがありませ
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
-msgstr "フォルダ内の最初のファイルが、すでに読み込まれています。"
+msgstr "フォルダ内の最初のファイルが既に読み込まれています。"
msgctxt "IDS_LAST_IN_FOLDER"
msgid "The last file of the folder is already loaded."
-msgstr "フォルダ内の最後のファイルが、すでに読み込まれています。"
+msgstr "フォルダ内の最後のファイルが既に読み込まれています。"
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
@@ -2802,11 +2799,11 @@ msgstr "すべてのビデオ デコーダを無効にする"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
-msgstr "ウィンドウ サイズに変形"
+msgstr "ウィンドウの大きさに広げる"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
-msgstr "ウィンドウ サイズに合わせる"
+msgstr "ウィンドウに内接させる"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
@@ -2818,7 +2815,7 @@ msgstr "拡大 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr "縦か横に合わせてカット"
+msgstr "ウィンドウに外接させる"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
@@ -2826,7 +2823,7 @@ msgstr "音声: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
-msgstr "ファイルを​​再度開く"
+msgstr "ファイルを​​開き直す"
msgctxt "IDS_MFMT_AVI"
msgid "AVI"
@@ -3102,31 +3099,31 @@ msgstr "入力タイプ: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
-msgstr "アンビエント ライト: 明るい (ガンマ 2.2)"
+msgstr "環境光: 明るい (ガンマ 2.2)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
msgid "Ambient Light: Dim (2.35 Gamma)"
-msgstr "アンビエント ライト: 薄暗い (ガンマ 2.35)"
+msgstr "環境光: 薄暗い (ガンマ 2.35)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
msgid "Ambient Light: Dark (2.4 Gamma)"
-msgstr "アンビエント ライト: 暗い (ガンマ 2.4)"
+msgstr "環境光: 暗い (ガンマ 2.4)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "色空間変換の方法: 知覚的"
+msgstr "レンダリングの目的: 知覚的"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "色空間変換の方法: 相対的な色域を維持"
+msgstr "レンダリングの目的: 相対カラーメトリック"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr "色空間変換の方法: 彩度"
+msgstr "レンダリングの目的: 彩度"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "色空間変換の方法: 絶対的な色域を維持"
+msgstr "レンダリングの目的: 絶対カラーメトリック"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
@@ -3274,7 +3271,7 @@ msgstr "MPC-HC v%s が使用できます。現在のバージョンは v%s. で
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "更新サーバーが見つかりません。\n\nインターネット接続を確認して、再試行してください。"
+msgstr "更新サーバーが見つかりません。\n\nインターネット接続を確認して再試行してください。"
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3390,11 +3387,11 @@ msgstr "コマ送りできません。別のビデオ レンダラを試して
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、RealMedia 用の標準ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションで、RealMedia 用の DirectX レンダラのいずれかを選択し、ファイルを再度開いてください。"
+msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、RealMedia 用の標準ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションで、RealMedia 用の DirectX レンダラのいずれかを選択してファイルを開き直してください。"
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、QuickTime 用の標準ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションで、QuickTime 用の DirectX レンダラのいずれかを選択し、ファイルを再度開いてください。"
+msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、QuickTime 用の標準ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションで、QuickTime 用の DirectX レンダラのいずれかを選択してファイルを開き直してください。"
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3402,11 +3399,7 @@ msgstr "「画像を保存」 および 「サムネイルを保存」 の機能
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、オーバーレイ ミキサ ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションでビデオレンダラを変更し、ファイルを再度開いてください。"
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "オンライン字幕データベースに接続できません。"
+msgstr "「画像を保存」 および 「サムネイルを保存」 の機能は、オーバーレイ ミキサ ビデオ レンダラでは動作しません。\nMPC-HC の出力オプションでビデオ レンダラを変更してファイルを開き直してください。"
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
@@ -3470,7 +3463,7 @@ msgstr "正しい時間の形式は [-]hh:mm:ss.ms です。 (例: 01:23:45.678)
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
-msgstr "このタイプは既にリストに存在します!"
+msgstr "このタイプは既に一覧にあります!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
@@ -3574,15 +3567,15 @@ msgstr "「直前のキーフレーム」を選択した場合、実際のシー
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr "すべてのファイル形式に関連付けます"
+msgstr "すべての形式に関連付けます"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr "ビデオ ファイル形式にのみ関連付けます"
+msgstr "ビデオ形式にのみ関連付けます"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "オーディオ ファイル形式にのみ関連付けます"
+msgstr "オーディオ形式にのみ関連付けます"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
@@ -3600,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "プロバイダ"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "聴覚障害者"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "ダウンロード数"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "スコア"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "オンライン字幕検索に失敗しました。"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "オンライン字幕検索を中止しました。"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "オンライン字幕検索が完了しました。%d 個の字幕が見つかりました。"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "オンライン字幕検索が完了しました。字幕が見つかりませんでした。"
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "字幕をダウンロード"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "オンラインで字幕を検索中。しばらくお待ちください..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "オンライン字幕検索を中止しています..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "ユーザー名"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "ステータス"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "準備完了..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "実装されていません。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "アップロード中..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "字幕は正常にアップロードされました。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "字幕のアップロードに失敗しました。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "字幕のアップロードを中止しました。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "字幕は既に存在します。"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "字幕をアップロード中。しばらくお待ちください..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "アップロードが完了しました。"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "アップロードを中止しました。"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "アップロードに失敗しました。"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "ダウンロードして開く"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "セットアップ"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "リセット"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "上へ移動"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "下へ移動"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "URL を開く"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "言語"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "エラー: インターネット接続が確立できませんでした。"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Web サイトの資格情報を入力します"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "接続先の資格情報を入力します:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "縦横比: 正方形ピクセルを想定 (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "ダウンロード済み [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "字幕をアップロード"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "字幕ファイル \"%s\" をアップロードしてもよろしいですか?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "サポートされている言語を取得しています..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "\"%S\" にログインできませんでした。( ユーザー名: \"%S\" ) \n\n正しいユーザー名とパスワードを入力するか、匿名ユーザーとしてログインするために資格情報をリセットしてください。"
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "自動検索とダウンロードは、ここに入力されたパターンのいずれかがそのパスに含まれているすべてのメディア ファイルで無効になります。\n例: \"private dir\\videos|work\\\" のようにタイプします。"
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\t最初のファイルかフォルダが読み込まれる\n\t\t(ワイルドカードの使用可, \"-\" が標準入力を表す)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\t追加のオーディオ ファイルを読み込む"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\t追加のオーディオ ファイルを XXms シフトして読み込む\n\t\t(ファイルが \"...DELAY XXms...\" を含む場合)"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tDirect3D フルスクリーン モードで起動する"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\t追加の字幕ファイルを読み込む"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tDLL から DirectShow フィルタを読み込む (ワイルドカードの使用可)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tDVD モードで起動する, \"pathname\" は DVD フォルダを表す (省略可能)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tタイトル T のチャプター C から再生を開始する"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tタイトル T の位置 P (hh:mm:ss) から再生を開始する"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\t音楽 CD または (S)VCD の全トラックを読み込む\n\t\t\"pathname\" はドライブ パスを指定する (省略可能)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\t既定のビデオ デバイスを開く"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\t自動的に再生を開始せずにファイルを開く"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tプレーヤーの起動と同時にファイルを再生する"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\t再生終了後にプレーヤーを終了する (/play の使用時のみ有効)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown \t再生終了後に OS をシャットダウンする"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\t再生終了後に OS をスタンバイ モードにする"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\t\t再生終了後に OS を休止状態にする"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\t再生終了後にログオフする"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\t再生終了後にワークステーションをロックする"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\t再生終了後にモニタの電源を切る"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\t再生終了後にフォルダ内の次のファイルを開く"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\t全画面表示モードで起動する"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\t最小化モードで起動する"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\t新しいプレーヤーを起動する"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\t\"pathname\" を再生リストに追加する, /open および /play と同時に使用できる"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\t再生リストをランダム化する"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tビデオ ファイルに関連付ける"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tオーディオ ファイルに関連付ける"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\t再生リスト ファイルに関連付ける"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tサポートされているすべてのファイルの種類に関連付ける"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tすべてのファイルの関連付けを解除する"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\t\"ms\" (ミリ秒) の位置から再生を開始する"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\thh:mm:ss の位置から再生を開始する"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tウィンドウ サイズを固定する"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tN 番目 (N は 1 から始まる) のモニタでプレーヤーを起動する"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tN 番目 (N は 1 から始まる) のオーディオ レンダラを使用する (\"出力\" 設定を参照)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\t\"Pr\" シェーダ プリセットを使用する"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\t使用するパン&スキャンのプリセット名を指定する"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\t形式アイコンを再度関連付ける"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tバックグラウンドで MPC-HC を開く"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\t指定したポート上でウェブ インターフェイスを開始する"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tOSD でデバッグ情報を表示する"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tクラッシュ レポートを無効にする"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tスレーブとして MPC-HC を使用する"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tハードウェア デコーディングに使用される GPU のインデックスを設定する\n\t\tCUVID および DXVA2 (copy-back) でのみ使用できる"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\t既定の設定を復元する"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tコマンド ライン スイッチのヘルプを表示する"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "自動的にダウンロードされる字幕スコアに対する閾値です。高い値の場合、より正確に一致した字幕が読み込まれます。低い値の場合、誤った字幕が読み込まれる可能性があります。完璧な値はありません。最適なものを選んでください。"
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "音声の遅延 (ミリ秒)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "既定のツール バーのサイズ (ピクセル単位) です。"
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "ベクター化された新しいツール バーの代わりに古いものを使用します。"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
index df656e8f9..90d9367f4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Level ASMer <zx132435@naver.com>, 2014-2015
+# Level ASMer <zx132435@naver.com>, 2014-2017
# limeburst <me@limeburst.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-06 16:46+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-02 01:37+0000\n"
+"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/mpc-hc/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "정보"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 'Authors.txt' 파일 참조"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 'Authors.txt' 파일 참조"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -255,7 +255,7 @@ msgstr "언어"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Title bar"
-msgstr "제목표시줄"
+msgstr "제목 표시줄"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
msgid "Display full path"
@@ -263,7 +263,7 @@ msgstr "전체 경로 표시"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
-msgstr "파일이름만 표시"
+msgstr "파일 이름만 표시"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
@@ -283,11 +283,11 @@ msgstr "트래이에 아이콘 보이기"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "OSD보이기 (재시작필요)"
+msgstr "OSD 보이기 (재시작 필요)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
-msgstr "리사이즈시 창비율 제한"
+msgstr "리사이즈시 창 비율 제한"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
@@ -311,7 +311,7 @@ msgstr "커버 아트 지원시 활성화"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
-msgstr "히스토리"
+msgstr "기록"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
@@ -319,7 +319,7 @@ msgstr "최근에 열었던 파일목록 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
-msgstr "마지막 재생 목록를 기억"
+msgstr "최근 재생 목록를 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
@@ -331,11 +331,11 @@ msgstr "DVD 위치 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
-msgstr "마지막 윈도우창위치 기억"
+msgstr "최근 창 위치 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
-msgstr "마지막 윈도우창크기 기억"
+msgstr "최근 창 크기 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "번 재생"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "반복 모드:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "출력"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "경고"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "만약 비디오카드 설정으로 위치설정 및 전체화면 안티앨리어싱을 설정했다면 자막이 잘 표시되지 않을수도 있습니다."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -663,7 +667,7 @@ msgstr "빠른 탐색 (키프레임)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
-msgstr ""
+msgstr "탐색 바에 챕터 마크를 보여주기"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
@@ -675,7 +679,7 @@ msgstr "전체화면시 최소화 예방 (기본 모니터가 없을시)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "고도화된 작업 표시줄 기능 사용"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -691,7 +695,7 @@ msgstr "OSD 글꼴:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr ""
+msgstr "Logitech LCD 지원 활성화 (실험적)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "DirectShow 오디오"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr ""
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (렌더리스)와 "
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1167,7 +1171,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "자막"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1183,6 +1187,10 @@ msgstr "회전"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
+msgstr "자막 렌더러"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
msgstr ""
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
@@ -1203,7 +1211,7 @@ msgstr "로컬호스트로만 접속허용"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "미리보기 활성화"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI 핸들러: (.확장명1=경로1;.확장명2=경로2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "자막파일을 찾았습니다"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "다운로드 && 열기"
+msgid "Download subtitles"
+msgstr "자막 다운로드"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "지금 로드한 자막과 대체"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "다운로드"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "새로고침"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "중단됨"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "옵션"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "자막 업로드"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "업로드"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "중단됨"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "옵션"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "다른 이름으로 저장..."
@@ -1299,7 +1335,7 @@ msgstr "내보내기"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr ""
+msgstr "키 내보내기"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
@@ -1459,7 +1495,7 @@ msgstr "전체화면으로 재생시작"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
-msgstr ""
+msgstr "전체화면에서 컨트롤 숨기기"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
msgid "ms"
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "초기화"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "온라인 데이터베이스"
+msgid "Online search, download and upload subtitles"
+msgstr "자막 온라인 검색, 다운로드와 업로드"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "온라인 자막 데이터베이스 URL:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "테스트"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1591,7 +1639,7 @@ msgstr ""
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr ""
+msgstr "셰이더 프리셋"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1655,7 +1703,7 @@ msgstr "기본값"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "기기"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
@@ -1663,15 +1711,15 @@ msgstr ""
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "비트스트리밍 허용"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "옵션"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "스테레오 크로스피드 활성화 (헤드폰용)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
@@ -1687,11 +1735,11 @@ msgstr ""
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "레벨:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "참고"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
@@ -1711,11 +1759,11 @@ msgstr "확인"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr ""
+msgstr "충돌 보고"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "죄송합니다, MPC-HC가 그냥 충돌 된 것 같습니다. :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
@@ -1723,11 +1771,11 @@ msgstr ""
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "임의 정보"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr ""
+msgstr "이메일:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
@@ -1735,13 +1783,13 @@ msgstr ""
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr ""
+msgstr "문제 설명 (영어만 사용):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "MPC-HC 재시작"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "MPC-HC 종료"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
index 7e2cba90e..be4d629cf 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Level ASMer <zx132435@naver.com>, 2014-2015
+# Level ASMer <zx132435@naver.com>, 2014-2017
# limeburst <me@limeburst.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-20 03:35+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2017-02-02 01:14+0000\n"
"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/mpc-hc/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "썸네일 캡쳐..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "자막 불러오기(&L)..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "자막 저장하기(&S)..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "자막 데이터베이스"
+msgid "S&ubtitles"
+msgstr "자막"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "검색..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "자막 불러오기"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "업로드..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "자막 저장하기"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "다운로드..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "자막 다운로드"
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "자막 업로드"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -199,11 +195,11 @@ msgstr "잔상 테스트 (&T)"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr ""
+msgstr "통계 표시"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr ""
+msgstr "현재 시간을 표시"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "바깥쪽 윈도우창 크기/모양대로 조절(&O)"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "원본 비율 유지(&K)"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "화면비율"
+msgid "&Aspect Ratio"
+msgstr "측면 비율"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "기본값"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "기본값 (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "사각형 픽셀 추정 (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "모니터/바탕화면의 비율차이 수정"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "정지(&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "한 프레임씩 재생(&R)"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "반복"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "영원히"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "파일"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "재생 목록"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "재생속도 감소(&D)"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "자막 트랙"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "비디오 트랙"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
index 55c920cf4..16a83e720 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Level ASMer <zx132435@naver.com>, 2014
@@ -7,9 +7,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-20 03:35+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-02-02 01:19+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Korean (http://www.transifex.com/mpc-hc/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "등록 정보"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "기본 스타일(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "파일"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr ""
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "오버레이 믹서 렌더러"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "비디오 믹싱 렌더러 7 (윈도우)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "비디오 믹싱 렌더러 9 (윈도우)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "비디오 믹싱 렌더러 7 (렌더 적게)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "비디오 믹싱 렌더러 9 (렌더 적게)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "플레이어::웹 인터페이스"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "자막::데이터베이스"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "자세히"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "항상 비디오를 오버레이상태로 렌더링합니다. 일반적으로 YUV의 색공간만을 허용하고, RGB색상변환을 하지않고 그대로 표현하게 됩니다. 다른 모드들과 비교해서 가장 빠른속도를 가졌지만 TV-OUT 기능을 활성화했을때만 전체화면 미러링이 작동합니다."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "이것은 윈도우XP의 기본 렌러더입니다. 모든 렌더러 중에서 가장 안정적이지만 오버레이믹서보다는 약간 느립니다. 오버레이상태에서 실행될때 DirectDraw만 사용합니다."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "이것은 DirectX 9을 설치했을때만 사용할수 있습니다. 성능이나 품질은 VMR-7(창화면)과 같습니다. 그러나 오버레이 비디오 미러링이 불가능하고 VMR-7(창화면)보다 조금 느립니다."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "VMR-7 (창화면)과 같으나, 자막표시를 위해서 MPC-HC의 플러그인이 동작하는 렌더러입니다. 오버레이 비디오 미러링이 불가능합니다. TV-OUT기능을 사용할수 없고 바탕화면배색이 32비트로 설정되어있을때만 정상작동합니다. (YUY2출력만 가능)"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "리얼미디어의 고유렌더러입니다. SMIL형식은 작동하지만 안정적이지는 않습니다. 오버레이상태에서 실행될때 DirectDraw를 사용합니다."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "리얼미디어의 엔진을 이용해서 DX7기반의 VMR-7 (렌더리스)모드에서 렌더링합니다."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "리얼미디어의 엔진을 이용해서 DX9기반의 VMR-9 (렌더리스)모드에서 렌더링합니다."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "퀵타임의 고유렌더러입니다. 비디오화면을 조절할때 화면갱신속도가 느려질수 있고 다른 창의 뒤로 가려질수도 있습니다. 오버레이를 사용하지 못할 경우 GDI를 사용하게 됩니다."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "퀵타임의 엔진을 이용해서 DX7기반의 VMR-7 (렌더리스)모드에서 렌더링합니다."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "퀵타임의 엔진을 이용해서 DX9기반의 VMR-9 (렌더리스)모드에서 렌더링합니다."
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr ""
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "자막 다운로드"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "튜너 검색"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "자막이 로드되지않았거나 지원되지않는 렌더러입니다."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "VTS_xx_0.ifo 파일에 속해있는 VTS_xx_x.vob 파일을 로드합니다."
@@ -946,11 +962,11 @@ msgid "&Organize Favorites..."
msgstr "즐겨찾기 구성(&O)..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "순서 섞기"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr ""
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1050,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "울트라-와이드스크린으로 확대,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "전체화면에서 숨기기"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr ""
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr ""
msgctxt "IDS_HW_INDICATOR"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "이미지가 성공적으로 저장되었습니다."
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "자막 열기"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "자막 저장"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "썸네일이 성공적으로 저장되었습니다."
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "비디오 트랙"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec 세로"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "자막 파일 다운로드 중,기다리세요."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "암호화"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "예"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "아니오"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "이미지 너비"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL이 정확합니다!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "프로토콜 버전이 다릅니다. 플레이어를 업그레이드하거나 다른 주소를 선택하세요!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "화면 비율"
@@ -2314,7 +2322,7 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "화면 비율: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "화면 비율: 기본값"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "파일을 렌더하는데 실패"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "부정확한 URL, 자막 데이터베이스를 위치시킬수 없습니다!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "챕터: "
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "볼륨 부스트 최대"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "사용법: mpc-hc.exe \"경로이름\" [스위치]\n\n\"경로이름\"\t로드할 파일이나 디렉토리. (와일드카드\n\t\t사용가능, \"-\" denotes standard input)\n/dub \"더빙파일\"\t추가적인 오디오 파일\n/dubdelay \"파일\"\tXXms 딜레이된 추가적인 오디오 파일 (\n\t\t파일이 다음을 포함 \"...DELAY XXms...\")\n/d3dfs\t\tD3D 전체화면모드에서 렌더링\n/sub \"자막파일\"\t추가적인 자막파일\n/filter \"필터파일\"\tDLL파일에서 다이렉트쇼 필터를 로드함 (와일드카드사용가능)\n/dvd\t\tdvd재생모드, \"경로이름\" 을 지정했을 경우, DVD 폴더를 의마함 (옵션)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\t오디오CD 또는 (S)VCD의 모든 트랙을 로드함,\n\t\t\"경로이름\" 을 지정했을 경우 드라이브를 의미함 (옵션)\n/device\t\tOpen the default video device\n/open\t\t파일을 열고 재생을 시작하지는 않음\n/play\t\t파일을 열고 재생을 시작함\n/close\t\t재생이 끝나면 플레이어 종료 (/play 스위치를 같이 써야함)\n/shutdown\t재생이 끝나면 시스템 종료\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\t전체화면모드로 재생시작\n/minimized\t최소화모드로 재생시작\n/new\t\t플레이어 창을 하나 더 생성\n/add\t\t재생목록에 지정한 \"경로이름\"을 추가,\n\t\t/open 과 /play 스위치와 같이 사용가능\n/randomize\tRandomize the playlist\n/regvid\t\t비디오 파일 확장명을 MPC-HC로 연결\n/regaud\t\t오디오 파일 확장명을 MPC-HC로 연결\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tMPC-HC로 연결했던 확장명 해제\n/start ms\t\t지정한 \"ms\" (= 밀리초)위치에서 재생시작\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\t지정한 가로(w), 세로(h) 크기로 고정\n/monitor N\tN번 모니터에서 시작(N은 1이상이어야함)\n/audiorenderer N\t오디오렌더러 N 번(1부터 시작)을 사용해서 시작\n\t\t(\"출력\" 설정을 참고하세요)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\t명령입력 스위치 옵션을 출력\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "모든 필터 사용(&E)"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "튜너 검색"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "자막이 로드되지않았거나 지원되지않는 렌더러입니다."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "만든이 알수없음. 이 로고를 당신이 만들었다면 나에게 연락해주세요!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "'이미지 저장' 과 '썸넴일 저장' 은 비디오 렌더러가 오버레이 믹서로 설정되어있을 때는 작동하지 않습니다.\n'출력' 옵션에서 비디오 렌더러를 변경한 후에 파일을 다시 여십시오."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "온라인 자막 디비 접속 불가."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "EDL 편집기를 활성화하시겠습니까?"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "자막 다운로드"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "다운로드 && 열기"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "초기화"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "위로"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "아래로"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "자막 업로드"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.dialogs.po
index 259b1239f..d5d03504d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# linasmi <linasmi@mail.ru>, 2014-2015
-# Linas Tamašauskas, 2015
+# Linas Tamašauskas, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-06 12:02+0000\n"
-"Last-Translator: linasmi <linasmi@mail.ru>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-17 11:12+0000\n"
+"Last-Translator: Linas Tamašauskas\n"
"Language-Team: Lithuanian (http://www.transifex.com/mpc-hc/mpc-hc/language/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +27,7 @@ msgstr "Gerai"
msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
msgid "Cancel"
-msgstr "Ašaukti"
+msgstr "Atšaukti"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
msgid "Video"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Apie"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Autorinės teisės © 2002-2015 skaitykite Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Autorinės teisės © 2002-2017 skaitykite Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "kartus(ų)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Baigus groti"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Išvestis"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "Įspėjimas"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Jei jūs pakeisite padėtį ir įjungsite pilnaekranį išlyginimą vaizdo plokštės nustatymuose, subtitrai neatrodys geriau, bet papildomai eikvos procesorių."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Garso renderis"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) ir EVR (CP) nustatymai"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) ir EVR (CP) nustatymai"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Subtitrų renderis"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Klausyti prievadą:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI valdikliai: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Pasiekiami subtitrai internete"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Atsiųsti ir atverti"
+msgid "Download subtitles"
+msgstr "Atsisiųsti subtitrus"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Pakeisti jau įkeltus subtitrus"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Nustatymai"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Nustatymai"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Išsaugoti Kaip..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Atstatyti"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Duomenų bazė internete"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Subtitrų duomenų bazės URL:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testas"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.menus.po
index 7679e4939..f34150225 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.menus.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# linasmi <linasmi@mail.ru>, 2015
-# Linas Tamašauskas, 2014-2015
+# linasmi <linasmi@mail.ru>, 2015-2016
+# Linas Tamašauskas, 2014-2016
# Martynas Kybartas <maky@super.lt>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-09-11 11:11+0000\n"
-"Last-Translator: linasmi <linasmi@mail.ru>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-17 15:02+0000\n"
+"Last-Translator: Linas Tamašauskas\n"
"Language-Team: Lithuanian (http://www.transifex.com/mpc-hc/mpc-hc/language/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "&Atverti failą..."
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "Atverti D&VD/BD..."
+msgstr "Atverti &DVD/BD..."
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
@@ -44,7 +44,7 @@ msgstr "Atverti &katalogą"
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
-msgstr "Atverti &diską"
+msgstr "A&tverti diską"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
@@ -66,29 +66,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Įrašyti &miniatiūras"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Įkelti &subtitrus..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Įrašyti s&ubtitrus..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Subtitrų d&uomenų bazė"
+msgid "S&ubtitles"
+msgstr "Subtitrai"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Įke&lti subtitrus..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Ieškoti..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Išsaugoti sub&titrus"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Įk&elti..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Ats&isiųsti subtitrus"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "At&sisiųsti"
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Nusiųsti subtitrus"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -148,7 +144,7 @@ msgstr "Tamsinimų &derinimas"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "&Sąsajos parinktys..."
+msgstr "Sąsajos &parinktys..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
@@ -410,17 +406,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "&Apkarpytas pagal langą"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Iš&laikyti kraštinių santykį"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Pakeisti proporciją"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Numatytoji"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,13 +434,17 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Taisyti monitoriaus / darbalaukio kraštinių santykio skirtumą"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Padėtis ir dydis"
+msgstr "&Padėtis ir dydis"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -535,9 +531,25 @@ msgid "&Stop"
msgstr "&Stabdyti"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Kadro žingsnis"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr ""
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Su&lėtinti"
@@ -567,7 +579,7 @@ msgid "Su&btitle Track"
msgstr "Su&btitrai"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Vaizdo takelis"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.strings.po
index 04577f66e..53fd843ac 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.lt.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.lt.strings.po
@@ -1,17 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# linasmi <linasmi@mail.ru>, 2014-2015
+# linasmi <linasmi@mail.ru>, 2014-2016
# Linas Tamašauskas, 2014
-# Linas Tamašauskas, 2014-2015
+# Linas Tamašauskas, 2014-2016
# Martynas Kybartas <maky@super.lt>, 2014
# Underground78, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Lithuanian (http://www.transifex.com/mpc-hc/mpc-hc/language/lt/)\n"
"MIME-Version: 1.0\n"
@@ -64,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Ypatybės"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Numatytasis stilius"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Failai"
@@ -120,6 +128,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Jei atvaizdavimo tikslas liko neapibrėžtas, SPV/ASS subtitrai bus vaizduojami atitinkamai su vaizdo kadru, o visi kiti tekstiniai subtitrai bus vaizduojami atitinkamai su langu."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Niekada (greičiausiai)"
@@ -520,18 +548,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (lange)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (lange)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (lange)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (lange)"
@@ -584,10 +604,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Grotuvas::Web Sąsaja"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtirai::Duomenų bazė"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalės"
@@ -608,17 +624,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Renderingas visuomet vyksta overlay režime. Įprastai pasiekiami tik YUV formatai, bet jie pateikiami tiesiogiai, be vertimo į RGB. Tai greičiausias metodas ir tik čia šimtu procentų veikia „veidrodinė“ vaizdo išvestis (į TV-OUT)."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Numatytasis vaizdo renderis Windows XP. Labai stabilus ir tik šiek tiek lėtesnis už Overlay mixer metodą. Naudoja DirectDraw ir,esant galimybei, pasileidžia overlėjuje."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Pasiekiamas tik su įdiegtu DirectX 9. Galimybės analogiškos VMR-7 (windowed), tačiau niekad nenaudoja overlėjaus, o todėl gali būti šiek tiek lėtesnis už VMR-7 (windowed)"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Tas pats, kaip ir VMR-7 (windowed), bet su pluginu MPC-HC Allocator-Presenter titrams vaizduoti. \"Veidrodinis\" vaizdas overlėjuje NEVEIKS. Spalvų gylį rekomenduojama nustatyti \"True Color\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Galima tik jei turite įdiegtą „DirectX 9“. Labai stabilu, tačiau jis niekada nenaudoja Overlėjaus renderinimo ir dėl to jis gali būti šiek tiek lėtesnis nei Overlėjaus mikseris."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -656,10 +664,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Savas Real renderis. SMIL skriptai veiks, tačiau be interaktyvumo. Naudoja DirectDraw ir, pagal galimybę, pasileidžia overlėjuje."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Real išvestis apdorojama su DX7 Allocator-Presenter VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Real išvestis apdorojama su DX97 Allocator-Presenter VMR-9 (renderless)."
@@ -668,10 +672,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Savas QuickTime renderis. Sulėtėja keičiant vaizdo kadro dydį arba jei langą dalinai uždengia kitas. Jei overlėjus nepasiekiamas, grįžta prie GDI metodo."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTime išvestis apdorojama su DX7 Allocator-Presenter VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTime išvestis apdorojama su DX9 Allocator-Presenter VMR-9 (renderless)."
@@ -752,9 +752,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Norint peržiūrėti įmontuotą resursą jūsų naršyklėje, būtina įjungti Web sąsają.\n\n Jei jūs norite tik išsaugoti informaciją, spragtelėkite mygtuką \"Išsaugoti kaip\"."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Atsisiųsti subtitrus"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -812,6 +816,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Sumažina plyšius, veikia apeinant VSync įterpta D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Imtuvo skenavimas"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Subtitrai neįkelti arba nepalaikomas renderis."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Atverti VTS_xx_0.ifo, jog būtų įkeliami VTS_xx_x.vob failai kaip viena dalis"
@@ -949,11 +965,11 @@ msgid "&Organize Favorites..."
msgstr "Tva&rkyti parankinius"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Maišyti"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Atidaryti failo vietą"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1037,7 +1053,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Didinti Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Slėpti pilno ekrano režime"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1225,7 +1241,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Pridėti aplanką su turiniu"
msgctxt "IDS_HW_INDICATOR"
@@ -1428,13 +1444,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Nuotrauka sėkmingai išsaugota"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Įkelti subtitrus"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Išsaugoti subtitrus"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1561,7 +1577,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatiūros sėkmingai išsaugotos"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Vaizdo takelis"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1722,7 +1738,7 @@ msgstr "Tik vaizdo ka&dras"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Rodyti antraštę ir meniu"
+msgstr "&Rodyti antraštę ir meniu"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
@@ -1797,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "Sumažinti kadro aukštį"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Subtitras(-ai) atsiunčiami, prašome palaukti."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2060,11 +2076,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Užšifruota"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Taip"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ne"
@@ -2216,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Plotis"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Įvestas teisingas URL!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Neatitinka protokolo versija, prašome atnaujinti grotuvą arba pasirinkite kitą adresą!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Proporcijos"
@@ -2317,8 +2325,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Neįmanoma sukurti failo su tokiomis mažomis miniatiūromis.\n\nPamėginkite sumažinti miniatiūrų kiekį arba padidinti bendrą dydį."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Subtitrams įkelti būtina pakeisti renderio tipą ir įkelti failą iš naujo.\n - DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync arba madVR\n - RealMedia: specialus renderis RealMedia, arba atidarykite per DirectShow\n - QuickTime: DX7 arba DX9 renderis QuickTime\n - ShockWave: nepalaikomas"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Norėdami įkelti subtitrus turite pakeisti vaizdo renderio tipą ir atidaryti failą iš naujo.\n- DirectShow: VMR-9 (renderless), EVR (KP), Sync \", madVR vs Haali\n- REALMEDIA: Specialusis RealMedia renderis, arba atidaryti jį per DirectShow\n- \"QuickTime: DX7 ar DX9 QuickTime renderis\n- Shockwave: n/d"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2329,8 +2337,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Proporcijos: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Proporcijos: pagal nutylėjimą"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2368,10 +2376,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Nepavyko renderinti failo"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Neteisinga URL, neįmanoma surasti ten duomenų bazės!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Skyrius:"
@@ -2565,8 +2569,8 @@ msgid "Volume boost Max"
msgstr "Garso stiprinimas Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Naudojimas: mpc-hc.exe „kelias“ [perjungikliai]\n\n„kelias“\tFailas ar aplankas įkėlimui (leidžiamos\n\t\tkaukės, \"-\" denotes standard input)\n/dub \"dubname\"\tĮkelti papildomą garso failą\n/dubdelay \"file\"\tĮkelti papildomą garso failą su XXms poslinkiu (jei\n\t\tfaile yra \"...DELAY XXms...\")\n/d3dfs\t\tPradėti pilnaekraniu D3D režimu\n/sub \"subname\"\tĮkelti papildomą subtitrų failą\n/filter \"filtername\"\tĮkelti DirectShow filtrus iš dinaminės\n\t\tbibliotekos (leidžiamos kaukės)\n/dvd\t\tPaleisti DVD režime, „kelias“ reiškia dvd\n\t\taplankąr (pasirinktinai)\n/dvdpos T#C\tPradėti groti nuo title T, chapter C\n/dvdpos T#hh:mm\tPradėti groti nuo title T, pozicijos hh:mm:ss\n/cd\t\tĮkelti visus audio cd arba (s)vcd takelius,\n\t\t„kelias“ reiškia kelią į diską (pasirinktinai)\n/device\t\tAtidaryti numatytąjį vaizdo įrenginį\n/open\t\tAtidaryti failą, nepradėti automatiškai groti\n/play\t\tPradėti groti iškart paleidus\n\t\tgrotuvą\n/close\t\tBaigus groti uždaryti grotuvą (veikia tik\n\t\tnaudojant su /play)\n/shutdown\tBaigus groti šjungti kompiuterį\n/standby\t\tBaigus groti perjungti sistemą į laukimo režimą\n/hibernate\tBaigus groti užmigdyti kompiuterį\n/logoff\t\tBaigus groti išsiregistruoti\n/lock\t\tBaigus groti užrakinti kompiuterį\n/monitoroff\tBaigus groti išjungti monitorių\n/playnext\t\tBaigus groti atidaryti kitą aplanko failą\n/fullscreen\tPaleisti pilnaekrane veiksena\n/minimized\tPaleisti minimizuotoje veiksenoje\n/new\t\tNaudoti naują grotuvo kopiją\n/add\t\tPridėti „kelią“ į grojaraštį, galima kombinuoti\n\t\tsu /open ir /play\n/randomize\tRandomize the playlist\n/regvid\t\tSusieti su vaizdo failais\n/regaud\t\tSusieti su garso failais\n/regpl\t\tSusieti su grojaraščio failais\n/regall\t\tSusieti su visais palaikomais failais\n/unregall\t\tPašalinti visus failų susiejimus\n/start ms\t\tPradėti groti nuo \"ms\" (= milisekundės)\n/startpos hh:mm:ss\tPradėti groti nuo pozicijos hh:mm:ss\n/fixedsize w,h\tNustatyti fiksuotą lango dydį\n/monitor N\tPaleisti grotuvą monitoriuje N, kur N skaičiuojama nuo 1\n/audiorenderer N\tNaudoti garso renderį N, kur N skaičiuojama nuo 1\n\t\t(žiūrėkite „Išvestis“ nustatymuose)\n/shaderpreset \"Pr\"\tNaudoti \"Pr\" tamsinimo priešnustatymus\n/pns \"name\"\tNurodyti Pan&Scan priešnustatymo vardą naudojimui\n/iconsassoc\tSusieti piktogramų formatą iš naujo\n/nofocus\t\tAtidaryti MPC-HC fone\n/webport N\tPaleisti web sąsają per nurodytą prievadą\n/debug\t\tRodyti derinimo informaciją OSD\n/nocrashreporter\tIšjungti lūžių pranešimus\n/slave \"hWnd\"\tNaudoti MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tAtstatyti nustatymus pagal nutylėjimą\n/help /h /?\tRoditi pagalbą apie komandinės eilutės perjungiklius\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2652,14 +2656,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Įgalinti visus filtrus"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Imtuvo skenavimas"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtitrai neįkelti arba nepalaikomas renderis."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Nežinomas autorius. Susisiekite su mumis, jei tai jūsų logotipas."
@@ -3408,10 +3404,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Funkcijos „Išsaugoti paveikslėlį“ ir „Išsaugoti miniatiūras“ neveikia su Overlay Mixer vaizdo renderiu.\nPakeiskite vaizdo renderį MPC iššvesties nustatymuose ir atidarykite failą iš naujo."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Neįmanoma prisijungti prie internetinės subtitrų duomenų bazės."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Ar jūs norite aktyvuoti EDL redaktorių?"
@@ -3604,3 +3596,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Atsisiųsti subtitrus"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Atsiųsti ir atverti"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Atstatyti numatytuosius"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Kelti Aukštyn"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Kelti Žemyn"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Kalbos"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
index fdeb4f7ef..532af06b0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -61,28 +61,24 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr ""
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
msgstr ""
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr ""
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr ""
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr ""
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
msgstr ""
msgctxt "ID_FILE_PROPERTIES"
@@ -405,16 +401,12 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr ""
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr ""
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
+msgid "&Aspect Ratio"
msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
@@ -437,6 +429,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr ""
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr ""
@@ -530,7 +526,23 @@ msgid "&Stop"
msgstr ""
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
+msgstr ""
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
msgstr ""
msgctxt "ID_PLAY_DECRATE"
@@ -562,7 +574,7 @@ msgid "Su&btitle Track"
msgstr ""
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
index 89c64d0e6..b0f14d654 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# abuyop <abuyop@gmail.com>, 2014-2015
+# abuyop <abuyop@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-24 14:35+0000\n"
-"Last-Translator: abuyop <abuyop@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/mpc-hc/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Perihal"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Hakcipta © 2002-2015 sila rujuk Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Hakcipta © 2002-2017 sila rujuk Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -421,12 +421,16 @@ msgid "time(s)"
msgstr "masa(s)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Mod ulang:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Selepas Main Balik"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Output"
+msgid "Default zoom"
+msgstr "Zum lalai"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,7 +569,7 @@ msgid "Warning"
msgstr "Amaran"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Jika anda batal dan benarkan anti-alias skrin penuh pada tetapan kad video anda, sarikata tidak akan kelihatan lebih baik tetapi ia pasti banyak gunakan CPU anda."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1121,8 +1125,8 @@ msgid "Audio Renderer"
msgstr "Penerap Audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Tetapan VMR-7/VMR-9 (tak terap) dan EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Tetapan VMR-9 (tak terap) dan EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Penerap Sarikata"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Cache Pelorek terkompil"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Dengar pada port:"
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Pengendali CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Sarikata tersedia diatas talian"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Muat Turun && Buka"
+msgid "Download subtitles"
+msgstr "Muat turun sarikata"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Ganti sarikata dimuat semasa"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Muat Turun"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Segar Semula"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Henti Paksa"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Pilihan"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Muat naik sarikata"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Muat Naik"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Henti Paksa"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Pilihan"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Simpan Sebagai..."
@@ -1541,16 +1577,28 @@ msgid "Reset"
msgstr "Tetap Semula"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Pangkalan data atas talian"
+msgid "Online search, download and upload subtitles"
+msgstr "Gelintar, muat turun dan muat naik sarikata secara atas-talian"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Gelintar dan muat turun sarikata secara automatik jika tiada ditemui secara dalaman"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Utamakan sarikata untuk cacat pendengaran (bila ditunjuk oleh penyedia sarikata)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Abai fail yang mengandungi mana-mana perkataan berikut(s):"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL dasar bagi pangkalan data sarikata atas-talian:"
+msgid "Languages in order of preference:"
+msgstr "Bahasa mengikut tertib keutamaan:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Uji"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Muat naik sarikata aktif secara automatik dipenghujung main balik video"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
index ab86210bc..82507ee51 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# abuyop <abuyop@gmail.com>, 2014-2015
+# abuyop <abuyop@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-27 03:10+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-10 14:39+0000\n"
"Last-Translator: abuyop <abuyop@gmail.com>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/mpc-hc/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Simpan &Lakaran Kenit..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "Sarikata"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "&Muat Sarikata..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "Simpan S&arikata..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Pa&ngkalan Data Sarikata"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Gelintar..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Muat &Turun Sarikata..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "M&uat Naik..."
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Muat &Turun..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Muat &Naik Sarikata..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Sentuh Tetingkap Dari &Luar"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Kekal Nisbah Bidang"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Batal Nisbah &Bidang"
+msgid "&Aspect Ratio"
+msgstr "Nisbah &Bidang"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Lalai"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Lalai (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Anggap &Piksel Petak (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Be&tul Perbezaan AR Desktop/Monitor"
@@ -533,9 +529,25 @@ msgid "&Stop"
msgstr "&Henti"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Langkah B&ingkai"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Ulang"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Se&lamanya"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Fail"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Senarai Main"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "K&urangkan Kadar"
@@ -565,7 +577,7 @@ msgid "Su&btitle Track"
msgstr "Trek Sa&rikata"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Trek &Video"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
index f4a369748..1e61d4ac2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# abuyop <abuyop@gmail.com>, 2014-2015
+# abuyop <abuyop@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-12-06 14:55+0000\n"
+"Last-Translator: abuyop <abuyop@gmail.com>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/mpc-hc/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +60,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Sifat"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fail"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Ga&ya Lalai"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Senarai Main"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Fail"
@@ -116,6 +124,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Jika sasaran penerapan dibiarkan tidak ditakrif, sarikata SSA/ASS akan diterap relatif dengan bingkai video manakala lain-lain sarikata teks akan diterap relatif dengan tetingkap."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Mod Ulang: Senarai Main"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Mod Ulang: Fail"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Ulang Selamanya: Hidup"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Ulang Selamanya: Mati"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Ulang Selamanya"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Tidak sesekali (pendekatan terpantas)"
@@ -474,7 +502,7 @@ msgstr "Pelbagai"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr "Maklumat Media"
+msgstr "MediaInfo"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -516,18 +544,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Penerap Pengadun Tindihan"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Penerap Adunan Video 7 (bertetingkap)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Penerap Adunan Video 9 (bertetingkap)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Penerap Adunan Video 7 (tanpa terap)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Penerap Adunan Video 9 (tak diterap)"
@@ -580,10 +600,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Pemain::Antaramuka Sesawang"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Sarikata::Pangkalan Data"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Terperinci"
@@ -604,17 +620,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Sentiasa terap dalam tindihan. Umumnya hanya format YUV dibenarkan, tetapi ia dipersembahkan secara langsung tanpa pertukaran warna ke RGB. Ini adalah kaedah penerapan terpantas dan dimana anda pasti mengenai pencerminan video berskrin penuh ke pengaktifan tv-out."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Penerap lalai Windows XP. Sangat stabil dan hanya sedikit lembab berbanding pengadun Tindihan. Menggunakan DirectDraw dan berjalan dalam Tindihan bila ia boleh."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Hanya tersedia jika anda mempunyai DirectX 9 dipasang. Mempunyai keupayaan yang sama seperti VMR-7 (bertetingkap), tetapi ia tidak sesekali guna penerapan Tindihan dan disebabkan ini ia menjadi lebih lembab berbanding VMR-7 (bertetingkap)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Sama seperti VMR-7 (bertetingkap), tetapi dengan pemalam Allocator-Presenter MPC-HC untuk sarikata. Pencerminan video Tindihan TIDAK AKAN berfungsi. Ruang warna desktop \"True Color\" disarankan."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Hanya tersedia jika anda mempunyai DirectX 9 dipasang. Sangat stabil tetapi ia tidak sesekali guna penerapan Tindihan Atas dan disebabkan ini ia menjadi lebih lembab berbanding pengadun Tindihan Atas."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -652,10 +660,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Penerap Real sendiri. Skrip SMIL akan berfungsi, tetapi interaksi berkemungkinan tidak berfungsi. Gunakan DirectDraw dan dijalankan dalam Tindihan bila ia boleh."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Output bagi enjin Real diterap oleh Allocator-Presenter berasaskan-DX7 bagi VMR-7 (tak diterap)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Output bagi enjin Real diterap oleh Allocator-Presenter berasaskan-DX9 bagi VMR-9 (tak diterap)."
@@ -664,10 +668,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Penerap QuikTime sendiri. Menjadi lebih perlahan jika kawasan videonya disaiz semula atau sebahagiannya ditutupi oleh tetingkap lain. Bila Tindihan tidak tersedia ia berkemungkinan akan jatuh-balik ke GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Output bagi enjin QuickTime diterap oleh Allocator-Presenter berasaskan-DX7 bagi VMR-7 (tak diterap)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Output bagi enjin QuickTime diterap oleh Allocator-Presenter berasaskan-DX9 bagi VMR-9 (tak diterap)."
@@ -748,9 +748,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Untuk melihat sumber terbenam dalam pelayar anda anda perlu benarkan antaramuka sesawang.\n\nGuna butang \"Simpan Sebagai\" jika anda hanya mahu simpan maklumat."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Muat turun sarikata"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Muat Turun Sarikata..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Muat Naik Sarikata..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +812,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Kurangkan pengoyakan dengan melangkaui binaan VSync lalai ke D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Imbas penala"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Sarikata tidak dimuatkan atau penerap tidak disokong."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Simpan pelorek terkompil dalam AppData setempat untuk melajukan masa muat."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Buka VTS_xx_0.ifo untuk muatkan fail VTS_xx_x.vob dalam satu badan"
@@ -945,11 +961,11 @@ msgid "&Organize Favorites..."
msgstr "&Urus Kegemaran..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Kocok"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Buka lokasi fail"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1033,7 +1049,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zum Ke Skrin Lebar-Ultra,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Sembunyi bila Skrin Penuh"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1221,7 +1237,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Tambah folder yang dikandungi"
msgctxt "IDS_HW_INDICATOR"
@@ -1424,13 +1440,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Imej berjaya disimpan"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Muat Sarikata"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Muat Sarikata..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Simpan Sarikata"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Simpan Sarikata..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,7 +1573,7 @@ msgid "Thumbnails saved successfully"
msgstr "Lakaran kenit berjaya disimpan"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Trek &Video"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1793,8 +1809,8 @@ msgid "PnS Dec Height"
msgstr "Tinggi PnS Turun"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Memuat turun sarikata(s), tunggu sebentar."
+msgid "Downloading [%s] \"%s\""
+msgstr "Memuat turun [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2072,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Disulitkan"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ya"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Tidak"
@@ -2212,14 +2228,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Lebar imej"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL kelihatan ok!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Versi protokol tidak sepadan, sila tatar pemain anda atau pilih alamat yang lain!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Nisbah Bidang"
@@ -2313,8 +2321,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Lakaran kenit terlalu kecil, mustahil dapat hasilkan fail.\n\nCuba kurangkan bilangan lakaran kenit atau tingkatkan jumlah saiz."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Untuk muatkan sarikata anda perlu menukar jenis penerap dan buka semula fail.\n- DirectShow: VMR-7/VMR-9 (tak diterap), EVR (CP), Sync, madVR atau Haali\n- RealMedia: Penerap khas untukRealMedia, atau buka ia menerusi DirectShow\n- QuickTime: Penerap DX7 atau DX9 untuk QuickTime\n- ShockWave: t/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Untuk memuatkan sarikata anda perlu jenis ubah penerap dan buka semula fail.\n- DirectShow: VMR-9 (tak terap), EVR (CP), Segerak, madVR atau Haali\n- RealMedia: Penerap khas untukr RealMedia, atau buka ia melalui DirectShow\n- QuickTime: Penerap DX7 atau DX9 untuk QuickTime\n- ShockWave: t/s"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2325,8 +2333,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Nisbah BidangL %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Nisbah Bidang: Lalai"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Nisbah Bidang: Lalai (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2372,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Gagal menerap fail"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL teruk, tidak dapat cari pangkalan data sarikata di sini!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Bab:"
@@ -2561,8 +2565,8 @@ msgid "Volume boost Max"
msgstr "Galak volum Maks"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Penggunaan: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tFail atau direktori utama akan dimuatkan (kad liar\n\t\tdibenarkan, \"-\" melibatkan input piawai)\n/dub \"dubname\"\tMuat satu fail audio tambahan\n/dubdelay \"file\"\tMuat fail audio tambahan yang dianjak denga XXms (jika\n\t\tfail mengandungi \"...DELAY XXms...\")\n/d3dfs\t\tMula menerap dalam mod skrin penuh D3D\n/sub \"subname\"\tMuat fail sarikata tambahan\n/filter \"filtername\"\tMuat penapis DirectShow dari pustaka pautan dinamik\n\t\t(kad liar dibenarkan)\n/dvd\t\tJalan dalam mod dvd, \"pathname\" bermaksud folder dvd\n\t\t(pilihan)\n/dvdpos T#C\tMula main balik pada tajuk T, bab C\n/dvdpos T#hh:mm\tMula main balik pada tajuk T, kedudukan hh:mm:ss\n/cd\t\tMuat semua trek cd audio atau (s)vcd,\n\t\t\"pathname\" bermaksud laluan pemacu (pilihan)\n/device\t\tBuka peranti video lalai\n/open\t\tBuka fail, jangan mula main balik secara automatik\n/play\t\tMula memainkan fail sebaik sahaja pemain\n\t\tdilancarkan\n/close\t\tTutup pemain selepas main balik (hanya berfungsi\n\t\tbila digunakan dengan /play)\n/shutdown\tMatikan sistem pengoperasian selepas main balik\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tMula dalam mod skrin-penuh\n/minimized\tMula dalam mod diminimumkan\n/new\t\tGuna kejadian baharu pemain\n/add\t\tTambah \"pathname\" ke senarai main, boleh digabung\n\t\tdengan /open dan /play\n/randomize\tRandomize the playlist\n/regvid\t\tCipta perkaitan fail untuk fail video\n/regaud\t\tCipta perkaitan fail untuk fail audio\n/regpl\t\tCipta perkaitan fail untuk fail senarai main\n/regall\t\tCipta perkaitan fail untuk semua jenis fail disokong\n/unregall\t\tBuang semua perkaitan fail\n/start ms\t\tMula bermain pada \"ms\" (= milisaat)\n/startpos hh:mm:ss\tMula bermain pada kedudukan hh:mm:ss\n/fixedsize w,h\tTetakan saiz tetingkap tetap\n/monitor N\tMula pemain pada monitor N, dimana N bermula dari 1\n/audiorenderer N\tMula menggunakan penerap audio N, dimana N bermula dari 1\n\t\t(rujuk tetapan \"Output\")\n/shaderpreset \"Pr\"\tMula menggunakan praset pelorek \"Pr\"\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tPulih tetapan lalai\n/help /h /?\tTunjuk bantuan mengenai suis baris perintah\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Penggunaan: mpc-hc.exe \"pathname\" [switches]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2648,14 +2652,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "B&enarkan semua penapis"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Imbas penala"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Sarikata tidak dimuatkan atau penerap tidak disokong."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Pengarang tidak diketahui. Hubungi kami jika anda cipta logo ini!"
@@ -3404,10 +3400,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Fungsi \"Simpan Imej\" dan \"Simpan Lakaran Kenit\" tidak berfungsi dengan penerap video Pengadun Tindihan.\nUbah penerap video di dalam pilihan output MPC-HC dan buka semula fail tersebut."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Tidak dapat sambungkan pangkalan data sarikata atas-talian."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Anda mahu aktifkan penyunting EDL?"
@@ -3600,3 +3592,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Penyedia"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Cacat Pendengaran"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Muat Turun..."
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Skor"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Gelintar sarikata atas-talian gagal."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Gelintar sarikata atas-talian dihenti paksa."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Gelintar sarikata atas-talian selesai, %d sarikata ditemui."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Gelintar sarikata atas-talian selesai, tiada sarikata ditemui."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Muat turun sarikata"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Menggelintar sarikata atas talian, tunggu sebentar..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Gelintar sarikata atas-talian dihenti paksa..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nama Pengguna"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Sedia..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Tidak dilaksanakan."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Memuat naik..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Berjaya memuat naik sarikata."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Gagal memuat naik sarikata."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Muat naik sarikata dihenti paksa."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Sarikata sudah wujud."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Memuat naik sarikata, tunggu sebentar"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Muat naik selesai."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Muat naik dihenti paksa."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Muat naik gagal."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Muat Turun && Buka"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Persediaan"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Tetap Semula"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Alih ke Atas"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Alih ke Bawah"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Buka Url"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Bahasa"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "RALAT: Sambungan Internet tidak dapat dijalinkan."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Masukkan kelayakan laman sesawang"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Masukkan kelayakan anda untuk sambungkan:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Nisbah Bidang:Anggap piksel petak (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Dimuat naik [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Muat naik sarikata"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Anda pasti mahu memuat naik fail sarikata \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Mendapatkan bahasa yang disokong..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Gagal mendaftar masuk \"%S\" dengan nama pengguna \"%S\".\n\nSila masukkan nama pengguna dan kata laluan yang betul atau tetap semula kelayakan mendaftar masuk sebagai pengguna awanama."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Gelintar dan muat turun secara automatik akan dilumpuhkan untuk semua fail media yang mana laluan bagi mana-mana pola yang dimasukkan di sini.\nSebagai contoh, taip: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\tFail atau direktori utama yang dimuatkan\n\t\t(kad liar dibenarkan, \"-\" menunjukkan input piawai)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tMuat fail audio tambahan"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tMuat faul audio tambahan dianjak dengan XXms\n\t\t(jiks fail mengandungi \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tMula menerap dalam mod skrin penuh D3D"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tMuat fail sarikata tambahan"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tMuat penapis DirectShow dari pustaka pautan dinamik (kad liar dibenarkan)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tJalankan dalam mod DVD, \"pathname\" bermaksud folder DVD (pilihan)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tMula main balik pada tajuk T, bab C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tMula main balik pada tajuk T, kedudukan P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tMuat semua trek cd audio atau (S)VCD,\n\t\t\"pathname\" bermaksud laluan pemacu (pilihan)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tBuka peranti video lalai"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tBuka fail, jangan mulakan main balik secara automatik"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tMula memainkan fail sebaik sahaja pemain dilancarkan"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tTutup pemain selepas main balik (hanya berfungsi bila digunakan dengan /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tMatikan sistem pengoperasian selepas main balik"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tBiarkan sistem pengoperasian dalam mod bersedia selepas main balik"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHibernasi sistem pengoperasian selepas main balik"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tDaftar keluar selepas main balik"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tKunci stesen kerja selepas main balik"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tMatikan monitor selepas main balik"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tBuka fail berikutnya dalam folder selepas main balik"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tMula dalam mod skrin-penuh"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tMula dalam mod diminimumkan"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tGuna satu kejadian baharu pemain"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tTambah \"pathname\" ke senarai main, boleh digandingkan dengan /open dan /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tRawakkan senarai main"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCipta perkaitan fail untuk fail video"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCipta perkaitan fail untuk fail audio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCipta perkaitan fail untuk fail senarai main"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCipta perkaitan fail untuk semua jenis fail disokong"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tBuang semua perkaitan fail"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tMula main pada \"ms\" (= milisaat)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tMula dimainkan pada kedudukan hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tTetapkan saiz tetingkap tetap"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tMulakan pemian pada monitor N, yang mana N bermula dari 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tMula menggunakan audiorenderer N, yang mana N bermula dari 1 (sila rujuk tetapan \"Output\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tMula menggunakan praset pelorek \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tNyatakan nama praset Lata&Imbas yang digunakan"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tKait semula ikon format"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tBuka MPC-HC disebalik tabir"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tMula antaramuka sesawang pada port dinyatakan"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tTunjuk maklumat nyapepijat dalam OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tLumpuhkan pelapor kerosakan"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tGuna MPC-HC sebagai hamba"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tTetapkan indeks yang mana GPU gunakan untuk penyahkodan perkakasan.\n\t\tHanya tersedia untuk CUVID dan DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tPulih tetapan lalai"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tTunjuk bantuan berkenaan suis baris perintah"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Nilai ambang untuk skor sarikata yang akan dimuat turun secara automatik.Lebih tinggi nilai bermaksud lebih tepat sarikata yang sepadan dimuatkan, manakala nilai lebih rendah akan menyebabkan sarikata yang salah dimuatkan, tiada nilai yang sempurna. Oleh itu pilih yang terbaik untuk anda."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Lengah Audio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Saiz dalam piksel bagi palang alat lalai."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Guna palang alat legasi berbanding jenis baharu bervektor."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
index 707eb8978..ad6e6fbed 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
@@ -1,19 +1,21 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# B512, 2015
+# reneweesp <bmom43@hotmail.com>, 2016
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
# Devrim, 2013-2015
# DennisW, 2014
+# mark van tilburg <markvantilburg@gmail.com>, 2016
# rjongejan <ruben.jongejan@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-07-12 21:37:08+0000\n"
-"PO-Revision-Date: 2015-07-12 22:37+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Dutch (http://www.transifex.com/p/mpc-hc/language/nl/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-11-12 00:53+0000\n"
+"Last-Translator: reneweesp <bmom43@hotmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/mpc-hc/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -22,7 +24,7 @@ msgstr ""
msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
msgid "Select Media Type"
-msgstr "Media-type kiezen"
+msgstr "Media type kiezen"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
@@ -66,7 +68,7 @@ msgstr "Voorvertoning"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
-msgstr "V/A Buffers:"
+msgstr "V/A buffers:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
@@ -78,7 +80,7 @@ msgstr "Opname"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Intern Audio-switcherfilter toepassen (vereist herstart)"
+msgstr "Intern audio switcher filter toepassen (vereist herstart)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -98,31 +100,31 @@ msgstr "Herstel volume"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
msgid "Boost:"
-msgstr "Geluidsversterking"
+msgstr "Audio versterking"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
-msgstr "Resample naar 44100 Hz"
+msgstr "Omzetten naar 44100 Hz"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Audio tijdsverschuiving (ms):"
+msgstr "Audio tijd verschuiving (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Door gebruiker bepaalde kanaal-setup toepassen"
+msgstr "Door gebruiker bepaalde kanaal instelling toepassen"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
-msgstr "Luidspreker-configuratie voor"
+msgstr "Luidspreker instelling voor"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
msgid "input channels:"
-msgstr "ingangskanalen:"
+msgstr "ingang kanalen:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Druk op shift tijdens het klikken om de veranderingen direkt door te voeren"
+msgstr "Druk op shift tijdens het klikken om direct de veranderingen uit te voeren"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -130,7 +132,7 @@ msgstr "Ga naar..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Voer een tijdcode in, met een opmaak van [uu:]mm:ss.ms, om naar dat tijdstip te springen. De scheidingstekens hoeven niet expliciet ingevoerd te worden."
+msgstr "Voer een tijdcode in, met een opmaak van [uu:]mm:ss.ms, om naar dat tijdstip te springen. De scheiding tekens hoeven niet expliciet ingevoerd te worden."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -138,11 +140,11 @@ msgstr "Tijd"
msgctxt "IDD_GOTO_DLG_IDC_OK1"
msgid "Go!"
-msgstr "OK"
+msgstr "Oké"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Geef twee getallen om naar een specifiek frame te springen, het eerste getal is het framenummer, het tweede de framesnelheid."
+msgstr "Geef twee getallen om naar een specifiek beeld te springen, het eerste getal is het beeldnummer, het tweede de beedsnelheid."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -150,7 +152,7 @@ msgstr "Beeld"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
-msgstr "OK"
+msgstr "Oké"
msgctxt "IDD_OPEN_DLG_CAPTION"
msgid "Open"
@@ -158,7 +160,7 @@ msgstr "Openen"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Typ het adres van een film- of geluidsbestand (op het Internet of op uw computer), zodat de speler dit voor u kan openen."
+msgstr "Typ het adres van een film of geluidsbestand (op Internet of op je computer), zodat de speler dit voor je kan openen."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -186,15 +188,15 @@ msgstr "Annuleren"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
-msgstr "Toevoegen aan afspeellijst zonder te openen"
+msgstr "Voe toe aan afspeellijst zonder te openen"
msgctxt "IDD_ABOUTBOX_CAPTION"
msgid "About"
msgstr "Info"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 zie Authors.txt bestand"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 zie Authors.txt bestand"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -202,11 +204,11 @@ msgstr "Dit programma is gratis en uitgegeven onder de GNU General Public Licens
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Vertaald door Computer Paul"
+msgstr "Vertaald door René Maassen"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr "Build informatie"
+msgstr "Bouw versie informatie"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -222,7 +224,7 @@ msgstr "Niet gebruikt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr "Datum van build:"
+msgstr "Datum van bouw versie:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
@@ -238,7 +240,7 @@ msgstr "Kopieer naar klembord"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
-msgstr "&OK"
+msgstr "OK"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Open options"
@@ -330,7 +332,7 @@ msgstr "Bestandspositie bewaren"
msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
msgid "Remember DVD position"
-msgstr "DVD-positie bewaren"
+msgstr "DVD positie bewaren"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
@@ -346,7 +348,7 @@ msgstr "Onthoud de laatste Pan en Scan Zoom"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr "\"Open DVD/BD\" gedrag"
+msgstr "\"Open DVD / BD\" gedrag"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
@@ -358,7 +360,7 @@ msgstr "Open altijd de standaard locatie:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Voorkeurstaal voor DVD Navigatie en de externe OGM Splitter"
+msgstr "Voorkeurstaal voor DVD navigatie en de externe OGM Splitter"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -378,7 +380,7 @@ msgstr "Aanvullende instellingen"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Sta ondertiteling voor doven en slechthorenden toe in \"Line 21 Decoder\""
+msgstr "Sta ondertiteling voor doven en slechthorenden toe in \"Line 21 decoder\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -425,16 +427,20 @@ msgid "time(s)"
msgstr "keer"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Herhaal mode:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Na weergave"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Video"
+msgid "Default zoom"
+msgstr "Standaard zoom"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
-msgstr "Auto-zoom:"
+msgstr "Auto zoom:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
@@ -450,7 +456,7 @@ msgstr "Standaard nummer voorkeur"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
-msgstr "Ondertitelings:"
+msgstr "Ondertitelingen:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
@@ -466,15 +472,15 @@ msgstr "Opties voor openen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Filter graph in aparte CPU-thread samenstellen"
+msgstr "Filter grafiek in aparte CPU taak samenstellen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Rapporteer pins die niet renderen"
+msgstr "Rapporteer pin(nen) die niet opbouwen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "Geluidsbestanden autom. laden"
+msgstr "Geluidsbestanden automatisch laden"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
@@ -538,7 +544,7 @@ msgstr "Animeer de ondertiteling nooit"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Render op"
+msgstr "Opbouwen op"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -550,7 +556,7 @@ msgstr "Animeer op"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr "% van de videoframerate"
+msgstr "% van de videobeeld verhouding"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
@@ -558,7 +564,7 @@ msgstr "Sta het laten vallen van beeldblokken toe wanneer de wachtrij achterloop
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
-msgstr "Render Layout"
+msgstr "Opbouw sjabloon"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
@@ -569,8 +575,8 @@ msgid "Warning"
msgstr "Waaschuwing"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Als u de ondertitelingspositie aanpast en ergens in de instellingen van uw grafische kaart full-screen antialiasing aanzet, zal de ondertiteling er niet beter uitzien, maar de CPU wordt wel zwaar belast."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Als u de ondertitelingspositie aanpast en ergens in de instellingen van uw grafische kaart \"vol scherm\" antialiasing aanzet, zal de ondertiteling er niet beter uitzien, maar de CPU wordt wel zwaarder belast."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -594,7 +600,7 @@ msgstr "Gebruik de formaat-specifieke iconen"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr "Start als administrator"
+msgstr "Start als administrateur"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
@@ -602,7 +608,7 @@ msgstr "Gebruik als standaard programma"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Real-Time Streaming Protocol afhandeling (voor rtsp://... URLs)"
+msgstr "Werkelijke tijd stroom protocol afhandeling (voor rtsp://... URLs)"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -622,7 +628,7 @@ msgstr "Kijk eerst naar extensie"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
-msgstr "Verkenner Snelmenu"
+msgstr "Verkenner snelmenu"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK6"
msgid "Directory"
@@ -662,7 +668,7 @@ msgstr "Standaard"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
-msgstr "Snel zoeken (op keyframe)"
+msgstr "Snel zoeken (op sleutelbeeld)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
@@ -670,7 +676,7 @@ msgstr "Geef hoofdstukmarkeringen in zoekbalk weer"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "Laat \"Nu AFPSelen\" informatie zien in Skype's stemmingsbericht"
+msgstr "Laat \"Nu afspelen\" informatie zien in Skype's stemmingsbericht"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
@@ -678,15 +684,15 @@ msgstr "Verhinder minimalizeren bij volledig scherm op niet-standaard monitor"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Gebruik uitgebreide taakbalk mogelijkheden"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Open het volgende/vorige bestand in de bestandsmap op \"Volgende/Vorige\" wanneer er maar een bestand in de afspeellijst staat"
+msgstr "Open het volgende / vorige bestand in de bestandsmap op \"Volgende / Vorige\" wanneer er maar een bestand in de afspeellijst staat"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
-msgstr "Gebruik tijd tooltip:"
+msgstr "Gebruik tijd gereedschap tip:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
@@ -694,7 +700,7 @@ msgstr "OSD lettertype:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Logitech LCD support inschakelen (experimenteel)"
+msgstr "Logitech LCD ondersteuning inschakelen (experimenteel)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
@@ -730,11 +736,11 @@ msgstr "Omlaag"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Media Type toevoegen"
+msgstr "Media type toevoegen"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Sub Type toevoegen"
+msgstr "Sub type toevoegen"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -742,11 +748,11 @@ msgstr "Verwijderen"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
-msgstr "Reset"
+msgstr "Herstel lijst"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Type:"
-msgstr "Mediatype:"
+msgstr "Type:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Size:"
@@ -758,7 +764,7 @@ msgstr "Tijdsduur:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Video size:"
-msgstr "Videogrootte:"
+msgstr "Video grootte:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
@@ -774,7 +780,7 @@ msgstr "Auteur:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Copyright:"
-msgstr "Copyright:"
+msgstr "Auteursrechten:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Rating:"
@@ -790,11 +796,11 @@ msgstr "Beschrijving:"
msgctxt "IDD_FAVADD_CAPTION"
msgid "Add Favorite"
-msgstr "Aan Favorieten toevoegen"
+msgstr "Aan favorieten toevoegen"
msgctxt "IDD_FAVADD_IDC_STATIC"
msgid "Choose a name for your shortcut:"
-msgstr "Naam:"
+msgstr "Kies naam voor je snelkoppeling:"
msgctxt "IDD_FAVADD_IDC_CHECK1"
msgid "Remember position"
@@ -838,7 +844,7 @@ msgstr "&OK"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Pan&Scan Profielen"
+msgstr "Pan&Scan profielen"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -878,7 +884,7 @@ msgstr "Zoom: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
-msgstr "Globale Media Toetsen"
+msgstr "Globale media toetsen"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
@@ -894,11 +900,11 @@ msgstr "Waarschuwing"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC kon sommige pins in de graph niet renderen. Misschien zijn de nodige codecs of filters niet op het systeem geïnstalleerd."
+msgstr "MPC-HC kon sommige pinnen in de grafiek niet opbouwen. Misschien zijn de nodige codecs of filters niet op het systeem geïnstalleerd."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
-msgstr "Voor de volgende pins(s) is/zijn geen filter gevonden:"
+msgstr "Voor de volgende pin(nen) is geen filter gevonden:"
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
@@ -958,7 +964,7 @@ msgstr "pixels"
msgctxt "IDD_ADDREGFILTER_CAPTION"
msgid "Select Filter"
-msgstr "Selecteer Filter"
+msgstr "Selecteer filter"
msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
msgid "Browse..."
@@ -1066,7 +1072,7 @@ msgstr "Omlijning"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
msgid "Link alpha channels"
-msgstr "Alpha channels verbinden"
+msgstr "Alpha kanalen verbinden"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
@@ -1074,15 +1080,15 @@ msgstr "Als u een standalone-versie of een ander alternatief van een van deze fi
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
-msgstr "Bron Filters"
+msgstr "Bron filters"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Transformatie Filters"
+msgstr "Transformatie filters"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr "Interne LAV Filters instellingen"
+msgstr "Interne LAV filters instellingen"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
@@ -1110,7 +1116,7 @@ msgstr "Bladeren..."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
-msgstr "DirectShow Video"
+msgstr "DirectShow video"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "RealMedia Video"
@@ -1125,8 +1131,8 @@ msgid "Audio Renderer"
msgstr "Audio Renderer"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) en EVR (CP) instellingen"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (opbouwloos) en EVR (CP) instellingen"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1138,11 +1144,11 @@ msgstr "Methode:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Kies D3D9 Render apparaat"
+msgstr "Kies D3D9 opbouw apparaat"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Herinitialisatie bij verandering van monitor"
+msgstr "Herinitialisatie bij verandering van resolutie"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
@@ -1154,15 +1160,15 @@ msgstr "Alternatieve VSync"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
-msgstr "VMR-9 Mixer Mode"
+msgstr "VMR-9 mixer mode"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "YUV Mixen"
+msgstr "YUV mixen"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
-msgstr "EVR Buffers:"
+msgstr "EVR buffers:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DXVA"
@@ -1170,7 +1176,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Ondertitels"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1186,7 +1192,11 @@ msgstr "Rotatie"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Ondertitel opbouwer"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Gecompileerde shaders cachen"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1194,7 +1204,7 @@ msgstr "Poortnummer:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Openen in Webbrowser..."
+msgstr "Openen in internet programma..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1206,7 +1216,7 @@ msgstr "Geef alleen toegang via localhost"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "Zet voorbeeld aan"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1233,17 +1243,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI afhandeling: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Online beschikbare ondertiteling"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Downloaden && Openen"
+msgid "Download subtitles"
+msgstr "Ophalen ondertiteling"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Vervang huidig geladen ondertiteling"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Ophalen"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Verversen"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Afbreken"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opties"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Ondertitel opsturen"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Opsturen"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Afbreken"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opties"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Opslaan als..."
@@ -1274,11 +1312,11 @@ msgstr "Reset"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr "Update controle"
+msgstr "Opwaardering controle"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "Automatisch op updates controleren"
+msgstr "Automatisch op opwaarderingen controleren"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
@@ -1318,7 +1356,7 @@ msgstr "Annuleren"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. Start"
-msgstr "Freq. Start"
+msgstr "Frequentie start"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Bandwidth"
@@ -1326,7 +1364,7 @@ msgstr "Bandbreedte"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. End"
-msgstr "Freq. Eind"
+msgstr "Frequentie eind"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
msgid "Ignore encrypted channels"
@@ -1346,11 +1384,11 @@ msgstr "Q"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
msgid "Use an offset"
-msgstr "Gebruik een offset"
+msgstr "Gebruik een compensatie"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
-msgstr "Standaard Apparaat"
+msgstr "Standaard apparaat"
msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
msgid "Analog"
@@ -1382,7 +1420,7 @@ msgstr "Digital instellingen (BDA)"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
msgid "Network Provider"
-msgstr "Netwerk Provider"
+msgstr "Netwerk leverancier (ISP)"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
msgid "Tuner"
@@ -1394,7 +1432,7 @@ msgstr "Ontvanger"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
msgid "Channel switching approach:"
-msgstr "Kanaal wisselingsaanpak:"
+msgstr "Kanaal wisseling aanpak:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
@@ -1434,7 +1472,7 @@ msgstr "Toon dichtsbijzijnde vsync"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Synchronisatie offset:"
+msgstr "Synchronisatie compensatie:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1490,7 +1528,7 @@ msgstr "Toevoegen"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
-msgstr "Del"
+msgstr "Verwijder"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
msgid "Up"
@@ -1534,7 +1572,7 @@ msgstr "Prefereer externe ondertiteling over interne ondertiteling"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Geintegreerde ondertiteling niet laden"
+msgstr "Geïntegreerde ondertiteling niet laden"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
@@ -1545,24 +1583,36 @@ msgid "Reset"
msgstr "Reset"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online database"
+msgid "Online search, download and upload subtitles"
+msgstr "Online zoeken, ophalen en versturen ondertitels"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatisch zoeken en ophalen van ondertitels als die lokaal niet worden gevonden."
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Liever ondertitels voor slechthorenden (wanneer aangegeven door ondertitel verzorger)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Negeer bestanden die enige van de volgende woorden bevatten:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL naar de online ondertitelings-database:"
+msgid "Languages in order of preference:"
+msgstr "Talen in voorkeur volgorde"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automatisch opsturen van actieve ondertitels na afspelen"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
-msgstr "Update Controle"
+msgstr "Opwaardeer controle"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
msgid "&Download now"
-msgstr "&Nu downloaden"
+msgstr "&Nu ophalen"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
@@ -1570,11 +1620,11 @@ msgstr "Herinner me &later"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
-msgstr "&Negeer deze update"
+msgstr "&Negeer deze opwaardering"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Shaders bevatten speciale effecten die aan het videorenderproces toegevoegd kunnen worden."
+msgstr "Shaders bevatten speciale effecten die aan het video opbouw proces toegevoegd kunnen worden."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
@@ -1622,7 +1672,7 @@ msgstr "Shaders foutopsporing"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
-msgstr "Debug Informatie"
+msgstr "Debug informatie"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
msgid "PS 2.0"
@@ -1642,7 +1692,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Geavanceerde Instellingen, pas niet aan tenzij je weet wat je doet."
+msgstr "Geavanceerde instellingen, pas niet aan tenzij je weet wat je doet."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1658,47 +1708,47 @@ msgstr "Standaard"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "Apparaat"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "Exclusieve mode"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "Sta \"bitstreaming\" toe"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Opties"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "Zet stereo \"kruis uitsturen\" aan (voor koptelefoons)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy "
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier "
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Afgeknepen:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Hoogte:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "Opmerking"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "Om audio vervorming te minimaliseren, is het raadzaam om het speler volume rond de 85% te houden bij het afspelen van luide niet verliesvrije gecodeerde inhoud."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1714,19 +1764,19 @@ msgstr "OK"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr ""
+msgstr "Crash rapporteur"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "Het spijt ons, het lijkt er op dat MPC-HC zojuist is gecrasht. :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "Stuuur ons een foutrapport voor diagnose en foutoplossing"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "Optionele informatie"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
@@ -1734,7 +1784,7 @@ msgstr "Email:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr "Een e-mailadres is optioneel en zal enkel worden gebruikt als de ontwikkelaars contact met u moeten opnemen voor meer informatie."
+msgstr "Een email adres is optioneel en zal enkel worden gebruikt als de ontwikkelaars contact met u moeten opnemen voor meer informatie."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
@@ -1742,9 +1792,9 @@ msgstr "Beschrijf het probleem (in het Engels)"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Herstart MPC -HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Afsluiten MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
index 7e5ac84bd..09c5b37b5 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
@@ -1,8 +1,9 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# B512, 2015
+# reneweesp <bmom43@hotmail.com>, 2016
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
# Devrim, 2013-2015
# DennisW, 2014
@@ -13,10 +14,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-07-14 19:38+0000\n"
-"Last-Translator: Marco Brohet <therbom@gmail.com>\n"
-"Language-Team: Dutch (http://www.transifex.com/p/mpc-hc/language/nl/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-21 18:43+0000\n"
+"Last-Translator: reneweesp <bmom43@hotmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/mpc-hc/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -71,29 +72,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Miniatuurweergaven opslaan..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Ondertiteling &laden..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Ondertiteling op&slaan..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Ondertitelingsdatabase"
+msgid "S&ubtitles"
+msgstr "Ondertiteling"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Zoeken..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Ondertitlel &laden"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Versturen..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Op&slaan ondertitel"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Ontvangen..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Ophalen on&dertitel"
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Opst&uren ondertitel"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -133,7 +130,7 @@ msgstr "St&atus"
msgctxt "ID_VIEW_SUBRESYNC"
msgid "Su&bresync"
-msgstr "&Ondertitelings-resync"
+msgstr "&Ondertiteling resync"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
@@ -145,11 +142,11 @@ msgstr "Opnemen"
msgctxt "ID_VIEW_NAVIGATION"
msgid "Na&vigation"
-msgstr "Navigation"
+msgstr "Navigatie"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Foutopsporing Shaders"
+msgstr "&Foutopsporing shaders"
msgctxt "POPUP"
msgid "&Presets..."
@@ -189,19 +186,19 @@ msgstr "&200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
-msgstr "Auto-fit"
+msgstr "Auto passend"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Auto-fit (a&lleen groot)"
+msgstr "Auto passend (a&lleen groot)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "Renderinstellingen"
+msgstr "Opbouw instellingen"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "&Tearingtest"
+msgstr "&Tearing test"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
@@ -233,11 +230,11 @@ msgstr "Presentatie"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "D3D - volledig scherm"
+msgstr "D3D volledig scherm"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "D3D - volledig scherm met GUI"
+msgstr "D3D volledig scherm met GUI"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
@@ -245,23 +242,23 @@ msgstr "10-bits RGB-uitvoer"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "10-bits RGB-&invoer forceren"
+msgstr "10-bits RGB &invoer forceren"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Volledige floating point-verwerking"
+msgstr "Volledige floating point verwerking"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Halve floating point-verwerking"
+msgstr "Halve floating point verwerking"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
-msgstr "Aero uitschekelen tijdens afspelen"
+msgstr "Aero uitschakelen tijdens afspelen"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "Frametijdcorrectie inschakelen"
+msgstr "Beeldtijd correctie inschakelen"
msgctxt "POPUP"
msgid "&Color Management"
@@ -293,23 +290,23 @@ msgstr "SDTV (PAL)"
msgctxt "POPUP"
msgid "Ambient &Light"
-msgstr "Ambient Light"
+msgstr "Omgevingslicht"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
msgid "&Bright (2.2 Gamma)"
-msgstr "Bright (2.2 Gamma)"
+msgstr "Helder (2.2 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "Dim (2.35 Gamma)"
+msgstr "Gedimd (2.35 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
-msgstr "Dark (2.4 Gamma)"
+msgstr "Donker (2.4 Gamma)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "Rendering Intent"
+msgstr "Opbouw intentie"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
@@ -317,7 +314,7 @@ msgstr "Perceptual"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "Relative Colorimetric"
+msgstr "Relatief kleurmetrisch"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
@@ -325,7 +322,7 @@ msgstr "Verzadiging"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "Absolute Colorimetric"
+msgstr "Absoluut kleurmetrisch"
msgctxt "POPUP"
msgid "&VSync"
@@ -345,15 +342,15 @@ msgstr "Alternatieve VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "VSync-offset ver&lagen"
+msgstr "VSync compensatie ver&lagen"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "VSync-offset ver&hogen"
+msgstr "VSync compensatie ver&hogen"
msgctxt "POPUP"
msgid "&GPU Control"
-msgstr "GPU-beheer"
+msgstr "GPU beheer"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
@@ -361,7 +358,7 @@ msgstr "GPU legen voor VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "GPU wo na afspelen"
+msgstr "GPU legen na afspelen"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
@@ -373,11 +370,11 @@ msgstr "Resetten"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Standaardinstellingen renderer herstellen"
+msgstr "Standaardinstellingen opbouwer herstellen"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Optimale renderinstellingen herstellen"
+msgstr "Optimale opbopuw instellingen herstellen"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -415,17 +412,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Pas venster vanaf buiten aan"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Schaalverhouding aanhouden"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Schaalverhouding niet aanhouden"
+msgid "&Aspect Ratio"
+msgstr "Verw&achtte verhouding"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Standaard"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Stan&daard (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -447,13 +440,17 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Veronderstel verkante pixels (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "AR-afwijking scherm/bureaublad corrigeren"
+msgstr "AR afwijking scherm/bureaublad corrigeren"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Pan && s&can"
+msgstr "Pa&n && scan"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -540,8 +537,24 @@ msgid "&Stop"
msgstr "&Stoppen"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "&Frame vooruit"
+msgid "Fra&me Step"
+msgstr "&Beeld stap"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "He&rhalen"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Eeuwig"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "Bestand"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Afs&peellijst"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
@@ -572,7 +585,7 @@ msgid "Su&btitle Track"
msgstr "&Ondertiteling"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospoor"
msgctxt "POPUP"
@@ -681,19 +694,19 @@ msgstr "&Help"
msgctxt "ID_HELP_HOMEPAGE"
msgid "&Home Page"
-msgstr "&Homepage"
+msgstr "T&huispagina"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr "Controleren op &updates"
+msgstr "Controleren op o&pwaarderingen"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "&Opdrachtpromptparameters"
+msgstr "&Opdrachtprompt parameters"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "&Werkbalkafbeeldingen downloaden"
+msgstr "&Werkbalk afbeeldingen ophalen"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
index cc9dad767..be9da194a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
@@ -1,24 +1,27 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# B512, 2015
+# B512, 2015-2016
+# reneweesp <bmom43@hotmail.com>, 2016
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
-# dragnadh <dragnadh@gmail.com>, 2015
-# DennisW, 2014
+# dragnadh <dragnadh@gmail.com>, 2015-2016
+# DennisW, 2014,2016
# hendrickbert <hendrickbert@gmail.com>, 2015
# B512, 2015
# Marco Brohet <therbom@gmail.com>, 2015
+# mark van tilburg <markvantilburg@gmail.com>, 2016
# Peter Pul, 2015
# rjongejan <ruben.jongejan@gmail.com>, 2014
-# Tom <tom@boksma.com>, 2014
+# Tom <inactive+nmad@transifex.com>, 2014
+# Underground78, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-07-12 21:27:04+0000\n"
-"PO-Revision-Date: 2015-07-14 19:30+0000\n"
-"Last-Translator: Marco Brohet <therbom@gmail.com>\n"
-"Language-Team: Dutch (http://www.transifex.com/p/mpc-hc/language/nl/)\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-23 19:38+0000\n"
+"Last-Translator: mark van tilburg <markvantilburg@gmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/mpc-hc/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -51,27 +54,35 @@ msgstr "Afronden..."
msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
msgid "Play Video"
-msgstr "Video Afspelen"
+msgstr "Video afspelen"
msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
msgid "Play Music"
-msgstr "Muziek Afspelen"
+msgstr "Muziek afspelen"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "Audio CD Afspelen"
+msgstr "Audio CD afspelen"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
-msgstr "DVD Film Afspelen"
+msgstr "DVD film afspelen"
msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Eigenschappen"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Bestand"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
-msgstr "&Standaard Stijl"
+msgstr "&Standaard stijl"
+
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Afspeellijst"
msgctxt "IDS_FAVFILES"
msgid "Files"
@@ -79,7 +90,7 @@ msgstr "Bestanden"
msgctxt "IDS_FAVDVDS"
msgid "DVDs"
-msgstr "DVDs"
+msgstr "DVD's"
msgctxt "IDS_INFOBAR_CHANNEL"
msgid "Channel"
@@ -103,7 +114,7 @@ msgstr "Jitter"
msgctxt "IDS_STATSBAR_BITRATE"
msgid "Bitrate"
-msgstr "Bitrate"
+msgstr "Beeldjes per seconde"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
@@ -115,7 +126,7 @@ msgstr "Signaal"
msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
msgid "Strength: %d dB, Quality: %ld%%"
-msgstr "Sterkte: %d dB, Kwaliteit: %ld%%"
+msgstr "Sterkte: %d dB, kwaliteit: %ld%%"
msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
msgid "Styles"
@@ -123,7 +134,27 @@ msgstr "Stijlen"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Als het render doel ongedefinieerd is, worden SSA/ASS ondertitels relatief tot de video-omlijsting gerenderd terwijl alle andere ondertitels relatief tot het venster gerenderd worden. "
+msgstr "Als het opbouw doel ongedefinieerd is, worden SSA/ASS ondertitels relatief tot de video omlijsting opgebouwd terwijl alle andere ondertitels relatief tot het venster opgebouwd worden. "
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Herhaal mode: Afspeellijst"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Herhaal mode: Bestand"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Herhaal eeuwig: Aan"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Herhaal eeuwig: Uit"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Herhaal eeuwig"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -131,7 +162,7 @@ msgstr "Nooit (snelste optie)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
-msgstr "Enkel bij het wisselen van verschillende videotypes (standaard optie)"
+msgstr "Enkel bij het wisselen van verschillende video typen (standaard optie)"
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
@@ -139,15 +170,15 @@ msgstr "Altijd (langzaamste optie)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Niet ondersteund door sommige apparaten. Er zijn altijd twee videodecoders zichtbaar in de filtergrafiek."
+msgstr "Niet ondersteund door sommige apparaten. Er zijn altijd twee video decoders zichtbaar in de filter grafiek."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Snel, behalve wanneer er gewisseld wordt tussen verschillende videostreams. Er is maar een videodecoder zichtbaar in de filtergrafiek."
+msgstr "Snel, behalve wanneer er gewisseld wordt tussen verschillende video stromen. Er is maar een video decoder zichtbaar in de filter grafiek."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
-msgstr "Niet aanbevolen. Enkel voor testdoeleindes."
+msgstr "Niet aanbevolen. Enkel voor test doeleinden."
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
@@ -155,7 +186,7 @@ msgstr "Nooit indien mogelijk (snelst, maar niet ondersteund door de meeste filt
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
-msgstr "Enkel bij het wisselen van verschillende videotypes (standaard optie)"
+msgstr "Enkel bij het wisselen van verschillende video typen (standaard optie)"
msgctxt "IDS_PPAGE_CAPTURE_SFG2"
msgid "Always (may be required by some devices)"
@@ -179,11 +210,11 @@ msgstr "Inhoud"
msgctxt "IDS_CONTENT_MOVIE_DRAMA"
msgid "Movie/Drama"
-msgstr "Film/Drama"
+msgstr "Film / Drama"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
-msgstr "Nieuws/Recente gebeurtenissen"
+msgstr "Nieuws / Recente gebeurtenissen"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
@@ -207,7 +238,7 @@ msgstr "Navigatie balk"
msgctxt "IDS_SUBRESYNC_CAPTION"
msgid "Subresync"
-msgstr "Ondertitelingshersynchronisatie"
+msgstr "Ondertiteling hersynchronisatie"
msgctxt "IDS_SUBRESYNC_CLN_TIME"
msgid "Time"
@@ -247,11 +278,11 @@ msgstr "Lettertype"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Renderen van enkele DVD navigator filter pins mislukt"
+msgstr "Opbouwen van enkele DVD navigatie filter pinnen mislukt"
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
-msgstr "In de wachtrij plaatsen van de benodigde DVD weergaveinterfaces mislukt"
+msgstr "In de wachtrij plaatsen van de benodigde DVD weergave interfaces mislukt"
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
@@ -259,11 +290,11 @@ msgstr "Live"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
-msgstr "Kan geen video opnamefilter aan de grafiek toevoegen"
+msgstr "Kan geen video opname filter aan de grafiek toevoegen"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "Kan geen audio opnamefilter aan de grafiek toevoegen"
+msgstr "Kan geen audio opname filter aan de grafiek toevoegen"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -271,11 +302,11 @@ msgstr "Kon het opnameapparaat niet openen."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
-msgstr "Openen mislukt, ongeldige invoerparameters"
+msgstr "Openen mislukt, ongeldige invoer parameters"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
-msgstr "Verander Lijst Bewerker"
+msgstr "Verander lijst bewerker"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
@@ -331,7 +362,7 @@ msgstr "Afspeellijst"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
-msgstr "Aan/Uit"
+msgstr "Aan / Uit"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
@@ -359,7 +390,7 @@ msgstr "Systeemstandaard"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr "in de wachtrij plaatsen van de benodigde weergaveinterfaces mislukt"
+msgstr "in de wachtrij plaatsen van de benodigde weergave interface mislukt"
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
@@ -367,7 +398,7 @@ msgstr "Kon het doelvenster voor grafiekmeldingen niet instellen"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Renderen van alle DVD navigator filter pins mislukt"
+msgstr "Opbouwen van alle DVD navigatie filter pinnen mislukt"
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -391,7 +422,7 @@ msgstr "&Kopieer naar klembord"
msgctxt "IDS_PLAYLIST_SAVEAS"
msgid "&Save As..."
-msgstr "Opslaan &Als..."
+msgstr "Opslaan &als..."
msgctxt "IDS_PLAYLIST_SORTBYLABEL"
msgid "Sort by &label"
@@ -399,7 +430,7 @@ msgstr "Sorteer op &label"
msgctxt "IDS_PLAYLIST_SORTBYPATH"
msgid "Sort by &path"
-msgstr "Sorteer op &pad"
+msgstr "Sorteer op &locatie"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
@@ -447,7 +478,7 @@ msgstr "Speler"
msgctxt "IDD_PPAGEDVD"
msgid "Playback::DVD/OGM"
-msgstr "Weergave::DVD/OGM"
+msgstr "Weergave::DVD / OGM"
msgctxt "IDD_PPAGESUBTITLES"
msgid "Subtitles"
@@ -463,15 +494,15 @@ msgstr "Tweaks"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Interne Filters::Audio Switcher"
+msgstr "Interne filters::Audio switcher"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
-msgstr "Externe Filters"
+msgstr "Externe filters"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "Weergave::Shaders"
+msgstr "Weergave::shaders"
msgctxt "IDD_FILEPROPRES"
msgid "Resources"
@@ -491,15 +522,15 @@ msgstr "Weergave::Opname"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Weergave::Sync Renderer Settings"
+msgstr "Weergave::Sync opbouw instellingen"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
-msgstr "Weergave::Volledig Scherm"
+msgstr "Weergave::Volledig scherm"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Interne filters::Audio opbouwer"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -519,39 +550,31 @@ msgstr "Dit verhelpt het probleem dat iconen verkeerd worden weergegeven na een
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "Oude Video Renderer"
+msgstr "Oude video opbouwer"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "Overlay Mixer Renderer"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
+msgstr "Overlay mixer opbouwer"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "Video Mixing Renderer 9 (windowed)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
+msgstr "Video mixing opbouwer 9 (in scherm)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Video Mixing Renderer 9 (renderless)"
+msgstr "Video mixing opbouwer 9 (opbouwloos)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "Enhanced Video Renderer"
+msgstr "Verbeterde video opbouwer"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr "Enhanced Video Renderer (custom presenter)"
+msgstr "Verbeterde video opbouwer (eigen presentator)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali Video Renderer"
+msgstr "Haali video opbouwer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -571,11 +594,11 @@ msgstr "Speler::Toetsen"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
-msgstr "Ondertiteling::Standaard Stijl"
+msgstr "Ondertiteling::Standaard stijl"
msgctxt "IDD_PPAGEINTERNALFILTERS"
msgid "Internal Filters"
-msgstr "Interne Filters"
+msgstr "Interne filters"
msgctxt "IDD_PPAGELOGO"
msgid "Player::Logo"
@@ -583,15 +606,11 @@ msgstr "Speler::Logo"
msgctxt "IDD_PPAGEOUTPUT"
msgid "Playback::Output"
-msgstr "Weergave::Output"
+msgstr "Weergave::Uitvoer"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Speler::Web Interface"
-
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Ondertiteling::Database"
+msgstr "Speler::Web interface"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
@@ -603,27 +622,19 @@ msgstr "Fragment"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Standaard video renderer filter voor DirectShow. Alle anderen zullen op deze terugvallen, als ze niet geladen kunnen worden. In Windown XP is dit hetzelfde als VMR-7 (venster)."
+msgstr "Standaard video opbouw filter voor DirectShow. Alle anderen zullen op deze terugvallen, als ze niet geladen kunnen worden. In Window XP is dit hetzelfde als VMR-7 (venster)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Standaard Renderer voor Windows 9x/ME/2000. Afhankelijk van de zichtbaarheid van het video-venster en de mogelijkheden van de grafische kaart, schakelt deze renderer dynamisch tussen GDI, DirectDraw en Overlay Rendering."
+msgstr "Standaard opbouwer voor Windows 9x/ME/2000. Afhankelijk van de zichtbaarheid van het video venster en de mogelijkheden van de grafische kaart, schakelt deze opbouwer dynamisch tussen GDI, DirectDraw en Overlay opbouwing."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Rendert altijd in overlay-modus. Normaliter zijn alleen YUV-formaten toegestaan, maar ze worden zonder enige kleurconversie naar RGB getoond. Dit is de snelste rendering methode van allemaal en de enige waarbij Volledig Beeld Video Mirroring naar TV-out zeker functioneert."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "De standaard renderer van Windows XP. Zeer stabiel en iets langzamer dan de Overlay mixer. Gebruikt DirectDraw en werkt in Overlay-modus waar mogelijk."
+msgstr "Bouwt altijd in overlay modus op. Normaliter zijn alleen YUV-formaten toegestaan, maar ze worden zonder enige kleurconversie naar RGB getoond. Dit is de snelste opbouw methode van allemaal en de enige waarbij volledig beeld video Mirroring naar TV uit zeker functioneert."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Alleen beschikbaar als DirectX 9 is geïnstalleerd. Heeft dezelfde mogelijkheden als VMR-7 (venster), maar het zal nooit Overlay rendering gebruiken en kan daarom iets langzamer zijn dan VMR-7 (venster)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Hetzelfde als VMR-7 (venster), maar met de Allocator-Presenter plugin van MPC-HC voor ondertiteling. Overlay video mirroring ZAL NIET werken. De kleurkwaliteit van het bureaublad kan het beste 'True Color' zijn."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Alléén beschikbaar als DirectX 9 is geïnstallleerd. Zeer stabiel, maar het zal nooit \"overlay opbouwen\" gebruiken en hierdoor kan het een beetje trager zijn dan \"overlay mixen\"."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -631,15 +642,15 @@ msgstr "Hetzelfde als VMR-9 (venster), maar met de Allocator-Presenter plugin va
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr ""
+msgstr "Hetzelfde als de VMR-9 (opbouwloos), maar maakt gebruik van een echte twee-traps \"bicubic resizer\"."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Verbind met elk video-achtig media type en zal de inkomende signalen in het, grote dan wel kleine, niets zenden. Gebruik dit als geen uitgangssignaal nodig is en de om de CPU te ontlasten."
+msgstr "Verbind elk video achtig media type en zal de inkomende signalen nergens heenzenden. Gebruik dit als geen uitgangssignaal nodig is en de om de CPU te ontlasten."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "Hetzelfde als de normale Null renderer, maar deze zal alleen verbinding maken met ongecomprimeerde types."
+msgstr "Hetzelfde als de normale Null opbouwer, maar deze zal alleen verbinding maken met ongecomprimeerde typen."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
@@ -659,27 +670,19 @@ msgstr "Zelfde als de EVER (CP), maar biedt verscheidende opties om video framer
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Real's eigen renderer. SMIL scripts functioneren, maar interactie waarschijnlijk niet. Gebruikt DirectDraw en werkt in Overlay-modus waar mogelijk."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "De output van Real's engine rendered door de op DX7 gebaseerde VMR-7 (renderless)."
+msgstr "Real's eigen opbouwer. SMIL scripts functioneren, maar interactie waarschijnlijk niet. Gebruikt DirectDraw en werkt in Overlay-modus waar mogelijk."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "De output van Real's engine rendered door de op DX9 gebaseerde VMR-9 (renderless)."
+msgstr "De output van Real's engine rendered door de op DX9 gebaseerde VMR-9 (opbouwloos)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "QuickTime's eigen renderer. Wordt langzaam als het venster gedeeltelijk bedekt is of als de grootte verandert wordt. Als Overlay niet toegepast kan worden, wordt normaliter GDI toegepast."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "The output van QuickTime's engine wordt gerendert door de op DX7 gebasserde VMR-9 (renderless)."
+msgstr "QuickTime's eigen opbouwer. Wordt langzaam als het venster gedeeltelijk bedekt is of als de grootte verandert wordt. Als Overlay niet toegepast kan worden, wordt normaliter GDI toegepast."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "The output van QuickTime's engine wordt gerendert door de op DX7 gebasserde VMR-9 (renderless)."
+msgstr "De uitvoervan QuickTime's engine wordt opgebouwd door de op DX7 gebasserde VMR-9 (opbouwloos)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -687,11 +690,11 @@ msgstr "Video oppervlak is een normaal offscreen oppervlak."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr "Sync Renderer"
+msgstr "Sync opbouwer"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
-msgstr ""
+msgstr "Regulier \"offscreen\" vlakke ondergrond"
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
@@ -731,7 +734,7 @@ msgstr "**onbeschikbaar**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr "The geselecteerde renderer is niet geïnstalleerd "
+msgstr "De geselecteerde opbouwer is niet geïnstalleerd "
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
@@ -743,7 +746,7 @@ msgstr "Ontbrekend (ongecomprimeerd)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "Interne audio opbouwer"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -751,15 +754,19 @@ msgstr "Naam"
msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
msgid "MIME Type"
-msgstr "MIME Type"
+msgstr "MIME type"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Om een ingebedde bron in uw browser te bekijken dient de web interface geactiveerd te zijn.\n\nGebruik de \"Opslaan Als\" knop als u alleen de informatie wilt opslaan."
+msgstr "Om een ingebedde bron in uw browser te bekijken dient de web interface geactiveerd te zijn.\n\nGebruik de \"Opslaan als\" knop als u alleen de informatie wilt opslaan."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Download ondertiteling"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Ophalen ondertitels..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Opsturen ondertitels..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -791,7 +798,7 @@ msgstr "Kan niet alle gearchiveerde volumes vinden"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Video oppervlak is een texture-oppervlak, maar de 2Dd functies worden gebruikt om het beeld in de backbuffer te kopieren en te spreiden. Vereist een grafische kaart die 32bit, RGBA, non-power-of-two textures ondersteunt, binnen de resolutie van de video."
+msgstr "Video oppervlak is een texture oppervlak, maar de 2Dd functies worden gebruikt om het beeld in de backbuffer te kopiëren en te spreiden. Vereist een grafische kaart die 32bit, RGBA, non-power-of-two textures ondersteunt, binnen de resolutie van de video."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -799,23 +806,35 @@ msgstr "Video oppervlak is een texture-oppervlak en wordt getekend als 2 driehoe
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "Als er geen Pixel Shader 2.0 ondersteuning is, zal automatisch Simple Bilinear gebruikt worden."
+msgstr "Als er geen pixel shader 2.0 ondersteuning is, zal automatisch simpel bilinear gebruikt worden."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Zet VMR-9 (renderless) in de mixer-modus. Dit betekent dat bij eigenschappen de meeste bedieningselementen zullen werken en een aparte thread gebruikt zal worden om frames te renderen."
+msgstr "Zet VMR-9 (opbouwloos) in de mix modus. Dit betekent dat bij eigenschappen de meeste bedieningselementen zullen werken en een in aparte taak gebruikt zal worden om beelden op te bouwen."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr "Verbeter prestatie ten koste van de compatibiliteit van de renderer."
+msgstr "Verbeter prestatie ten koste van de compatibiliteit van de opbouwer."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr "Verminderd scheuring maar blokkeert de werkbalk"
+msgstr "Verminderd verscheuring maar blokkeert de werkbalk"
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Verminderd scheuring door het omzeilen van de standaard VSync gebruikt in D3D."
+msgstr "Verminderd verscheuring door het omzeilen van de standaard VSync gebruikt in D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Tuner afzoeken"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Ondertiteling niet geladen of geen ondersteunde opbouwer."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Slaat gecompileerde shaders op in lokale AppData om de laadtijd te verkorten."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -827,15 +846,15 @@ msgstr "Gebaseerd op RARFILESource, ondersteund geen gecompenseerde bestanden. "
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr "Gebruikt LAV Filters"
+msgstr "Gebruikt LAV filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Gebruik LAV Filters. Standaard uitgeschakeld aangezien Microsoft filters stabieler zijn voor dit formaat.\nAls u interne filters wilt gebruiken, schakel deze dan voor zowel de bron als decoding in voor een betere afspeel ervaring."
+msgstr "Gebruik LAV filters. Standaard uitgeschakeld aangezien Microsoft filters stabieler zijn voor dit formaat.\nAls u interne filters wilt gebruiken, schakel deze dan voor zowel de bron als decoderen in voor een betere afspeel ervaring."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr "Navigatie balk aan/uit"
+msgstr "Navigatie balk aan / uit"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
@@ -843,15 +862,15 @@ msgstr "Accurate VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr ""
+msgstr "Als het op te bouwen doel niet is gedefineerd, zal het worden overgenomen van de standaard stijl."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr ""
+msgstr "Animatie ondertiteling niet toestaan. Het inschakelen van deze optie zal CPU-gebruik te verlagen. Je kunt het gebruiken als u last hebt van knipperende ondertiteling."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr ""
+msgstr "Verhoging van het aantal gebufferde subbeelden, dient voornamelijk betere weergave prestaties ten koste van een hogere video RAM gebruik op de GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -859,7 +878,7 @@ msgstr "Als je hierop klikt zal de aangevinkte status bij de formaten-groep over
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr ""
+msgstr "Het uitschakelen van deze optie wordt voorkomen dat de ondertitels knipperen, maar het kan ertoe leiden dat de video opbouwer enkele video beelden overslaat."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -939,11 +958,11 @@ msgstr "Opties"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "&Selecteer Shaders"
+msgstr "&Selecteer shaders"
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Foutopsporing Shaders"
+msgstr "&Foutopsporing shaders"
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -954,11 +973,11 @@ msgid "&Organize Favorites..."
msgstr "Favorieten indelen..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Schuifelen"
+msgid "Sh&uffle"
+msgstr "Gehusseld"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Open bestandslocatie"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -991,11 +1010,11 @@ msgstr "EDL opslaan"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "Maak Frame Tijd correctie mogelijk"
+msgstr "Maak beeld tijd correctie mogelijk"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Schakel aan/uit EDL window"
+msgstr "Schakel aan / uit EDL scherm"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
@@ -1003,7 +1022,7 @@ msgstr "EDL op In"
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL op Out"
+msgstr "EDL op uit"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
@@ -1027,7 +1046,7 @@ msgstr "PnS draaien Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Tearing Test"
+msgstr "Tearing test"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1039,10 +1058,10 @@ msgstr "Zoom naar breedbeeld,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_ULTRAWIDE"
msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Zoom naar Ultra-breedbeeld,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zoom naar ultra breedbeeld,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Bij volledig scherm verbergen"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1095,7 +1114,7 @@ msgstr "Auteur"
msgctxt "IDS_INFOBAR_COPYRIGHT"
msgid "Copyright"
-msgstr "Copyright"
+msgstr "Auteursrechten"
msgctxt "IDS_INFOBAR_RATING"
msgid "Rating"
@@ -1127,19 +1146,19 @@ msgstr "Toets"
msgctxt "IDS_AG_MOUSE"
msgid "Mouse Windowed"
-msgstr ""
+msgstr "Muis vast in scherm"
msgctxt "IDS_AG_MOUSE_FS"
msgid "Mouse Fullscreen"
-msgstr "Muis Volledig scherm"
+msgstr "Muis volledig scherm"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
-msgstr "App Opdracht"
+msgstr "App opdracht"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
-msgstr "Media bestanden (all types)"
+msgstr "Media bestanden (alle typen)"
msgctxt "IDS_AG_ALLFILES"
msgid "All files (*.*)|*.*|"
@@ -1147,7 +1166,7 @@ msgstr "All bestanden (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "Audio bestanden (all types)"
+msgstr "Audio bestanden (alle typen)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1155,7 +1174,7 @@ msgstr "Onbekend"
msgctxt "IDS_MPLAYERC_0"
msgid "Quick Open File"
-msgstr "Snel Bestand openen"
+msgstr "Snel bestand openen"
msgctxt "IDS_AG_OPEN_FILE"
msgid "Open File"
@@ -1163,39 +1182,39 @@ msgstr "Bestand openen"
msgctxt "IDS_AG_OPEN_DVD"
msgid "Open DVD/BD"
-msgstr "DVD/BD openen"
+msgstr "DVD / BD openen"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr ""
+msgstr "Zetten voor veranderen shaders mislukt"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr ""
+msgstr "Zetten zowel voor veranderen als wachtende shaders, mislukt"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr ""
+msgstr "Shader worden automatisch herberekend als bijbehorend bestand zijn veranderd."
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr ""
+msgstr "Kan %s niet laden, pixel shaders zullen niet werken."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr ""
+msgstr "Kan benodigde ingangspunten van %s niet vinden, pixel shaders zullen niet werken."
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr ""
+msgstr "Shader voorkeur: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr "Volgende Shader voorinstelling"
+msgstr "Volgende shader voorinstelling"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr "Vorige Shader voorinstelling"
+msgstr "Vorige shader voorinstelling"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1230,8 +1249,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr ""
+msgid "Add containing &folder"
+msgstr "Voeg bevattende map toe"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1251,7 +1270,7 @@ msgstr "&Kopieer filters naar klembord"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
-msgstr "Voer server credentials in"
+msgstr "Voer server inloggegevens in"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
@@ -1263,15 +1282,15 @@ msgstr "Sla aangepaste stijl op"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
-msgstr ""
+msgstr "Onderwijs / wetenschap / feitelijke onderwerpen"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr ""
+msgstr "Verbergt besturingen en panelen in scherm mode."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr ""
+msgstr "Voorkomt de externe ondertitel opbouwer wanneer interne actief is."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1283,15 +1302,15 @@ msgstr "Waarde"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr ""
+msgstr "Maximaal aantal te tonen bestanden in het \"Recente bestanden\" menu en waarvan de locatie is opgeslagen"
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr ""
+msgstr "Onthoudt bestand locatie alléén voor bestanden langer dan N minuten."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr "Onthoud de bestand positie ook voor audio bestanden."
+msgstr "Onthoud de bestand locatie ook voor audio bestanden."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
@@ -1319,7 +1338,7 @@ msgstr "Schakel de monitor uit"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
-msgstr "JPEG Afbeelding"
+msgstr "JPEG afbeelding"
msgctxt "IDS_IMAGE_QUALITY"
msgid "Quality (%):"
@@ -1327,11 +1346,11 @@ msgstr "Kwaliteit (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr ""
+msgstr "Maximum grootte (NxNpx) van een geladen omslag afbeelding alléén in audio mode."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "De ondertiteling vertraging wordt verlaagd / verhoogd met deze waarde telkens wanneer de corresponderende sneltoetsen worden gebruikt (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
@@ -1371,15 +1390,15 @@ msgstr "Even geduld, analyse bezig..."
msgctxt "IDS_ASPECT_RATIO_FMT"
msgid "AR %d:%d"
-msgstr ""
+msgstr "AR %d:%d"
msgctxt "IDS_PPAGEADVANCED_LOGGER"
msgid "Enables logging to file (requires restart)"
-msgstr ""
+msgstr "Aanzetten loggen naar bestand (vereist een restart)"
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
-msgstr "Resterende Tijd"
+msgstr "Resterende tijd"
msgctxt "IDS_TIMER_HIGH_PRECISION"
msgid "High precision"
@@ -1387,31 +1406,31 @@ msgstr "Hoge precisie"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr ""
+msgstr "Na afspelen: Spoel huidig bestand terug"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr ""
+msgstr "Na afspelen: Sluiten"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr ""
+msgstr "PMC-HC kwam een fout tegen tijdens het initialiseren. Met uw hulp kunnen mogelijk het \"probleem\" herstellen.\nWil je het rapporteren?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr ""
+msgstr "Geef een positieve waarde, indien audio te vroeg is een negatieve waarde als het te laat is."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr ""
+msgstr "Voorbeeld momenteel uitgezet. Je kunt het aanzetten in de MPC-HC opties."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "Deze optie kan worden gebruikt om media bestanden te bekijken vanaf externe locatie. Gebruik het alleen op een goed beveiligd privé-netwerk.\n\nWil je echt deze optie inschakelen?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Interne ondertitel opbouwer"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1433,13 +1452,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Afbeelding succesvol opgeslagen"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Ondertiteling laden"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Laden ondertitels..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Ondertiteling opslaan"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Opslaan ondertitels..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1451,7 +1470,7 @@ msgstr "Afsluiten"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
-msgstr "Afspelen/Pauze"
+msgstr "Afspelen / Pauze"
msgctxt "IDS_AG_PLAY"
msgid "Play"
@@ -1463,11 +1482,11 @@ msgstr "Stoppen"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "Frame vooruit"
+msgstr "Beeld vooruit"
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "Frame terug"
+msgstr "Beeld terug"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1479,7 +1498,7 @@ msgstr "Sneller"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
-msgstr ""
+msgstr "Shows / Spel programma's"
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
@@ -1487,19 +1506,19 @@ msgstr "Sport"
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr "Kinder-/jeugdprogramma's"
+msgstr "Kinder / jeugdprogramma's"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
-msgstr "Muziek/Ballet/Dans"
+msgstr "Muziek / Ballet / Dans"
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
-msgstr "Kunst/Cultuur"
+msgstr "Kunst / Cultuur"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
-msgstr "Sociaal/Politiek/Economie"
+msgstr "Sociaal / Politiek / Economie"
msgctxt "IDS_CONTENT_LEISURE"
msgid "Leisure hobbies"
@@ -1515,15 +1534,15 @@ msgstr "Kopie opslaan"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Laatste keyframe"
+msgstr "Laatste sleutelbeeld"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Dichtstbijzijnde keyframe"
+msgstr "Dichtstbijzijnde sleutelbeeld"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr ""
+msgstr "MPC-HC kwam een probleem tegen tijdens initialisatie. DVD afspelen kan mogelijk niet goed werken. Dit kan worden veroorzaakt door een aantal onverenigbaarheden met bepaalde beveiligingsmiddelen.\n\nWil je dit feit rapporteren?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1535,23 +1554,23 @@ msgstr "Toon aanwijzer tijdens bewegen, verberg na:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr ""
+msgstr "Toon \"hover over\" tekst, verberg na:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr ""
+msgstr "Instellen voor veranderen shaders mislukt"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Frame tijdcorrectie: Aan"
+msgstr "Beeld tijdcorrectie: Aan"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Frame tijdcorrectie: Uit"
+msgstr "Beeld tijdcorrectie: Uit"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr ""
+msgstr "Doel VSync compensatie: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
@@ -1566,12 +1585,12 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatuurweergaven succesvol opgeslagen"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospoor"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
-msgstr ""
+msgstr "Video hoek"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
@@ -1579,11 +1598,11 @@ msgstr "Instellingen resetten"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr ""
+msgstr "Weet je zeker dat je MPC-HC wilt herstellen naar de standaardinstellingen?\nWees gewaarschuwd, dat al uw huidige instellingen verloren zullen gaan!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr ""
+msgstr "Sluit alle exemplaren van MPC-HC, zodat de standaardinstellingen kunnen worden hersteld."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
@@ -1591,7 +1610,7 @@ msgstr "Exporteer instellingen"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr ""
+msgstr "Sommige veranderingen zijn nog niet bewaard.\nWil je die bewaren voordat je die exporteert? "
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
@@ -1599,11 +1618,11 @@ msgstr "De instellingen zijn succesvol geëxporteerd."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr "Export gefaald! Dit kan gebeuren als U niet de correcte rechten heeft."
+msgstr "Exporteren mislukt! Dit kan gebeuren als U niet de correcte rechten heeft."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
-msgstr "BDA Fout"
+msgstr "BDA fout"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
@@ -1615,7 +1634,7 @@ msgstr "Normaal"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Audio vertragingDelay +10ms"
+msgstr "Audio vertraging +10ms"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
@@ -1647,11 +1666,11 @@ msgstr "Spring terug (lang)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "Spring verder (keyframe)"
+msgstr "Spring verder (sleutelbeeld)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "Spring terug (keyframe)"
+msgstr "Spring terug (sleutelbeeld)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1663,23 +1682,23 @@ msgstr "Vorige"
msgctxt "IDS_AG_NEXT_FILE"
msgid "Next File"
-msgstr "Volgend Bestand"
+msgstr "Volgend bestand"
msgctxt "IDS_AG_PREVIOUS_FILE"
msgid "Previous File"
-msgstr "Vorig Bestand"
+msgstr "Vorig bestand"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "Direct3D Volledig Scherm aan/uit"
+msgstr "Direct3D volledig scherm aan / uit"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Vorige Ondertiteling"
+msgstr "Vorige ondertitel"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Volgende Ondertiteling"
+msgstr "Volgende ondertitel"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
@@ -1691,11 +1710,11 @@ msgstr "Ondertiteling naar rechts"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
-msgstr "Spring naar Begin"
+msgstr "Spring naar begin"
msgctxt "IDS_OSD_SHOW_FILENAME"
msgid "OSD: Show File Name"
-msgstr ""
+msgstr "OSD: Toon bestandsnaam"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
@@ -1707,11 +1726,11 @@ msgstr "BD afspelen"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
-msgstr "OSD: renderstatistieken weergeven"
+msgstr "OSD: Opbouw statistieken weergeven"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr "OSD: renderstatistieken resetten"
+msgstr "OSD: Opbouw statistieken resetten"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
@@ -1719,15 +1738,15 @@ msgstr "Ondertiteling::Misc"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
-msgstr "Hide borders"
+msgstr "Verberg randen"
msgctxt "IDS_VIEW_FRAMEONLY"
msgid "Fra&me Only"
-msgstr ""
+msgstr "Beeld alléé&n"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Show Caption&&Menu"
+msgstr "Toon Caption&&Menu"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
@@ -1739,27 +1758,27 @@ msgstr "Geavanceerd"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
-msgstr "Minimaal Beeld"
+msgstr "Minimaal beeld"
msgctxt "IDS_AG_VIEW_COMPACT"
msgid "View Compact"
-msgstr "Compact Beeld"
+msgstr "Compact beeld"
msgctxt "IDS_AG_VIEW_NORMAL"
msgid "View Normal"
-msgstr "Standaard Beeld"
+msgstr "Standaard beeld"
msgctxt "IDS_AG_FULLSCREEN"
msgid "Fullscreen"
-msgstr "Volledig Scherm"
+msgstr "Volledig scherm"
msgctxt "IDS_MPLAYERC_39"
msgid "Fullscreen (w/o res.change)"
-msgstr "Volledig Scherm (zelfde resolutie)"
+msgstr "Volledig scherm (zelfde resolutie)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT"
msgid "Zoom Auto Fit"
-msgstr "Autom. passend"
+msgstr "Automatisch passend"
msgctxt "IDS_AG_VIDFRM_HALF"
msgid "VidFrm Half"
@@ -1802,8 +1821,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec Hoogte"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Ondertiteling downloaden, even geduld."
+msgid "Downloading [%s] \"%s\""
+msgstr "Ophalen [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1819,7 +1838,7 @@ msgstr "%d ondertitel(s) beschikbaar."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Wilt u automatisch controleren op updates voor MPC-HC?\n\nDit kan later worden uitgeschakeld in de opties bij "
+msgstr "Wilt u automatisch controleren op opwaarderingen voor MPC-HC?\n\nDit kan later worden uitgeschakeld in de opties bij pagina \"Overige\" "
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1835,19 +1854,19 @@ msgstr "200%"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
-msgstr "Autom. passend"
+msgstr "Automatisch passend"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr "Autom. passend (Alleen groter)"
+msgstr "Automatiisch passend (alléén groter)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
-msgstr ""
+msgstr "Zoom auto passend (alléén groter)"
msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
msgid "Zoom: Auto (Larger Only)"
-msgstr ""
+msgstr "Zoom: Auto (alléén groter)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
@@ -1903,7 +1922,7 @@ msgstr "PnS laag/rechts"
msgctxt "IDS_AG_VOLUME_UP"
msgid "Volume Up"
-msgstr "Volume omhooh"
+msgstr "Volume omhoog"
msgctxt "IDS_AG_VOLUME_DOWN"
msgid "Volume Down"
@@ -1915,7 +1934,7 @@ msgstr "Volume dempen"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
-msgstr "DVD Titel Menu"
+msgstr "DVD titel menu"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
@@ -1923,11 +1942,11 @@ msgstr "DVD Root menu"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
-msgstr "DVD Ondertitelings Menu"
+msgstr "DVD ondertitel menu"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
-msgstr "DVD Audio Menu"
+msgstr "DVD audio menu"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
@@ -1935,35 +1954,35 @@ msgstr "DVD Camerahoek Menu"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
-msgstr "DVD Hoofdstuk Menu"
+msgstr "DVD hoofdstuk menu"
msgctxt "IDS_AG_DVD_MENU_LEFT"
msgid "DVD Menu Left"
-msgstr "DVD Menu links"
+msgstr "DVD menu links"
msgctxt "IDS_MPLAYERC_70"
msgid "DVD Menu Right"
-msgstr "DVD Menu rechts"
+msgstr "DVD menu rechts"
msgctxt "IDS_AG_DVD_MENU_UP"
msgid "DVD Menu Up"
-msgstr "DVD Menu omhoog"
+msgstr "DVD menu omhoog"
msgctxt "IDS_AG_DVD_MENU_DOWN"
msgid "DVD Menu Down"
-msgstr "DVD Menu omlaag"
+msgstr "DVD menu omlaag"
msgctxt "IDS_MPLAYERC_73"
msgid "DVD Menu Activate"
-msgstr "DVD Menu Activeer"
+msgstr "DVD menu activeer"
msgctxt "IDS_AG_DVD_MENU_BACK"
msgid "DVD Menu Back"
-msgstr "DVD Menu terug"
+msgstr "DVD menu terug"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "DVD Menu verlaten"
+msgstr "DVD menu verlaten"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
@@ -1971,15 +1990,15 @@ msgstr "Boss toets"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu"
-msgstr "Speler Menu"
+msgstr "Speler menu"
msgctxt "IDS_MPLAYERC_78"
msgid "Player Menu (full)"
-msgstr "Speler Menu (Volledig)"
+msgstr "Speler menu (volledig)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
-msgstr "Filters Menu"
+msgstr "Filters menu"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
@@ -2007,31 +2026,31 @@ msgstr "Ondertiteling Aan/Uit"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
-msgstr "Herlaad Ondertiteling"
+msgstr "Herlaad ondertitel"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
-msgstr "Volgende Camerahoek (DVD)"
+msgstr "Volgende camerahoek (DVD)"
msgctxt "IDS_MPLAYERC_92"
msgid "Prev Angle (DVD)"
-msgstr "Vorige Camerahoek (DVD)"
+msgstr "Vorige camerahoek (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr ""
+msgstr "Volgende audio spoor (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr ""
+msgstr "Vorig audio spoor (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "Volgende ondertitel spoor (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "Vorige ondertitel spoor (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2039,7 +2058,7 @@ msgstr "On/Off Ondertiteling (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
-msgstr ""
+msgstr "OSD: Toon huidige tijd"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
@@ -2065,11 +2084,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Gecodeerd"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ja"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nee"
@@ -2087,7 +2106,7 @@ msgstr "Radio stations"
msgctxt "IDS_DVB_TVNAV_SEETV"
msgid "TV stations"
-msgstr "TV Stations"
+msgstr "TV stations"
msgctxt "IDS_DVB_CHANNEL_FORMAT"
msgid "Format"
@@ -2107,7 +2126,7 @@ msgstr "Kan Ondertiteling niet opslaan"
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
-msgstr "Framesnelheid"
+msgstr "Beeld snelheid"
msgctxt "IDS_MAINFRM_6"
msgid "drawn: %d, dropped: %d"
@@ -2135,7 +2154,7 @@ msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
-msgstr "Toevoegen aan MPC-HC Afspeellijst"
+msgstr "Toevoegen aan MPC-HC afspeellijst"
msgctxt "IDS_OPEN_WITH_MPC"
msgid "Play with MPC-HC"
@@ -2143,7 +2162,7 @@ msgstr "Afspelen met MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC heeft niet genoeg rechten om bestand associaties te veranderen. Klik op \"Uitvoeren als Administrator\"."
+msgstr "MPC-HC heeft niet genoeg rechten om bestand associaties te veranderen. Klik op \"Uitvoeren als Administrateur\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2163,39 +2182,39 @@ msgstr "Titel %u"
msgctxt "IDS_MAINFRM_16"
msgid "DVD: Unexpected error"
-msgstr "DVD: Onverwachte Fout"
+msgstr "DVD: Onverwachte fout"
msgctxt "IDS_MAINFRM_17"
msgid "DVD: Copy-Protect Fail"
-msgstr "DVD: Copy-Protectie Fout"
+msgstr "DVD: Kopieer bescherming fout"
msgctxt "IDS_MAINFRM_18"
msgid "DVD: Invalid DVD 1.x Disc"
-msgstr "DVD: Ongeldige DVD 1.x Disk"
+msgstr "DVD: Ongeldige DVD 1.x disk"
msgctxt "IDS_MAINFRM_19"
msgid "DVD: Invalid Disc Region"
-msgstr "DVD: Ongeldige Disk-Regio"
+msgstr "DVD: Ongeldige disk-regio"
msgctxt "IDS_MAINFRM_20"
msgid "DVD: Low Parental Level"
-msgstr "DVD: Te laag Niveau Ouderlijk Toezicht"
+msgstr "DVD: Te laag niveau ouderlijk toezicht"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
-msgstr "DVD: Macrovision Fout"
+msgstr "DVD: Macrovision fout"
msgctxt "IDS_MAINFRM_22"
msgid "DVD: Incompatible System And Decoder Regions"
-msgstr "DVD: Incompatibele Systeem en Decoder Regio's"
+msgstr "DVD: Incompatibele systeem en decoder regio's"
msgctxt "IDS_MAINFRM_23"
msgid "DVD: Incompatible Disc And Decoder Regions"
-msgstr "DVD: Incompatibele Disk en Decoder Regio's"
+msgstr "DVD: Incompatibele disk en decoder regio's"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying context menus and dialog boxes during playback.\n\nDo you really want to activate this option?"
+msgstr "Deze optie is ontwikkeld om \"verscheuring\" te voorkomen. Het zal echter ook voorkomen dat MPC-HC de menu inhoud en dialoogvensters kan weergeven tijdens het afspelen.\n\nWil je echt deze optie te activeren?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2221,21 +2240,13 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Beeldbreedte"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL geverifieerd!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protocolversie komt niet overeen, s.v.p. uw speler updaten of een andere server ingeven!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Beeldverhouding"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
-msgstr ", Totaal: %ld, Verworpen: %ld"
+msgstr ", Totaal: %ld, verworpen: %ld"
msgctxt "IDS_MAINFRM_38"
msgid ", Size: %I64d KB"
@@ -2255,7 +2266,7 @@ msgstr ", Beschikbaar: %I64dMB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr ", Beschikbare V/A Buffers: %03d/%03d"
+msgstr ", Beschikbare V/A buffers: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2271,7 +2282,7 @@ msgstr "Ondertiteling: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
-msgstr "Kies het pad naar de DVD/BD:"
+msgstr "Kies het pad naar de DVD / BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
@@ -2287,7 +2298,7 @@ msgstr "GetDIB niet gelukt, hr = %08x"
msgctxt "IDS_GETCURRENTIMAGE_FAILED"
msgid "GetCurrentImage failed, hr = %08x"
-msgstr "GetCurrentImage niet gelukt, hr = %08x"
+msgstr "GetCurrentImage mislukt, hr = %08x"
msgctxt "IDS_SCREENSHOT_ERROR"
msgid "Cannot create file"
@@ -2307,7 +2318,7 @@ msgstr "Te weinig geheugen!"
msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
-msgstr "Ongeldig Beeldformaat, kan geen miniaaturweergaven maken van %d bpp dibs."
+msgstr "Ongeldig beeldformaat, kan geen miniaaturweergaven maken van %d bpp dibs."
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
@@ -2319,11 +2330,11 @@ msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Bestandsnaam: %s\\N%sResolut
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr ""
+msgstr "Miniatuur zou te klein zijn, onmogelijk bestand aan te maken.\nProbeer aantal miniaturen te verlagen of verhoog de totale grootte."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Om de ondertiteling te laden verander de video render type en heropen het bestand.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR of Haali\n- RealMedia: Special renderer for RealMedia, of open het met DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Om de ondertiteling te laden verander de video opbouw type en heropen het bestand.\n- DirectShow: VMR-9 (opbouwloos), EVR (CP), Sync, madVR of Haali\n- RealMedia: Speciale opbouwer voor RealMedia, of open het met DirectShow\n- QuickTime: DX7 of DX9 opbouwer voor QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2334,8 +2345,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Beeldverhouding: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Beeldverhouding: Default"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Beeldverhouding: Standaard (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2359,7 +2370,7 @@ msgstr "QuickTime niet ondersteund op een x64 systeem"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "Kon het filter graph object niet maken"
+msgstr "Kon het filter grafiek object niet maken"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2371,11 +2382,7 @@ msgstr "Openen gestopt"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Kon bestand niet renderen"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Ondertitelings-database kon op deze URL niet gevonden worden!"
+msgstr "Kon bestand niet opbouwen"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2387,7 +2394,7 @@ msgstr "Vol: %d%%"
msgctxt "IDS_BOOST_OSD"
msgid "Boost: +%u%%"
-msgstr "Boost: +%u%%"
+msgstr "Versterking: +%u%%"
msgctxt "IDS_BALANCE_OSD"
msgid "Balance: %s"
@@ -2411,15 +2418,15 @@ msgstr "Pauze"
msgctxt "IDS_AG_TOGGLE_CAPTION"
msgid "Toggle Caption&Menu"
-msgstr "Titel&Menu aan/uit"
+msgstr "Titel&Menu aan / uit"
msgctxt "IDS_AG_TOGGLE_SEEKER"
msgid "Toggle Seek Bar"
-msgstr "Zoeken aan/uit"
+msgstr "Zoeken aan / uit"
msgctxt "IDS_AG_TOGGLE_CONTROLS"
msgid "Toggle Controls"
-msgstr "Knoppen aan/uit"
+msgstr "Knoppen aan / uit"
msgctxt "IDS_MAINFRM_84"
msgid "Invalid file name"
@@ -2431,11 +2438,11 @@ msgstr "Kan geen verbinding maken met filters"
msgctxt "IDS_MAINFRM_87"
msgid "Cannot load any source filter"
-msgstr "Kan source filter niet laden"
+msgstr "Kan bron filter niet laden"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
-msgstr "Kan bestand niet renderen"
+msgstr "Kan bestand niet opbouwen"
msgctxt "IDS_MAINFRM_89"
msgid "Invalid file format"
@@ -2455,11 +2462,11 @@ msgstr "Formaat niet ondersteund"
msgctxt "IDS_MAINFRM_93"
msgid "Cannot find DVD directory"
-msgstr "Kan DVD-map niet vinden"
+msgstr "Kan DVD map niet vinden"
msgctxt "IDS_MAINFRM_94"
msgid "Can't create the DVD Navigator filter"
-msgstr "Kan DVD-navigatie filter niet maken"
+msgstr "Kan DVD navigatie filter niet maken"
msgctxt "IDS_AG_FAILED"
msgid "Failed"
@@ -2467,11 +2474,11 @@ msgstr "Niet gelukt"
msgctxt "IDS_MAINFRM_96"
msgid "Can't create video capture filter"
-msgstr "Kan Video Capture Filter niet maken"
+msgstr "Kan video afvang filter niet maken"
msgctxt "IDS_MAINFRM_98"
msgid "No capture filters"
-msgstr "Geen Capture Filters gevonden"
+msgstr "Geen afvang filters gevonden"
msgctxt "IDS_MAINFRM_99"
msgid "Can't create capture graph builder object"
@@ -2479,15 +2486,15 @@ msgstr "Kan Capture Graph Builder Object niet maken"
msgctxt "IDS_MAINFRM_108"
msgid "Couldn't open any device"
-msgstr "Kon heen apparaat openen"
+msgstr "Kon geen apparaat openen"
msgctxt "IDS_AG_SOUND"
msgid "Sound"
-msgstr "audio"
+msgstr "Geluid"
msgctxt "IDS_MAINFRM_114"
msgid "%s was not found, please insert media containing this file."
-msgstr "%s niet gevonden, stop media met dit bestand erin s.v.p."
+msgstr "%s is niet gevonden, stop media met dit bestand erin s.v.p."
msgctxt "IDS_AG_ABORTED"
msgid "Aborted"
@@ -2515,15 +2522,15 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr " (Regisseur Commentaar 1)"
+msgstr " (Regisseur commentaar 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr " (Regisseur Commentaar 2)"
+msgstr " (Regisseur commentaar 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "DVD-ondertiteling inschakelen"
+msgstr "DVD ondertiteling inschakelen"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2531,7 +2538,7 @@ msgstr "Camerahoek %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Verhoog VSync offset"
+msgstr "Verhoog VSync compensatie"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2539,11 +2546,11 @@ msgstr "Gedeactiveerd"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
-msgstr "Verlaag VSync offset"
+msgstr "Verlaag VSync compensatie"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
-msgstr "MPC-HC D3D Volledig Scherm"
+msgstr "MPC-HC D3D volledig scherm"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
@@ -2555,23 +2562,23 @@ msgstr "Ondertitelingsverschuiving: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
-msgstr "Volume boost verhogen"
+msgstr "Volume versterking verhogen"
msgctxt "IDS_VOLUME_BOOST_DEC"
msgid "Volume boost decrease"
-msgstr "Volume boost verlagen"
+msgstr "Volume versterking verlagen"
msgctxt "IDS_VOLUME_BOOST_MIN"
msgid "Volume boost Min"
-msgstr ""
+msgstr "Volume versterking min"
msgctxt "IDS_VOLUME_BOOST_MAX"
msgid "Volume boost Max"
-msgstr ""
+msgstr "Volume versterking max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Gebruik: mpc-hc.exe \"padnaam\" [parameters]\n\n\"padnaam\"\tHet te laden bestand of map (wildcards\n\t\ttoegestaan, \"-\" denotes standard input)\n/dub \"dubnaam\"\tLaad nog een geluidsbestand\n/dubdelay \"best\"\tLaad nog een geluidsbestand met een\n\t\tverschuiving van XXms\n\t\t (als bestand \"..vertraging XXms..\" heeft)\n/d3dfs\t\tStart renderen in D3D Volledig Scherm modus\n/sub \"ondertitel\"\tLaad nog een ondertitelingsbestand\n/filter \"filternaam\"\tLaad DirectShow filters van een DLL\n\t\t(wildcards toegestaan)\n/dvd\t\tStart in DVD-modus, \"padnaam\" betekent de DVD\n\t\tmap (hoeft niet)\n/dvdpos T#H\tStart afspelen bij titel T, hoofdstuk H\n/dvdpos T#uu:mm\tStart afspelen bij titel T, positie uu:mm:ss\n/cd\t\tLaad alle nummers van een audio cd of (s)vcd\n\t\t\"padnaam\" betekent het stationspad (hoeft niet)\n/device\t\tOpen the default video device\n/open\t\tOpen het bestand zonder automatisch af te spelen\n/play\t\tDirect afspelen, wanneer de speler wordt geopend\n/close\t\tSluit de speler af na afspelen (werkt alleen samen \n\t\tmet /play)\n/shutdown\tWindows afsluiten na afspelen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in Volldig Scherm modus\n/minimized\tStart geminimaliseerd\n/new\t\tEen nieuwe speler openen\n/add\t\tVoegt \"padnaam\" aan de afspeellijst toe\n\t\tKan gecombineerd worden met /open en /play\n/randomize\tRandomize the playlist\n/regvid\t\tMaak bestandskoppelingen voor videobestanden\n/regaud\t\tMaak bestandskoppelingen voor\n\t\tgeluidsbestanden\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVerwijder alle bestandskoppelingen\n/start ms\t\tStart afspelen op \"ms\" (= milliseconden)\n/startpos uu:mm:ss\tStart afspelen op positie uu:mm:ss\n/fixedsize B,H\tZet venstergrootte op BxH\n/monitor N\tStart op schermmonitor N (N start bij 1)\n/audiorenderer N\tStart met audiorenderer N (N start bij 1)\n\t\t(zie \"Uitgangs\" instellingen)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tToon help over opdrachtprompt parameters\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Gebruik: mpc-hc.exe \"padnaam\" [parameters]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2579,31 +2586,31 @@ msgstr "Onbekende parameter(s) in opdrachtprompt: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "Informatie aan/uit"
+msgstr "Informatie aan / uit"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
-msgstr "Statistieken aan/uit"
+msgstr "Statistieken aan / uit"
msgctxt "IDS_AG_TOGGLE_STATUS"
msgid "Toggle Status"
-msgstr "Status aan/uit"
+msgstr "Status aan / uit"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Ondertitelingsresyncbalk aan/uit"
+msgstr "Ondertitelingsresyncbalk aan / uit"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Afspeellijstbalk aan/uit"
+msgstr "Afspeellijstbalk aan / uit"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
-msgstr "Opnamebalk aan/uit"
+msgstr "Opnamebalk aan / uit"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr ""
+msgstr "Schakelen tussen foutzoek informatie shaders"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2619,7 +2626,7 @@ msgstr "Zoom 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
-msgstr "Volgende AR Profiel"
+msgstr "Volgende AR profiel"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
@@ -2635,7 +2642,7 @@ msgstr "VidFrm Buiten"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "PnS-reset"
+msgstr "PnS reset"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
@@ -2643,28 +2650,20 @@ msgstr "PnS Rotatie X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr ""
+msgstr "VidFrm Zoom 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr ""
+msgstr "VidFrm Zoom 2 "
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
-msgstr ""
+msgstr "VidFrm Switch Zoom"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Activeer alle filters"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Tuner afzoeken"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Ondertiteling niet geladen of geen ondersteunde renderer."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Auteur onbekend. Neem contact op als je dit logo hebt gemaakt!"
@@ -2683,75 +2682,75 @@ msgstr "Het laatste bestand in de folder is al geladen."
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
-msgstr "Voor Links"
+msgstr "Voor links"
msgctxt "IDS_FRONT_RIGHT"
msgid "Front Right"
-msgstr "Voor Rechts"
+msgstr "Voor rechts"
msgctxt "IDS_FRONT_CENTER"
msgid "Front Center"
-msgstr "Voor Midden"
+msgstr "Voor midden"
msgctxt "IDS_LOW_FREQUENCY"
msgid "Low Frequency"
-msgstr "Lage Frequentie"
+msgstr "Lage frequentie"
msgctxt "IDS_BACK_LEFT"
msgid "Back Left"
-msgstr "Achter Links"
+msgstr "Achter links"
msgctxt "IDS_BACK_RIGHT"
msgid "Back Right"
-msgstr "Achter Rechts"
+msgstr "Achter rechts"
msgctxt "IDS_FRONT_LEFT_OF_CENTER"
msgid "Front Left of Center"
-msgstr "Voor Links van Midden"
+msgstr "Voor links van midden"
msgctxt "IDS_FRONT_RIGHT_OF_CENTER"
msgid "Front Right of Center"
-msgstr "Voor Rechts van Midden"
+msgstr "Voor rechts van midden"
msgctxt "IDS_BACK_CENTER"
msgid "Back Center"
-msgstr "Achter Midden"
+msgstr "Achter midden"
msgctxt "IDS_SIDE_LEFT"
msgid "Side Left"
-msgstr "Zijkant Links"
+msgstr "Zijkant links"
msgctxt "IDS_SIDE_RIGHT"
msgid "Side Right"
-msgstr "Zijkant Rechts"
+msgstr "Zijkant rechts"
msgctxt "IDS_TOP_CENTER"
msgid "Top Center"
-msgstr "Top Midden"
+msgstr "Top midden"
msgctxt "IDS_TOP_FRONT_LEFT"
msgid "Top Front Left"
-msgstr "Top Front Links"
+msgstr "Top voor links"
msgctxt "IDS_TOP_FRONT_CENTER"
msgid "Top Front Center"
-msgstr "Top Front Midden"
+msgstr "Top voor midden"
msgctxt "IDS_TOP_FRONT_RIGHT"
msgid "Top Front Right"
-msgstr "Top Front Rechts"
+msgstr "Top voor rechts"
msgctxt "IDS_TOP_BACK_LEFT"
msgid "Top Back Left"
-msgstr "Top Back Links"
+msgstr "Top achter links"
msgctxt "IDS_TOP_BACK_CENTER"
msgid "Top Back Center"
-msgstr "Top Back Midden"
+msgstr "Top achter midden"
msgctxt "IDS_TOP_BACK_RIGHT"
msgid "Top Back Right"
-msgstr "Top Back Rechts"
+msgstr "Top achter rechts"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seek bar"
@@ -2779,7 +2778,7 @@ msgstr "Annuleren"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr "Layout"
+msgstr "Sjablooon"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
@@ -2851,7 +2850,7 @@ msgstr "MPEG-TS"
msgctxt "IDS_MFMT_DVDVIDEO"
msgid "DVD-Video"
-msgstr "DVD-Video"
+msgstr "DVD video"
msgctxt "IDS_MFMT_MKV"
msgid "Matroska"
@@ -2903,7 +2902,7 @@ msgstr "Smacker/Bink Video"
msgctxt "IDS_MFMT_FLIC"
msgid "FLIC Animation"
-msgstr "FLIC Animation"
+msgstr "FLIC animatie"
msgctxt "IDS_MFMT_DSM"
msgid "DirectShow Media"
@@ -2927,7 +2926,7 @@ msgstr "Ander audio"
msgctxt "IDS_MFMT_AC3"
msgid "AC-3"
-msgstr ""
+msgstr "AC-3"
msgctxt "IDS_MFMT_AIFF"
msgid "AIFF"
@@ -2935,7 +2934,7 @@ msgstr "AIFF"
msgctxt "IDS_MFMT_ALAC"
msgid "Apple Lossless"
-msgstr "Apple Lossless"
+msgstr "Apple verliesvrij"
msgctxt "IDS_MFMT_WAV"
msgid "WAV"
@@ -3063,27 +3062,27 @@ msgstr "Accurate VSync: Uit"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
-msgstr "Synchroniseer Video met Scherm: Aan"
+msgstr "Synchroniseer video met scherm: Aan"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
msgid "Synchronize Video to Display: Off"
-msgstr "Synchroniseer Video met Scherm: Uit"
+msgstr "Synchroniseer video met scherm: Uit"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
msgid "Synchronize Display to Video: On"
-msgstr "Synchroniseer Scherm met Video: Aan"
+msgstr "Synchroniseer scherm met video: Aan"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
msgid "Synchronize Display to Video: Off"
-msgstr "Synchroniseer Scherm met Video: Uit"
+msgstr "Synchroniseer scherm met video: Uit"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
-msgstr ""
+msgstr "Aanwezig op dichtstbijzijnde VSync: Aan"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
msgid "Present at Nearest VSync: Off"
-msgstr ""
+msgstr "Aanwezig op dichtstbijzijnde VSync: Uit"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
@@ -3095,7 +3094,7 @@ msgstr "Kleurbeheer: Uit"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
-msgstr "Invoer-type: Autom. Detecteren"
+msgstr "Invoer type: Automatisch detecteren"
msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
msgid "Input Type: HDTV"
@@ -3111,31 +3110,31 @@ msgstr "Invoer-type: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
-msgstr ""
+msgstr "Omgevingslicht: Helder (2.2 Gamma) "
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
msgid "Ambient Light: Dim (2.35 Gamma)"
-msgstr ""
+msgstr "Omgevingslicht: Gedimd (2.2 Gamma) "
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
msgid "Ambient Light: Dark (2.4 Gamma)"
-msgstr ""
+msgstr "Omgevingslicht: Donker (2.2 Gamma) "
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr ""
+msgstr "Opbouw intentie: Perceptueel "
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr ""
+msgstr "Opbouw intentie: Relatief kleurmetrisch"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
-msgstr ""
+msgstr "Opbouw intentie: Verzadiging"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr ""
+msgstr "Opbouw intentie: Absoluut kleurmetrisch"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
@@ -3143,19 +3142,19 @@ msgstr "Uitvoer Bereik: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr ""
+msgstr "Leeg GPU voor VSync: Aan "
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
-msgstr ""
+msgstr "Leeg GPU voor VSync: Uit"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
-msgstr ""
+msgstr "Leeg GPU na VSync: Aan"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
msgid "Flush GPU after Present: Off"
-msgstr ""
+msgstr "Leeg GPU na VSync: Uit "
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
@@ -3175,11 +3174,11 @@ msgstr "D3D Volledig scherm: Uit"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
-msgstr ""
+msgstr "Uitzetten bureaublad compositie: Aan"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr ""
+msgstr "Uitzetten bureaublad compositie: Uit"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
@@ -3191,51 +3190,51 @@ msgstr "Alternatieve VSync: Uit"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Reset renderer naar standaard instellingen"
+msgstr "Reset opbouwer naar standaard instellingen"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Reset renderer naar optimale instellingen"
+msgstr "Reset opbouwer naar optimale instellingen"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr ""
+msgstr "D3D volledig scherm GUI ondersteuning: Aan"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
-msgstr ""
+msgstr "D3D volledig scherm GUI ondersteuning: Uit"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
-msgstr "10-bit RGB Uitvoer: Aan"
+msgstr "10-bit RGB uitvoer: Aan"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
-msgstr "10-bit RGB Uitvoer: Uit"
+msgstr "10-bit RGB uitvoer: Uit"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
-msgstr "Verplicht 10-bit RGB Invoer: Aan"
+msgstr "Verplicht 10-bit RGB invoer: Aan"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
msgid "Force 10-bit RGB Input: Off"
-msgstr "Verplicht 10-bit RGB Invoer: Uit"
+msgstr "Verplicht 10-bit RGB invoer: Uit"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr ""
+msgstr "Volledig zwevendekommagetal uitvoering: Aan"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
-msgstr ""
+msgstr "Volledig zwevendekommagetal uitvoering: Uit"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr ""
+msgstr "Halve zwevendekommagetal uitvoering: Aan"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
-msgstr ""
+msgstr "Halve zwevendekommagetal uitvoering: Uit"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
@@ -3279,11 +3278,11 @@ msgstr "Geïnstalleerde versie: v%s.\n\nDe laatste stabiele versie is v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s is beschikbaar. U gebruikt v%s.\n\nWilt u de nieuwste MPC-HC versie downloaden van de website?"
+msgstr "MPC-HC v%s is beschikbaar. U gebruikt v%s.\n\nWilt u de nieuwste MPC-HC versie ophalen van de website?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Update server niet gevonden.\n\nControlleer uw internet verbinding en probeer opnieuw."
+msgstr "Opwaardeer server niet gevonden.\n\nControlleer uw internet verbinding en probeer opnieuw."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3299,19 +3298,19 @@ msgstr "Zoom: Automatisch"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
-msgstr ""
+msgstr "Wisselen tussen eigen kanaalindeling"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
-msgstr "Aangepaste kanaalindeling: Aan"
+msgstr "Eigen kanaal indeling: Aan"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
msgid "Custom channel mapping: Off"
-msgstr "Aangepaste kanaalindeling: Uit"
+msgstr "Eigen kanaal indeling: Uit"
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
-msgstr ""
+msgstr "Wissel normalisatie"
msgctxt "IDS_OSD_NORMALIZE_ON"
msgid "Normalization: On"
@@ -3323,15 +3322,15 @@ msgstr "Normalisatie: Uit"
msgctxt "IDS_REGAIN_VOLUME"
msgid "Toggle regain volume"
-msgstr ""
+msgstr "Wisselen herwinnen volume"
msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
msgid "Regain volume: On"
-msgstr ""
+msgstr "Herwinnen volume: Aan"
msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
-msgstr ""
+msgstr "Herwinnen volume: Uit"
msgctxt "IDS_SIZE_UNIT_BYTES"
msgid "bytes"
@@ -3359,63 +3358,59 @@ msgstr "MB/s"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
-msgstr ""
+msgstr "Kon géén tuner aanmaken."
msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
msgid "Could not create the receiver."
-msgstr ""
+msgstr "Kon géén ontvanger aanmaken."
msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
msgid "Could not connect the network and the tuner."
-msgstr ""
+msgstr "Kon niet verbinden met netwerk en tuner."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
msgid "Could not connect the tuner and the receiver."
-msgstr ""
+msgstr "Kon niet verbinden met tuner en ontvanger."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
msgid "Could not connect the tuner."
-msgstr ""
+msgstr "Kon niet met tuner verbinden."
msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
msgid "Could not create the demultiplexer."
-msgstr ""
+msgstr "Kon demultiplexer niet aanmaken."
msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
msgid "Error parsing the entered time!"
-msgstr ""
+msgstr "Fout bij ontleden ingegeven tijd!"
msgctxt "IDS_GOTO_ERROR_PARSING_TEXT"
msgid "Error parsing the entered text!"
-msgstr ""
+msgstr "Fout bij ontleden ingegeven tekst!"
msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
msgid "Error parsing the entered frame rate!"
-msgstr ""
+msgstr "Fout bij ontleden ingegeven beeld per seconde!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr ""
+msgstr "Kan géén beeld-stap doen, probeer een andere video opbouwer. "
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr ""
+msgstr "De \"Afbeelding opslaan\" en \"Miniatuur opslaan\" werken niet met de standaard video opbouwer voor Real Media.\nSelecteer één van de DirectX opbouwers voor Real Media in MPC-HC uitvoer opties en heropen het bestand."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr ""
+msgstr "De \"Afbeelding opslaan\" en \"Miniatuur opslaan\" werken niet met de standaard video opbouwer voor QuickTime.\nSelecteer één van de DirectX opbouwers voor QuickTime in MPC-HC uitvoer opties en heropen het bestand."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
-msgstr ""
+msgstr "De \"Opslaan plaatje\" en \"Opslaan miniatuur\" functies werken niet bij \"Schockwave\" bestanden."
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr ""
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Kan geen verbinding maken met de online ondertitel database."
+msgstr "De \"Opslaan plaatje\" en \"Opslaan miniatuur\" functies werken niet met de Overlay Mixer video opbouwer.\nVerander de video opbouwer in MPC's uitvoer opties en heropen het bestand."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
@@ -3423,7 +3418,7 @@ msgstr "Wilt u de EDL-bewerker inschakelen?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
-msgstr "Opnamefout"
+msgstr "Opname fout"
msgctxt "IDS_CAPTURE_ERROR_VIDEO"
msgid "video"
@@ -3435,47 +3430,47 @@ msgstr "audio"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
-msgstr ""
+msgstr "Kan de %s buffer filter niet aan de grafiek toevoegen."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
msgid "Can't connect the %s buffer filter to the graph."
-msgstr ""
+msgstr "Kan de %s buffer filter niet verbinden op de grafiek."
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr ""
+msgstr "Kan de %s encoder filter niet aan de grafiek toevoegen"
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr ""
+msgstr "Kan de %s encoder filter niet verbinden op de grafiek."
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
-msgstr ""
+msgstr "Kan de compressie format niet instellen op de %s encoder filter."
msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
msgid "Can't connect the %s stream to the multiplexer filter."
-msgstr ""
+msgstr "Kan de %s stroom niet verbinden aan de multiplexer filter."
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr ""
+msgstr "Geen video capture pin werd gevonden."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr ""
+msgstr "Geen audio capture pin werd gevonden."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
-msgstr ""
+msgstr "Fout bij initialiseren uitvoer bestand."
msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
msgid "Error initializing the audio output file."
-msgstr ""
+msgstr "Fout bij initialiseren audio bestand."
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr ""
+msgstr "Het juiste tijd format is [-]hh:mm:ss.ms (b.v. 01:23:45.678)."
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
@@ -3491,7 +3486,7 @@ msgstr "Na weergave: Sluiten"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Na weergave: Stand By"
+msgstr "Na weergave: Stand by"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
@@ -3543,7 +3538,7 @@ msgstr "Kleurinstellingen hersteld"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
-msgstr "Kleur controlle wordt niet ondersteund"
+msgstr "Kleur control wordt niet ondersteund"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
@@ -3579,7 +3574,7 @@ msgstr "&Kanalen"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr ""
+msgstr "Als \"laatste sleutelbeeld\" is geselecteerd, tracht om het eerste sleutelbeeld te zoeken voor de eigenlijke zoekpunt.\nAls \"dichtbijzijnde sleutelbeeld\" is geselecteerd, Als \"laatste sleutelbeeld\" is geselecteerd, tracht de eerste hoofdbeeld vóór of na de zoekpunt afhankelijk van welke het dichtstbij is."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
@@ -3599,13 +3594,381 @@ msgstr "Verwijder alle associaties"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
-msgstr "Opties"
+msgstr "Instellingen"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub "
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
-msgstr ""
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Leverancier"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Slechthorend"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Op te halen"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Score"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Zoeken naar ondertitels online mislukt."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Zoeken naar ondertitels online gestopt."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Zoeken naar ondertitels online voltooid, %d ondertitels gevonden."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Zoeken naar ondertitels online voltooid, geen ondertitels gevonden."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Ophalen ondertiteling"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Op zoek naar ondertitels online, even geduld aub..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Stoppen met zoeken naar online ondertitels..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Gebruikersnaam"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Klaar..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Niet geïmplementeerd."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Opsturen..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Ondertitels succesvol opgestuurd."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Ondertitels opsturen mislukt."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Ondertitels opsturen gestopt."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Ondertitel bestaat al."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Ondertitels aan het versturen, even geduld aub..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Opsturen voltooid."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Opsturen gestopt."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Opsturen mislukt."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Ophalen && Openen"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Setup"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Reset"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Omhoog"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Omlaag"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Open URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Talen"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "FOUT: Internetverbinding kon niet tot stand worden gebracht."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Geef website inlog gegevens in"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Geef je inlog gegevens om te verbinden met:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Verwachtte ratio: Aangenomen vierkante pixels (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Opgehaald [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Ondertitel opsturen"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Weet je zeker dat je ondertitel bestand \"%s\" wilt opsturen?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Ophalen ondersteunde talen..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Inloggen op \"%S\" mislukt, met de gebruikersnaam \"%S\".\n\nGeef a.u.b. de juiste gebruikersnaam en wachtwoord in of reset de referenties en log in als anonieme gebruiker."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatisch zoeken en ophalen zal worden uitgeschakeld voor alle media bestanden waarvan de locatie een patroon bevat van één de hier ingevoerde patronen.\nBijvoorbeeld type: \"private dir\\videos|work\\\". "
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tLaad een additioneel audio bestand"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tLaad een additioneel audio bestand met een vertraging van XXms\n\t\t(als het bestand ..DELAY XXms... bevat\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tStart afspelen in D3D volledig scherm modus"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"ondertitel bestandsnaam\"\tLaad een additioneel ondertitel bestand"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tLaad DirectShow filters van een dll bestand (wildcards toegestaan)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tStarten in DVD modus, (optioneel) \"pathname\" met de DVD map"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tStart met afspelen vanaf titel T, hoofdstuk C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tStart afspelen vanaf titel T, positie P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tLaad alle tracks van een Audio CD of (S)VCD,\n\t\t\"pathname\" is het drive pad (optioneel)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOpen het standaard video apparaat"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tBestand openen, niet automatisch beginnen met afspelen"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tBegin met afspelen zodra de speler gestart is"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tSpeler sluiten na afspelen (werkt alleen indien gebruikt in combinatie met /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tSysteem afsluiten na afspelen"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tZet het besturingsysteem in standby stand na afspelen"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tSysteem in slaap stand zetten na afspelen"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tUitloggen na afspelen"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tVergrendel na afspelen"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\t\t\tZet monitor uit na afspelen"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tVolgend bestaand open na afspelen"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tStarten in volledig scherm"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tGeminimaliseerd starten"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tGebruik een nieuwe instance van de speler"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tVoeg \"pathname\" toe aan playlist, kan gecombineerd worden met open en play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tRandomizeer de speellijst"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tMaak de file associaties voor video bestanden"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tMaak de file associaties voor audio bestanden"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tMaak de file associaties voor playlist bestanden"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tMaak file associaties voor alle ondersteunde bestandsformaten"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tVerwijder alle associaties"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tBegin met afspelen vanaf \"ms\" (= milliseconden)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\t\tBegin met afspelen vanaf uu:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tGebruik een vast window formaat"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tStart player op monitor N, waar N begint bij 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tGebruik audiorenderer N, waar N begint bij 1 (zie ook \"Output\" instellingen)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tGebruik \"Pr\" shader instelling"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"naam\"\tSpecificeer Pan&Scan instelling to gebruiken"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tBestandsformaat iconen opnieuw koppelen"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOpen MPC-HC in de achtergrond"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tStart de web interface op aangegeven poort"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tToon debug informatie op het scherm (OSD)"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tCrash rapportage uitschakelen"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tGebruik MPC-HC als slave"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tSelecteer de index van de GPU te gebruiken voor hardware decoderen.\n\t\tAlleen beschikbaar voor CUVID en DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tHerstellen naar standaard instellingen"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tToon help over de command line parameters"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Drempelwaarde voor ondertitel score voor automatisch gedownloade ondertitels. Een hogere waarde betekend dat betere ondertitels geladen worden, lage waardes kunnen ertoe leiden dat verkeerde ondertitels geladen worden. Er is geen perfecte waarde. Neem de waarde die voor jou het best werkt."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Audio vertraging (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Grootte in pixels van de standaard werkbalk."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Gebruik de veroude werkbalk in plaats van de niewe vectorized werkbalk"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.dialogs.po
index b16c3e110..52e32a3e3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# A S Alam <apreet.alam@gmail.com>, 2015
+# A S Alam <apreet.alam@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-09-08 19:47:48+0000\n"
-"PO-Revision-Date: 2015-10-03 14:03+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-12-02 01:18+0000\n"
"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/mpc-hc/mpc-hc/language/pa/)\n"
"MIME-Version: 1.0\n"
@@ -110,7 +110,7 @@ msgstr ""
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
-msgstr ""
+msgstr "ਇਸ ਵਾਸਤੇ ਸਪੀਕਰ ਦੀ ਸੰਰਚਨਾ"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
msgid "input channels:"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "ਇਸ ਬਾਰੇ"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 Authors.txt ਦੇਖੋ"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 Authors.txt ਦੇਖੋ"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -421,12 +421,16 @@ msgid "time(s)"
msgstr "ਵਾਰ"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "ਚਲਾਓ ਬਾਅਦ"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "ਆਉਟਪੁੱਟ"
+msgid "Default zoom"
+msgstr "ਡਿਫਾਲਟ ਜ਼ੂਮ"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -565,7 +569,7 @@ msgid "Warning"
msgstr "ਚੇਤਾਵਨੀ"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr ""
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -870,7 +874,7 @@ msgstr ""
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Zoom: 0.2 -> 3.0"
-msgstr ""
+msgstr "ਜ਼ੂਮ: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
@@ -1121,7 +1125,7 @@ msgid "Audio Renderer"
msgstr "ਆਡੀਓ ਰੈਂਡਰਰ"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
msgstr ""
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
@@ -1184,6 +1188,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "ਪੋਰਟ ਉੱਤੇ ਸੁਣੋ:"
@@ -1229,17 +1237,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI ਹੈਂਡਲਰ: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "ਸਬ-ਟਾਈਟਲ ਆਨਲਾਈਨ ਮੌਜੂਦ ਹਨ"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "ਡਾਊਨਲੋਡ ਕਰੋ ਤੇ ਖੋਲ੍ਹੋ"
+msgid "Download subtitles"
+msgstr "ਸਬ-ਟਾਈਟਲ ਡਾਊਨਲੋਡ ਕਰੋ"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr ""
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "ਡਾਊਨਲੋਡ ਕਰੋ"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "ਤਾਜ਼ਾ ਕਰੋ"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "ਅਧੂਰਾ ਛੱਡੋ"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "ਚੋਣਾਂ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "ਸਬ-ਟਾਈਟਲ ਅੱਪਲੋਡ ਕਰੋ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "ਅੱਪਲੋਡ ਕਰੋ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "ਅਧੂਰਾ ਛੱਡੋ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "ਚੋਣਾਂ"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "...ਇੰਝ ਸੰਭਾਲੋ"
@@ -1438,7 +1474,7 @@ msgstr "ਮਿ.ਸ."
msgctxt "IDD_PPAGESYNC_IDC_STATIC7"
msgid "Control limits:"
-msgstr ""
+msgstr "ਕੰਟਰੋਲ ਲਿਮਟ:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
msgid "+/-"
@@ -1541,16 +1577,28 @@ msgid "Reset"
msgstr "ਮੁੜ-ਸੈੱਟ ਕਰੋ"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "ਆਡੀਓ ਡਾਟਾਬੇਸ"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
+msgid "Languages in order of preference:"
msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "ਟੈਸਟ"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.menus.po
index 654ff1833..873174000 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# A S Alam <apreet.alam@gmail.com>, 2015
+# A S Alam <apreet.alam@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-07 15:02+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-12-02 01:17+0000\n"
"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/mpc-hc/mpc-hc/language/pa/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "...ਥੰਮਨੇਲ ਸੰਭਾਲੋ(&T)"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "ਸਬ-ਟਾਈਟਲ"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "...ਸਬਟਾਈਟਲ ਲੋਡ ਕਰੋ(&L)"
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "...ਸਬਟਾਈਟਲ ਸੰਭਾਲੋ(&u)"
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "ਸਬਟਾਈਟਲ ਡਾਟਾਬੇਸ(&b)"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "...ਖੋਜ(&S)"
-
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "...ਅੱਪਲੋਡ ਕਰੋ(&U)"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "...ਸਬ-ਟਾਈਟਲ ਡਾਊਨਲੋਡ ਕਰੋ(&D)"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "...ਖੋਲ੍ਹੋ(&D)"
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "...ਸਬ-ਟਾਈਟਲ ਅੱਪਲੋਡ ਕਰੋ(&U)"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "ਬਾਹਰ ਤੋਂ ਵਿੰਡੋ ਟੱਚ ਕਰੋ(&O)"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "ਆਕਾਰ ਅਨੁਪਾਤ ਰੱਖੋ(&K)"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "ਆਕਾਰ ਅਨੁਪਾਤ ਅਣਡਿੱਠਾ ਕਰੋ(&A)"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "ਡਿਫਾਲਟ(&D)"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr ""
@@ -533,9 +529,25 @@ msgid "&Stop"
msgstr "ਰੋਕੋ(&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "ਫਰੇਮ ਸਟੈਪ(&r)"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "ਦੁਹਰਾਓ(&R)"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "ਹਮੇਸ਼ਾ(&o)"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "ਫਾਈਲ(&F)"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "ਪਲੇਅਲਿਸਟ(&P)"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "ਦਰ ਘਟਾਓ(&D)"
@@ -565,7 +577,7 @@ msgid "Su&btitle Track"
msgstr "ਸਬਟਾਈਟਲ ਟਰੈਕ(&b)"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "ਵਿਡੀਓ ਟਰੈਕ(&V)"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.strings.po
index bc81b3d9c..3fdc272c5 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pa.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pa.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# A S Alam <apreet.alam@gmail.com>, 2015
+# A S Alam <apreet.alam@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-10-03 14:02+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-12-02 01:18+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/mpc-hc/mpc-hc/language/pa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,10 +60,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "ਵਿਸ਼ੇਸ਼ਤਾ"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "ਫਾਈਲ"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "ਡਿਫਾਲਟ ਸ਼ੈਲੀ(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "ਪਲੇਅਲਿਸਟ"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "ਫ਼ਾਈਲਾਂ"
@@ -116,6 +124,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "ਕਦੇ ਨਹੀਂ (ਸਭ ਤੋਂ ਤੇਜ਼ ਢੰਗ)"
@@ -326,11 +354,11 @@ msgstr "ਚਾਲੂ/ਬੰਦ"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
-msgstr ""
+msgstr "ਤੋਂ (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
msgid "To (FPS)"
-msgstr ""
+msgstr "ਤੱਕ (FPS)"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
@@ -516,18 +544,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "ਓਵਰਲੇਅ ਮਿਕਸਰ ਰੈਂਡਰਰ"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "ਵਿਡੀਓ ਮਿਕਿੰਗ ਰੈਂਡਰਰ 7 (ਵਿੰਡੋਡ)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "ਵਿਡੀਓ ਮਿਕਸਿੰਗ ਰੈਂਡਰਰ 9 (ਵਿੰਡੋਡ)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "ਵਿਡੀਓ ਮਿਕਿੰਗ ਰੈਂਡਰਰ 7 (ਰੈਂਡਰ-ਬਗੈਰ)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "ਵਿਡੀਓ ਮਿਕਸਿੰਗ ਰੈਂਡਰਰ 9 (ਰੈਂਡਰ-ਬਗੈਰ)"
@@ -580,10 +600,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "ਪਲੇਅਰ::ਵੈਬ ਇੰਟਰਫੇਸ"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "ਸਬ-ਟਾਈਟਲ::ਡਾਟਾਬੇਸ"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "ਵੇਰਵੇ"
@@ -604,16 +620,8 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr ""
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr ""
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr ""
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
msgstr ""
msgctxt "IDC_DSVMR9REN"
@@ -652,10 +660,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr ""
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr ""
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr ""
@@ -664,10 +668,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr ""
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr ""
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr ""
@@ -748,9 +748,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr ""
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "ਸਬ-ਟਾਈਟਲ ਡਾਊਨਲੋਡ ਕਰੋ"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "...ਸਬ-ਟਾਈਟਲ ਡਾਊਨਲੋਡ ਕਰੋ"
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "...ਸਬ-ਟਾਈਟਲ ਅੱਪਲੋਡ ਕਰੋ"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -808,6 +812,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "ਟਿਊਨਰ ਜਾਂਚ"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr ""
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr ""
@@ -945,11 +961,11 @@ msgid "&Organize Favorites..."
msgstr "...ਮਨਪਸੰਦ ਦਾ ਪਰਬੰਧ ਕਰੋ(&O)"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "ਰਲਾਓ"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "ਫ਼ਾਈਲ ਟਿਕਾਣਾ ਖੋਲ੍ਹੋ"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1033,7 +1049,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "ਅਲਟਰਾ-ਵਾਈਡ-ਸਕਰੀਨ ਲਈ ਜ਼ੂਮ ਕਰੋ,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "ਪੂਰੀ ਸਕਰੀਨ ਉੱਤੇ ਓਹਲੇ ਕਰੋ"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1221,7 +1237,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "ਰੱਖਣ ਵਾਲਾ ਫੋਲਡਰ ਜੋੜੋ"
msgctxt "IDS_HW_INDICATOR"
@@ -1424,13 +1440,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "ਚਿੱਤਰ ਕਾਮਯਾਬੀ ਨਾਲ ਸੰਭਾਲਿਆ"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "ਸਬ-ਟਾਈਟਲ ਲੋਡ ਕਰੋ"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "...ਸਬਟਾਈਟਲ ਲੋਡ ਕਰੋ"
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "ਸਬ-ਟਾਈਟਲ ਸੰਭਾਲੋ"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "...ਸਬ-ਟਾਈਟਲ ਸੰਭਾਲੋ"
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1557,7 +1573,7 @@ msgid "Thumbnails saved successfully"
msgstr "ਥੰਮਨੇਲ ਕਾਮਯਾਬੀ ਨਾਲ ਸੰਭਾਲਿਆ"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "ਵਿਡੀਓ ਟਰੈਕ(&V)"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1690,11 +1706,11 @@ msgstr "OSD: ਫ਼ਾਈਲ ਨਾਂ ਦਿਖਾਓ"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "DVD ਚਲਾਓ"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "BD ਚਲਾਓ"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
@@ -1793,8 +1809,8 @@ msgid "PnS Dec Height"
msgstr ""
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "ਸਬਟਾਈਤਲ ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ ਹੈ, ਉਡੀਕੋ ਜੀ।"
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2056,11 +2072,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "ਇੰਕ੍ਰਿਪਟ ਹੈ"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "ਹਾਂ"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "ਨਹੀਂ"
@@ -2212,14 +2228,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "ਚਿੱਤਰ ਚੌੜਾਈ"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL ਠੀਕ ਜਾਪਦਾ ਹੈ!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "ਪਰੋਟੋਕਾਲ ਵਰਜ਼ਨ ਮਿਲਦਾ ਨਹੀਂ, ਆਪਣੇ ਪਲੇਅਰ ਨੂੰ ਅੱਪਗਰੇਡ ਕਰੋ ਜਾਂ ਵੱਖਰਾ ਐਡਰੈਸ ਵਰਤੋਂ।"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "ਆਕਾਰ ਅਨੁਪਾਤ"
@@ -2313,7 +2321,7 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2325,8 +2333,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "ਆਕਾਰ ਅਨੁਪਾਤ: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "ਆਕਾਰ ਅਨੁਪਾਤ: ਡਿਫਾਲਟ"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2364,10 +2372,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "ਫ਼ਾਈਲ ਪੇਸ਼ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr ""
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "ਚੈਪਟਰ:"
@@ -2561,7 +2565,7 @@ msgid "Volume boost Max"
msgstr ""
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
@@ -2648,14 +2652,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "ਸਭ ਫਿਲਟਰ ਸਮਰੱਥ ਕਰੋ(&E)"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "ਟਿਊਨਰ ਜਾਂਚ"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr ""
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr ""
@@ -3404,10 +3400,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr ""
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr ""
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr ""
@@ -3600,3 +3592,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "ਡਾਊਨਲੋਡ"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "ਸਕੋਰ"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "ਸਬ-ਟਾਈਟਲ ਡਾਊਨਲੋਡ ਕਰੋ"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "ਵਰਤੋਂਕਾਰ-ਨਾਂ"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "ਹਾਲਤ"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "...ਤਿਆਰ"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "...ਅੱਪਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "ਅੱਪਲੋਡ ਕਰਨਾ ਪੂਰਾ ਹੋਇਆ।"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "ਅੱਪਲੋਡ ਕਰਨਾ ਅਧੂਰਾ ਛੱਡਿਆ।"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "ਅੱਪਲੋਡ ਕਰਨਾ ਫੇਲ੍ਹ ਹੈ।"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "ਡਾਊਨਲੋਡ ਕਰੋ ਤੇ ਖੋਲ੍ਹੋ"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "ਸੈਟਅੱਪ"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "ਮੁੜ-ਸੈੱਟ ਕਰੋ"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "ਉੱਤੇ ਭੇਜੋ"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "ਹੇਠਾਂ ਭੇਜੋ"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "URL ਨੂੰ ਖੋਲ੍ਹੋ"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "ਭਾਸ਼ਾਵਾਂ"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr " [%s] \"%s\" ਡਾਊਨਲੋਡ ਕੀਤੇ"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "ਸਬ-ਟਾਈਟਲ ਅੱਪਲੋਡ ਕਰੋ"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
index 675d5117c..540020fda 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# kasper93, 2013-2015
-# M T <michtrz@gmail.com>, 2014-2015
+# kasper93, 2013-2016
+# M T <michtrz@gmail.com>, 2014-2016
# Rafał Urbanek <urbis92@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-24 11:33+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-11-06 16:57+0000\n"
"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/mpc-hc/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "O programie"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 szczegóły w pliku Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 szczegóły w pliku Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -423,12 +423,16 @@ msgid "time(s)"
msgstr "raz(y)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Powtarzanie:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Po zakończeniu odtwarzania"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Strumień wyjściowy"
+msgid "Default zoom"
+msgstr "Domyślny rozmiar"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -567,7 +571,7 @@ msgid "Warning"
msgstr "Ostrzeżenie"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Włączenie pełnoekranowego antyaliasingu w ustawieniach karty graficznej, nie polepszy jakości napisów, a zwiększy jedynie obciążenie CPU."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1123,8 +1127,8 @@ msgid "Audio Renderer"
msgstr "Renderer dźwięku"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Ustawienia VMR-7/VMR-9 (Renderless) oraz EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Ustawienia VMR-9 (renderless) oraz EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1186,6 +1190,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Renderer napisów"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Zapamiętuj skompilowane shadery"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Port nasłuchu:"
@@ -1231,17 +1239,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Obsługa interfejsu CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Dostępne napisy"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Pobierz i otwórz"
+msgid "Download subtitles"
+msgstr "Pobierz napisy"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Zastąp aktualnie załadowane napisy"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Pobierz"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Odśwież"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Przerwij"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opcje"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Wysili napisy"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Wyślij"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Przerwij"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opcje"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Zapisz jako..."
@@ -1543,16 +1579,28 @@ msgid "Reset"
msgstr "Domyślne"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Internetowa baza napisów"
+msgid "Online search, download and upload subtitles"
+msgstr "Wyszukiwanie, pobieranie oraz wysyłanie napisów"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automatycznie pobieraj napisy, gdy nie znaleziono lokalnych"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferuj napisy dla niedosłyszący (gdy taka informacja jest udostępniona)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignoruj pliki zawierające którekolwiek z poniższych słów:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Adres internetowej bazy napisów:"
+msgid "Languages in order of preference:"
+msgstr "Języki w kolejności preferencji:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testuj"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automatycznie wysyłaj napisy po zakończeniu odtwarzania"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
index dec14fa27..8c24857c4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
@@ -1,13 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# kasper93, 2013-2015
+# kasper93, 2013-2016
+# Peter Korowacki <piotr.korowacki@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-30 21:32+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-05-29 12:07+0000\n"
"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/mpc-hc/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Zapisz &miniatury..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "W&czytaj napisy..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Zapisz &napisy..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Baza nap&isów"
+msgid "S&ubtitles"
+msgstr "Napisy"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Szukaj..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Wczytaj napisy..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Wyślij..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Zapisz napisy..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Pobierz..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Pobierz napisy..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "W&yślij napisy..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Dopasowanie na &zewnątrz"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Zachowanie &proporcji"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Zmiana proporcji"
+msgid "&Aspect Ratio"
+msgstr "&Proporcje obrazu"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Domyślne"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Domyślne (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Załóż &kwadratowe piksele (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Poprawianie różnicy proporcji &ekranu i pulpitu"
@@ -533,9 +530,25 @@ msgid "&Stop"
msgstr "&Zatrzymaj"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Następna klatka"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Powtarzanie"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Zawsze"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Plik"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista odtwarzania"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Z&mniejsz tempo"
@@ -565,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "Ścieżka &napisów"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Ścieżka w&ideo"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
index 1b72358f6..ba01da6a3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# kasper93, 2013-2015
-# M T <michtrz@gmail.com>, 2013-2015
+# kasper93, 2013-2016
+# M T <michtrz@gmail.com>, 2013-2016
+# Peter Korowacki <piotr.korowacki@gmail.com>, 2016
# Rafał Urbanek <urbis92@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-06 16:57+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/mpc-hc/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -62,10 +63,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Właściwości"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Plik"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Domyślny styl"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lista odtwarzania"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Pliki"
@@ -118,6 +127,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Jeśli cel renderowania nie został określony, napisy SSA/ASS będą renderowane w stosunku do klatki obrazu, natomiast wszystkie inne napisy tekstowe będą renderowane w stosunku do okna."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Tryb Powtarzania: Lista odtwarzania"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Tryb Powtarzania: Plik"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Powtarzanie Ciągłe: Włączone"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Powtarzanie Ciągłe: Wyłączone"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Odtwarzanie ciągłe"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nigdy (najszybsza opcja)"
@@ -518,18 +547,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -582,10 +603,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Program::Interfejs internetowy"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Napisy::Baza napisów"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Szczegóły"
@@ -606,17 +623,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Renderuje zawsze w trybie nakładki. Obsługuje formaty YUV, ale bez uprzedniej konwersji przestrzeni kolorów do RGB. Najszybsza ze wszystkich metoda renderowania i jedyna pewna, dla której uzyskać można powielanie obrazu w trybie pełnego ekranu do wyjścia telewizyjnego."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Domyślny renderer obrazu dla systemu Windows XP. Bardzo stabilny i tylko trochę wolniejszy od „Overlay mixer”. Używa DirectDraw i pracuje w trybie nakładki, jeśli istnieje taka możliwość."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Dostępny tylko gdy w systemie jest zainstalowany pakiet DirectX 9. Renderer ma takie same możliwości co „VMR-7 (windowed)”, ale nie używa trybu nakładki, przez co może być trochę wolniejszy."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Renderuje przy użyciu tego samego filtra co „VMR-7 (windowed)”, lecz rozszerzono go o obsługę napisów. Nie obsługuje powielania obrazu w trybie nakładki. Sugerowana jest 24-bitowa głębia kolorów pulpitu."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Dostępny tylko gdy w systemie jest zainstalowany DirectX 9. Bardzo stabilne, ale nigdy nie używa trybu nakładki przez co może być trochę wolniejszy niż Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +663,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Renderuje pliki formatu RealMedia przy użyciu natywnego filtra. Obsługuje skrypty SMIL i czasem interakcję. Używa DirectDraw i pracuje w trybie nakładki, jeśli istnieje taka możliwość."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Renderuje strumień wyjściowy modułu RealMedia przy użyciu filtra „VMR-7 (renderless)”, który jest częścią pakietu DirectX 7."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Renderuje strumień wyjściowy modułu RealMedia przy użyciu filtra „VMR-9 (renderless)”, który jest częścią pakietu DirectX 9."
@@ -666,10 +671,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Renderuje pliku formatu QuickTime przy użyciu natywnego filtra. Nieznacznie zwalnia, gdy zmieniono rozmiar okna bądź jest ono częściowo zakryte. Jeżeli tryb nakładki jest niedostępny, najczęściej przełącza na GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Renderuje strumień wyjściowy modułu QuickTime przy użyciu filtra „VMR-7 (renderless)”, który jest częścią pakietu DirectX 7."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Renderuje strumień wyjściowy modułu QuickTime przy użyciu filtra „VMR-9 (renderless)”, który jest częścią pakietu DirectX 9."
@@ -750,9 +751,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Aby wyświetlić zasoby w przeglądarce należy włączyć interfejs internetowy.\n\nUżyj opcji „Zapisz jako” jeżeli chcesz tylko zapisać te informacje."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Pobierz napisy"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Pobierz napisy..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Wyślij napisy..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +815,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Redukuje rwanie obrazu poprzez nadpisanie domyślnego algorytmu synchronizacji pionowej zaimplementowanego w D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Skanowanie"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Napisy nie zostały wczytane lub wybrano niewspierany renderer obrazu."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Przechowuje skompilowane shadery w celu przyspieszenia czasu ładowania plików wideo."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Otwiera pliki VTS_xx_0.ifo i wczytuje w całości pliki kontenera VOB VTS_xx_x.vob"
@@ -947,11 +964,11 @@ msgid "&Organize Favorites..."
msgstr "&Edytuj..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Losowe odtwarzanie"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Otwórz lokalizację pliku"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1035,7 +1052,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Przeskaluj do formatu ultra-szerokoekranowego,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Ukryj w trybie pełnoekranowym"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1223,7 +1240,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Dodaj pliki z folderu"
msgctxt "IDS_HW_INDICATOR"
@@ -1426,13 +1443,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Obraz zapisano pomyślnie"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Wczytaj napisy"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Wczytaj napisy..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Zapisz napisy"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Zapisz napisy..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,7 +1576,7 @@ msgid "Thumbnails saved successfully"
msgstr "Poprawnie zapisano miniaturki"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Ścieżka w&ideo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1795,8 +1812,8 @@ msgid "PnS Dec Height"
msgstr "Zmniejsz wysokość obrazu"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Pobieranie napisów, proszę czekać."
+msgid "Downloading [%s] \"%s\""
+msgstr "Pobieranie [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2058,11 +2075,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Zakodowany"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Tak"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nie"
@@ -2214,14 +2231,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Szerokość obrazu"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Adres internetowy jest poprawny."
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Niezgodna wersja protokołu. Proszę zaktualizować program lub wybrać inny adres."
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Proporcje obrazu"
@@ -2315,8 +2324,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Miniatury są zbyt małe, nie można utworzyć pliku.\n\nSpróbuj zmniejszyć liczbę miniatur lub zwiększyć rozmiar całości."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Aby wczytać napisy, należy ponownie otworzyć plik, zmieniając wcześniej filtr renderujący na jeden z poniższych:\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR lub Haali\n- RealMedia: specjalny filtr renderujący dla RealMedia albo otwarcie za pośrednictwem DirectShow\n- QuickTime: renderer DX7 lub DX9 dla QuickTime\n- ShockWave: brak"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Aby załadować napisy musisz zmienić renderer obrazu, a następnie otworzyć ponownie plik.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Specjalny renderer dla RealMedia lub otwarcie za pośrednictwem DirectShow\n- QuickTime: DX7 lub DX9 renderer dla QuickTime\n- ShockWave: brak"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2336,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Proporcje obrazu: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Proporcje obrazu: domyślne"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Proporcje obrazu: Domyślne (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2375,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Nie udało się renderować pliku"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Niepoprawny adres internetowy. Nie można odnaleźć bazy napisów."
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Rozdział: "
@@ -2563,8 +2568,8 @@ msgid "Volume boost Max"
msgstr "Maksymalne wzmocnienie głośności"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Użycie: mpc-hc.exe „ścieżka” [parametry]\n\n„ścieżka”\t\tOkreśla plik lub folder do otwarcia (symbole\n\t\twieloznaczne dozwolone, „-” oznacza\n\t\tstandardowe wejście)\n/dub „plik”\tOtwiera dodatkową ścieżkę dźwiękową\n/dubdelay „plik”\tOtwiera dodatkową ścieżkę dźwiękową opóźnioną\n\t\to XX ms jeśli nazwa pliku zawiera ciąg\n\t\t„DELAY XXms”\n/d3dfs\t\tUruchamia odtwarzanie pełnoekranowe w D3D\n/sub „plik”\tWczytuje dodatkowe napisy\n/filter „plik”\tWczytuje filtr DirectShow z biblioteki dll (symbole\n\t\twieloznaczne dozwolone)\n/dvd\t\tOtwiera płytę DVD, „ścieżka” wskazuje folder DVD\n\t\t(opcjonalnie)\n/dvdpos T#C\tUruchamia odtwarzanie tytułu T, rozdział C\n/dvdpos T#hh:mm\tUruchamia odtwarzanie tytułu T, pozycja\n\t\thh:mm:ss\n/cd\t\tOtwiera wszystkie ścieżki CD-Audio lub (s)vcd\n\t\t„Ścieżka” wskazuje literę napędu (opcjonalnie)\n/device\t\tOpen the default video device\n/open\t\tOtwiera plik, nie rozpoczyna odtwarzania\n/play\t\tRozpoczyna odtwarzanie po uruchomieniu\n\t\tprogramu\n/close\t\tKończy program po zakończeniu odtwarzania\n\t\t(działa z parametrem /play)\n/shutdown\tZamyka system operacyjny po zakończeniu\n\t\todtwarzania\n/standby\t\tWprowadza system w stan wstrzymania po zakończeniu odtwarzania\n/hibernate\tWprowadza system w stan hibernacji po zakończeniu odtwarzania\n/logoff\t\tWyglogowuje użytownika po zakończeniu odtwarzania\n/lock\t\tBlokuje stacje roboczą po zakończeniu odtwarzania\n/monitoroff\tWyłącza monitor po zakończeniu odtwarzania\n/playnext\t\tOtwiera następny plik w folderze po zakończeniu odtwarzania\n/fullscreen\tUruchamia w trybie pełnego ekranu\n/minimized\tUruchamia zminimalizowany\n/new\t\tUruchamia nowe wystąpienie programu\n/add\t\tDodaje „ścieżkę” do listy odtwarzania. Można\n\t\tłączyć z parametrami /open i /play\n/randomize\tMiesza listę odtwarzania\n/regvid\t\tRejestruje formaty wideo\n/regaud\t\tRejestruje formaty dźwiękowe\n/regpl\t\tRejestruje formaty list odtwarzania\n/regall\t\tRejestruje wszystkie obsługiwane formaty\n/unregall\t\tWyrejestrowuje wszystkie formaty\n/start ms\t\tRozpoczyna odtwarzanie od określonego\n\t\tpołożenia wyrażonego w ms\n/startpos hh:mm:ss\tRozpoczyna odtwarzanie od określonego\n\t\tpołożenia wyrażonego w gg:mm:ss\n/fixedsize x,y\tOkreśla rozmiar okna programu\n/monitor N\tUruchamia na N-tym ekranie, gdzie numer\n\t\tpierwszego ekranu to 1\n/audiorenderer N\tRenderuje dźwięk za pomocą sterownika N,\n\t\tgdzie numer pierwszego sterownika to 1\n\t\t(ustawienia „Strumień wyjściowy”)\n/shaderpreset \"Pr\"\tWybieranie konkretnego profilu shaderów\n/pns \"name\"\tWybieranie konkretnego profilu Pan&Scan\n/iconsassoc\tPrzypisz ponownie ikony do plików\n/nofocus\t\tOtwiera MPC-HC w tle\n/webport N\tUruchamia interfejs internetowy na określonym porcie\n/debug\t\tWyświetla informacje debugowania w OSD\n/nocrashreporter\tWyłącza raportowanie usterek\n/slave \"hWnd\"\tUżyj MPC-HC jako okno zależne\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tPrzywraca ustawienia domyślne\n/help /h /?\tWyświetla listę parametrów wiersza poleceń\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Użycie: mpc-hc.exe „ścieżka” [parametry]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2655,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Włącz wszystkie filtry"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Skanowanie"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Napisy nie zostały wczytane lub wybrano niewspierany renderer obrazu."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor nieznany. Prosimy o kontakt, jeśli jesteś twórcą tego logo."
@@ -3406,10 +3403,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Funkcje 'Zapisz obraz' oraz 'Zapisz miniatury' nie działają w trybie nakładki (Overlay Mixer).\nProszę wybrać inny renderer obrazu w opcjach strumienia wyjściowego oraz otworzyć plik ponownie."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Nie można połączyć się z internetową bazą napisów."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Chcesz aktywować edytor EDL?"
@@ -3602,3 +3595,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Dostawca"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Dla niedosłyszących"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Pobrania"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Punkty"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Wyszukiwanie napisów w internetowej bazie nie powiodło się."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Wyszukiwanie napisów w internetowej bazie przerwane."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Wyszukiwanie napisów w internetowej bazie zakończone, znaleziono %d napisów."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Wyszukiwanie napisów w internetowej bazie zakończone, nie znaleziono napisów."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Pobierz napisy"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Wyszukiwanie napisów, proszę czekać..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Przerywanie wyszukiwania napisów..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Użytkownik:"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Status"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Gotowe..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Niezaimplementowane."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Wysyłanie..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Napisy wysłane poprawnie."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Wysyłanie napisów nie powiodło się."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Wysyłanie napisów przerwane."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Napisy już istnieją."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Wysyłanie napisów, proszę czekać..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Wysyłanie zakończone."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Wysyłanie przerwane."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Wysyłanie nie powiodło się."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Pobierz i otwórz"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Opcje"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Domyślne"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "W górę"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "W dół"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Otwórz URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Język"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "Błąd: Nie można nawiązać połączenia z Internetem."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Wprowadź poświadczenia dla strony"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Wprowadź poświadczenie użytkownika"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Proporcje obrazu: Załóż kwadratowe piksele (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Pobrano [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Wyślij napisy"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Czy na pewno chcesz wysłać napisy \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Pobieranie obsługiwanych języków..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Nie udało się zalogować na \"%S\" z nazwą użytkownika \"%S\".\n\nProszę podać poprawną nazwę użytkownika i hasło lub zresetować dane aby zalogować się jako użytkownik anonimowy."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatyczne wyszukiwanie i pobieranie zostanie wyłączone dla wszystkich plików multimedialnych, których ścieżka zawiera poniższe wzorce.\nNa przykład, wpisz: \"prywatny folder\\filmy|praca\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "„ścieżka”\t\tOkreśla plik lub folder do otworzenia\n\t\t(symbole wieloznaczne dozwolone, „-” oznacza standardowe wejście)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub „plik”\tOtwiera dodatkową ścieżkę dźwiękową"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay „plik”\tOtwiera dodatkową ścieżkę dźwiękową opóźnioną o XX ms\n\t\t(jeśli nazwa pliku zawiera ciąg „...DELAY XXms...”)"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tUruchamia odtwarzanie pełnoekranowe w D3D"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub „plik”\t\tWczytuje dodatkowe napisy"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter „plik”\tWczytuje filtr DirectShow z biblioteki dll (symbole wieloznaczne dozwolone)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tOtwiera płytę DVD, „ścieżka” wskazuje folder DVD (opcjonalnie)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tUruchamia odtwarzanie tytułu T, rozdział C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tUruchamia odtwarzanie tytułu T, pozycja P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tOtwiera wszystkie ścieżki CD-Audio lub (S)VCD\n\t\t„ścieżka” wskazuje literę napędu (opcjonalnie)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOtwiera domyślne urządzenie wideo"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOtwiera plik, nie rozpoczyna odtwarzania"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tRozpoczyna odtwarzanie po uruchomieniu programu"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tZamyka program po zakończeniu odtwarzania (działa tylko z parametrem /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tZamyka system operacyjny po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tWprowadza system w stan wstrzymania po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tWprowadza system w stan hibernacji po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tWyglogowuje użytownika po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBlokuje stacje roboczą po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tWyłącza monitor po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOtwiera następny plik w folderze po zakończeniu odtwarzania"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tUruchamia w trybie pełnego ekranu"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tUruchamia zminimalizowany"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUruchamia nowe wystąpienie programu"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tDodaje „ścieżkę” do listy odtwarzania. Można łączyć z parametrami /open i /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tMiesza listę odtwarzania"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tRejestruje formaty wideo"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tRejestruje formaty dźwiękowe"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tRejestruje formaty list odtwarzania"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tRejestruje wszystkie obsługiwane formaty"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tWyrejestrowuje wszystkie formaty"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tRozpoczyna odtwarzanie od określonego położenia wyrażonego w ms"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tRozpoczyna odtwarzanie od określonego położenia wyrażonego w gg:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize x,y\tUstawia rozmiar okna programu"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tUruchamia na N-tym ekranie, gdzie numer pierwszego ekranu to 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tUstawia N-ty renderer dźwięku. N rozpoczyna się od 1 (ustawienia „Strumień wyjściowy”)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset „Pr”\tWybieranie konkretnego profilu shaderów"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns „name”\tWybieranie konkretnego profilu Pan&Scan"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tPrzypisz ponownie ikony do plików"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOtwiera MPC-HC w tle"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tUruchamia interfejs internetowy na określonym porcie"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tWyświetla informacje debugowania w OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tWyłącza raportowanie usterek"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave „hWnd”\tUżyj MPC-HC jako okno zależne"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu „index”\tUstawia numer urządzenia graficznego użytego do sprzętowego odtwarzania.\n\t\tDostępne tylko dla CUVID oraz DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tPrzywraca ustawienia domyślne"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tWyświetla listę parametrów wiersza poleceń"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Wartość progowa dla które napisy zostaną automatycznie pobrane. Wyższa wartość pozwoli na uzyskanie lepszych napisów dla danej wersji filmu, natomiast niższe wartości mogą skutkować załadowania nieprawidłowych napisów. Nie ma jednej optymalnej wartości, wybierz taką która odpowiada najlepiej twoim potrzebom."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Opóźnienie dźwięku (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Rozmiar domyślnych przycisków sterowania w pikselach."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Używaj starszego paska narzędzi zamiast nowego wektorowego."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
index 70e45d75a..4e6e34046 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
@@ -1,24 +1,26 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2015
+# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2016
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
# Charles Fernando da Silva <eu.charles@hotmail.com>, 2015
# Edgar Peres <edgarvperes@gmail.com>, 2015
# Erick Simões <erick.simoes@yahoo.com.br>, 2015
+# Everton Leite <etcholeite@gmail.com>, 2016
# Gustavo Cegolini Togni <gustavotogni@gmail.com>, 2015
-# Roger Filipe <lipe2000@outlook.com>, 2013-2014
+# Roger Filipe Barros <lipe2000@outlook.com>, 2013-2014
# Luis Henrique <henriqlh@gmail.com>, 2014
+# Michael Moser <michi.celin@gmail.com>, 2016
# mvpetri <mvpetri@gmail.com>, 2014
# Raphael Mendonça, 2014
-# Roger Filipe <lipe2000@outlook.com>, 2014
+# Roger Filipe Barros <lipe2000@outlook.com>, 2014,2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-21 14:38+0000\n"
-"Last-Translator: Erick Simões <erick.simoes@yahoo.com.br>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-12-22 21:43+0000\n"
+"Last-Translator: Roger Filipe Barros <lipe2000@outlook.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mpc-hc/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -199,8 +201,8 @@ msgid "About"
msgstr "Sobre"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 - veja o arquivo Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 - veja o arquivo Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -208,7 +210,7 @@ msgstr "Este programa é gratuito e foi licenciado sob os termos da Licença Ger
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traduzido para o Português por Roger Filipe"
+msgstr "Traduzido para o Português por Roger Filipe Barros"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -424,19 +426,23 @@ msgstr "Reproduzir"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
msgid "Repeat forever"
-msgstr "Repetir sempre"
+msgstr "Repetir para sempre"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
msgstr "vez (vezes)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Modo de repetição:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Após reprodução"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Saída"
+msgid "Default zoom"
+msgstr "Zoom padrão"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -575,7 +581,7 @@ msgid "Warning"
msgstr "Aviso"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Se você tiver antisserrilhamento forçado ativado nas configurações de sua placa de vídeo, é bem provável que sua CPU não conseguirá exibir as legendas em tempo real."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1004,7 +1010,7 @@ msgstr "Escala (y,%)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Border Style"
-msgstr "Estilo de Bordas"
+msgstr "Estilo de bordas"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
msgid "Outline"
@@ -1080,11 +1086,11 @@ msgstr "Se preferir utilizar filtros externos, desative os filtros internos aqui
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
-msgstr "Filtros Fonte"
+msgstr "Filtros fonte"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Filtros de Transformação"
+msgstr "Filtros de transformação"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
@@ -1096,11 +1102,11 @@ msgstr "Divisor"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr "Decodificador Vídeo"
+msgstr "Decodificador vídeo"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr "Decodificador Áudio"
+msgstr "Decodificador áudio"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1131,8 +1137,8 @@ msgid "Audio Renderer"
msgstr "Áudio DirectShow"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (sem render) e ajustes EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (sem render) e ajustes EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1192,7 +1198,11 @@ msgstr "Rotação"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr "Renderizar Legendas"
+msgstr "Renderizar legendas"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Shaders compilados em cache"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1239,17 +1249,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Gerenciadores de CGI: (.ext1=caminho1;.ext2=caminho2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Legendas disponíveis online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Baixar e abrir"
+msgid "Download subtitles"
+msgstr "Baixar legendas"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Substituir legendas carregadas atualmente"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Baixar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Atualizar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Abortar"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opções"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Enviar legendas"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Enviar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abortar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opções"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Salvar Como..."
@@ -1356,7 +1394,7 @@ msgstr "Use um offset"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
-msgstr "Dispositivo Padrão"
+msgstr "Dispositivo padrão"
msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
msgid "Analog"
@@ -1388,7 +1426,7 @@ msgstr "Configurações digitais (BDA)"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
msgid "Network Provider"
-msgstr "Provedor de Sinal"
+msgstr "Provedor de rede"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
msgid "Tuner"
@@ -1551,28 +1589,40 @@ msgid "Reset"
msgstr "Resetar"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Banco de dados online"
+msgid "Online search, download and upload subtitles"
+msgstr "Procurar, baixar e enviar legendas online"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Buscar e baixar legendas automaticamente caso não exista nenhuma"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Dar preferência à legendas adaptadas para deficientes auditivos (quando for marcada como tal pelo provedor da legenda)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorar arquivos que contenham qualquer uma da(s) seguinte(s) palavra(s):"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Digite a URL do banco de dados de legendas:"
+msgid "Languages in order of preference:"
+msgstr "Idiomas em ordem de preferência:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testar"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Enviar automaticamente as legendas ativas no fim da reprodução dos vídeos"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
-msgstr "Verificação de Atualizações"
+msgstr "Verificação de atualizações"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
msgid "&Download now"
-msgstr "&Baixe agora"
+msgstr "Baixar agora"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
-msgstr "Lembre-me &depois"
+msgstr "Lembre-me depois"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
@@ -1624,11 +1674,11 @@ msgstr "Ativar pós-redimensionamento de shaders"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr "Depurar Shaders"
+msgstr "Depurar shaders"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
-msgstr "Informação de Depuração"
+msgstr "Informação de depuração"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
msgid "PS 2.0"
@@ -1732,7 +1782,7 @@ msgstr "Envie-nos um relatório de erros para ajudar-nos a diagnosticar e corrig
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr "Informação Opcional"
+msgstr "Informação opcional"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
index 59ab021c6..86b736311 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
@@ -1,16 +1,18 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2015
+# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2016
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
-# Roger Filipe <lipe2000@outlook.com>, 2013-2014
+# Everton Leite <etcholeite@gmail.com>, 2016
+# Roger Filipe Barros <lipe2000@outlook.com>, 2013-2014
+# Roger Filipe Barros <lipe2000@outlook.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-31 05:00+0000\n"
-"Last-Translator: Alex Luís Silva <alex.mooca@hotmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-12-22 21:11+0000\n"
+"Last-Translator: Roger Filipe Barros <lipe2000@outlook.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mpc-hc/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -66,29 +68,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Salvar &miniaturas..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Carregar legendas..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Salvar legendas..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Banco de dados de legendas"
+msgid "S&ubtitles"
+msgstr "Legendas"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Procurar legenda..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Carregar &legendas..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Enviar legenda..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Salvar l&egendas..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Baixar legenda..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Baixar legendas..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Enviar legendas..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -410,17 +408,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Tocar janela por fora"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Ma&nter proporção de vídeo"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Forçar proporção de vídeo específica"
+msgid "&Aspect Ratio"
+msgstr "&Formato de tela"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Original"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Pa&drão (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +436,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Assumir &square pixels (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Corrigir diferença entre monitor e Área de Trabalho"
@@ -535,9 +533,25 @@ msgid "&Stop"
msgstr "&Parar"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Avançar um &quadro"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Repetir"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Para &sempre"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Arquivo"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista de reprodução"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Diminuir velocidade"
@@ -567,7 +581,7 @@ msgid "Su&btitle Track"
msgstr "Faixa de Legenda"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Faixa de &Vídeo"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
index 8e4e031fb..cec72093e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
@@ -1,26 +1,29 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2015
+# Alex Luís Silva <alex.mooca@hotmail.com>, 2014-2016
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
# brunoarmanelli <brunoarmanelli@me.com>, 2014
# Charles Fernando da Silva <eu.charles@hotmail.com>, 2015
# Edgar Peres <edgarvperes@gmail.com>, 2015
+# Eduardo Addad de Oliveira <duduaddad@gmail.com>, 2016
# Erick Simões <erick.simoes@yahoo.com.br>, 2014-2015
+# Everton Leite <etcholeite@gmail.com>, 2015-2016
# Gustavo Cegolini Togni <gustavotogni@gmail.com>, 2015
-# Roger Filipe <lipe2000@outlook.com>, 2013-2014
+# Roger Filipe Barros <lipe2000@outlook.com>, 2013-2014
# Luis Henrique <henriqlh@gmail.com>, 2014
# Matheus Clemente <matheus.xb@gmail.com>, 2015
+# Michael Moser <michi.celin@gmail.com>, 2016
# mvpetri <mvpetri@gmail.com>, 2014
# Raphael Mendonça, 2014
# Underground78, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-03 00:52+0000\n"
+"Last-Translator: Everton Leite <etcholeite@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mpc-hc/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -72,10 +75,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Propriedades"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Arquivo"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Estilo padrão"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Lista de reprodução"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Arquivos"
@@ -128,6 +139,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Se o alvo de renderização é deixado indefinido, as legendas SSA / ASS serão renderizadas em relação ao quadro de vídeo, enquanto todas as outras legendas de texto será processado em relação à janela."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Modo de Repetição: Lista de reprodução"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Modo de Repetição: Arquivo"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repetir para sempre: Ligado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repetir para sempre: Desligado"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repetir para sempre"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nunca (abordagem mais rápida)"
@@ -528,18 +559,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (Janela)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (Janela)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (sem render)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (sem render)"
@@ -592,10 +615,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Programa::Interface Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Legendas::Banco de Dados"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalhes"
@@ -616,17 +635,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Sempre renderiza em Overlay. Geralmente só é permitido nos formatos YUV, mas apresentam-se diretamente sem nenhuma conversão de cor para RGB. Este é o modo de renderização mais rápido de todos e é o único que se pode ter certeza sobre o espelho de tela cheia quando se ativa a saída da TV."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Renderização padrão do Windows XP. Muito estável e somente um pouco mais lento que o misturador Overlay. Usa DirectDraw e usa o Overlay quando pode."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Somente disponível se tiver instalado o DirectX 9. Tem as mesmas habilidades que o VMR-7 (windowed), mas nunca usará o renderizador Overlay e por tal razão poderia ser um pouco mais lento que VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "O mesmo que VMR-7 (windowed), mas com o plugin \"Allocator-Presenter\" do MPC-HC para usar legendas. O espelho de Overlay NÃO funcionará. Recomenda-se usar a profundidade de cor da Área de trabalho \"True Color\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Disponível apenas se você possuir o DirectX 9 instalado. É muito estável, mas nunca usará renderização Overlay e por isso pode ser ligeiramente mais lento que um mixer Overlay."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -664,10 +675,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "O próprio Processador vídeo da Real. Os scripts SMIL funcionarão, mas a interação provavelmente não. Usa DirectDraw e executa em Overlay quando possivel."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A saída do mecanismo da Real será renderizado pelo \"Allocator-Presenter\" baseado em DX7 de VMR-7 (sem processamento)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A saída do mecanismo da Real será renderizado pelo \"Allocator-Presenter\" baseado em DX9 de VMR-9 (sem processamento)."
@@ -676,10 +683,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "O Processador de vídeo do QuickTime. Torna-se um pouco lento quando sua área de vídeo é redimensionada ou parcialmente coberta por outra janela. quando o Overlay não esta disponível ele retorna ao GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "A saída do mecanismo do QuickTime será processado pelo \"Allocator-Presenter\" baseado em DX7 de VMR-7 (sem processamento)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "A saída do mecanismo do QuickTime será processado pelo \"Allocator-Presenter\" baseado em DX9 de VMR-9 (sem processamento)."
@@ -760,9 +763,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "De maneira a ver um recurso embutido no seu navegador, você tem de habilitar a interface web.\n\nUse o botão \"Salvar Como\" se gostaria apenas de salvar a informação."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Baixar legendas"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Baixar Legendas..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Enviar Legendas..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -820,6 +827,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Reduz tearing ignorando o VSync padrão construído em D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Sintonização"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Legendas não foram carregadas ou o conector não é suportado."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Armazena os Shaders Compilados na pasta local AppData para acelerar o tempo de carregamento."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Abre VTS_xx_0.ifo para carregar todos os arquivos VTS_xx_x.vob de uma só vez"
@@ -957,11 +976,11 @@ msgid "&Organize Favorites..."
msgstr "&Organizar favoritos..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Misturar"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Abrir local do arquivo"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1045,7 +1064,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom para Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Ocultar em tela cheia"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1233,7 +1252,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Adicionar pasta contêiner"
msgctxt "IDS_HW_INDICATOR"
@@ -1436,13 +1455,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Imagem salva com sucesso"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Carregar legendas"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Carregar legendas..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Salvar legenda"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Salvar legendas..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1569,7 +1588,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniaturas salvas com sucesso"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Faixa de &Vídeo"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1805,8 +1824,8 @@ msgid "PnS Dec Height"
msgstr "PnS Diminuir altura"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Baixando legenda(s), por favor aguarde."
+msgid "Downloading [%s] \"%s\""
+msgstr "Baixando [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2068,11 +2087,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Criptografado"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Sim"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Não"
@@ -2224,14 +2243,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Largura da Imagem"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "A URL parece estar correta!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Versão do protocolo não compatível, atualize o MPC-HC ou escolha outro endereço."
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Razão de aspecto"
@@ -2325,8 +2336,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "As miniaturas seriam muito pequenas, impossível criar o arquivo.\n\nTente diminuir o número de miniaturas ou aumentar o tamanho total."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Para carregar legendas voce deve mudar o tipo de processador de vídeo e reabrir o arquivo.\n- DirectShow: VMR-7/VMR-9 (Sem processamento), EVR (CP), Sync, madVR or Haali\n- RealMedia: Processador especial para RealMedia, ou o abra atraves do DirectShow\n- QuickTime: Processador DX7 ou DX9 para QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Para carregar legendas você deve mudar o tipo de processador de vídeo e reabrir o arquivo.\n- DirectShow: VMR-9 (Sem processamento), EVR (CP), Sync, madVR or Haali\n- RealMedia: Processador especial para RealMedia, ou o abra através do DirectShow\n- QuickTime: Processador DX7 ou DX9 para QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2337,8 +2348,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Razão de aspecto: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Proporção de vídeo: Original"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Formato de Tela: Padrão (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2376,10 +2387,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Falha ao renderizar o arquivo"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL ruim, não foi encontrado o banco de dados de legendas!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Capítulo: "
@@ -2573,8 +2580,8 @@ msgid "Volume boost Max"
msgstr "Ganho de volume máximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO arquivo principal ou diretório a se carregar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCarregar um arquivo de áudio adicional\n/dubdelay \"file\"\tCarregar um arquivo de Áudio adicional alterado com XXms (se\n\t\to arquivo contém \"...DELAY XXms...\")\n/d3dfs\t\tIniciar rendering em D3D modo tela cheia\n/sub \"subname\"\tCarregar um arquivo de legendas adicional\n/filter \"filtername\"\tCarregar filtros DirectShow de um link dinâmico\n\t\t (wildcards allowed)\n/dvd\t\tExecutar em modo DVD, \"pathname\" significa a pasta\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCarregar todas as faixas de um CD de Áudio ou (s)vcd,\n\t\t\"pathname\" significa o caminho do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o arquivo, não inicia automaticamente a reprodução\n/play\t\tInicia a reprodução do arquivo assim que o tocado estiver\n\t\taberto\n/close\t\tFecha o programa após a reprodução (Só funciona quando\n\t\tusado com /play)\n/shutdown\tDesliga o sistema operacional após a reprodução\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tInicia em modo tela cheia\n/minimized\tInicia em modo minimizado\n/new\t\tUsa o programa em uma nova instância\n/add\t\tadiciona \"pathname\" a lista de reprodução, pode ser combinada\n\t\tcom /open e com /play\n/randomize\tRandomize the playlist\n/regvid\t\tRegistra formatos de vídeo\n/regaud\t\tRegistra formatos de Áudio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tTira o registro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodução em \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAjusta tamanho fixo da janela\n/monitor N\tInicia monitoramento N, onde N inicia em 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestaura as configurações padrões\n/help /h /?\tMostra ajuda sobre as opções de linha de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Uso: mpc-hc.exe \"Caminho_do_Arquivo\" [switches]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2660,14 +2667,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "Habilitar todos os filtros"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Sintonização"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Legendas não foram carregadas ou o conector não é suportado."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor desconhecido. Contacte-nos se você fez este logo!"
@@ -3416,10 +3415,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "As funções \"Salvar Imagem\" e \"Salvar Miniaturas\" não funcionam com o Processador de vídeo Overlay Mixer.\nMude o processador de vídeo nas opções de saída do MPC-HC e re-abra o arquivo."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Não foi possível se conectar ao servidor de legendas."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Você deseja ativar o editor de EDL?"
@@ -3612,3 +3607,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Provedor"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Deficiente Auditivo"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Downloads"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Pontos"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "A busca online de legendas falhou."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "A busca online de legendas foi abortada."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Busca online de legendas concluída, %d legenda(s) encontrada(s)."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Busca online de legendas concluída, sem resultados."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Baixar legendas"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Buscando por legendas online, por favor aguarde..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Abortando busca de legendas online..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nome de usuário"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Estado"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Pronto..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Não implementado."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Enviando..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Legendas enviadas com sucesso."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "O envio de legendas falhou."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "O envio de legendas foi abortado."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "As legendas já existem."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Enviando legendas, por favor aguarde..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Envio terminado."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Envio abortado."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Falha no envio."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Baixar e abrir"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configurar"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Resetar"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Descer"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Abrir URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Idiomas"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ERRO: não foi possível estabelecer uma conexão com a internet."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Entre com as credenciais do site"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Entre com as suas credenciais para se conectar a:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Formato de Tela: Assumir square pixels (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Baixadas [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Enviar legendas"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Tem certeza que deseja enviar o arquivo de legenda \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Buscando idiomas suportados..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Falha ao acessar \"%S\" com o nome de usuário \"%S\".\n\nPor favor, digite o nome de usuário e senha corretos ou redefina as credenciais para acessar como usuário anônimo."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Serão desabilitados a busca automática e o download para todos os arquivos de mídia cujos caminhos contenham qualquer um dos padrões inseridos aqui.\nPor exemplo, digite: \"pasta privada\\vídeos|trabalho\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"caminho\"\tO arquivo ou diretório principal a ser carregado\n\t\t(wildcards são permitidos, \"-\" indica a entrada padrão)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"nome_da_dublagem\"⇥Carrega um arquivo de audio adicional"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"arquivo\"\tCarregar um arquivo de áudio adicional deslocado com Xms\n\t\t(se o arquivo contém \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs⇥⇥Inicia renderização em modo D3D Tela Cheia "
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"nome_da_legenda\"\tCarrega um arquivo de legenda adicional"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"nome_do_filtro\"\tCarrega filtros DirectShow a partir de uma biblioteca dinâmica de link (wildcards são permitidos)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tExecutar em modo DVD, \"caminho\" indica a pasta do DVD (opcional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tInicia a reprodução no título T, capítulo C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tIniciar a reprodução no título T, na posição P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tCarrega todas as faixas de um CD de Audio ou (S)VCD\n\t\t\"caminho\" indica o caminho do drive (opcional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tAbre o dispositivo de vídeo padrão"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tAbre o arquivo, sem iniciar a reprodução automaticamente"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tComeça a reproduzir o arquivo assim que o player é aberto"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tFecha o player após a reprodução (funciona somente quando usado com /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tDesliga o sistema operacional após a reprodução"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tColoca o sistema operacional em modo de espera após a reprodução"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tHiberna o sistema operacional após a reprodução"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tEfetua log off após a reprodução"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tTrava a estação após a reprodução"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tDesliga o monitor após a reprodução"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tAbre o próximo arquivo da pasta após a reprodução"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tInicia o modo tela cheia"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tInicia em modo minimizado"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUsa uma nova instância do player"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAdiciona o \"caminho\" à lista de reprodução. Pode ser combinado com /open e /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tOrganiza a lista de reprodução aleatoriamente"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCria associação de arquivos para arquivos de vídeo"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCria associação de arquivos para arquivos de áudio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCria associação de arquivos para arquivos de playlist"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCria associações de arquivos para todos os tipos de arquivo suportados"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tRemove todas as associações de arquivos"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tInicia a reprodução em \"ms\" (= milissegundos)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tInicia a reprodução na posição hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tDefine um tamanho fixo para a janela"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tInicia o player no monitor N, onde N começa a partir do 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tInicia usando o renderizador de áudio N, onde N começa a partir de 1 (ver configurações de \"Saída de Som\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tInicia usando o ajuste de shader \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tEspecifica o nome do ajuste de Pan&Scan a ser usado"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tReassocia formato de ícones"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tAbre MPC-HC em segundo plano"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tInicia a interface web na porta especificada"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tExibe informações de debug no OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDisabilita o reportador de erros"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUsa MPC-HC como escravo"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tDefine o índice da GPU usado para decodificação de hardware\n\t\tDisponível somente para CUVID e DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset⇥⇥Restaura configuração padrão"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tExibe ajuda a cerca das linhas de comando"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Valor limite para pontuação de legendas que serão baixadas automaticamente. Valores mais altos significam que serão baixadas legendas mais corretas e precisas, enquanto valores baixos podem resultar em legendas incorretas, mas não existe valor perfeito. Escolha um que atenda melhor sua necessidade."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Delay do Áudio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Tamanho em pixels da barra de ferramentas padrão."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Usar barra de ferramentas antiga no lugar da nova vetorizada."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
index 0139c5be4..ebb124e61 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Daniel <danny34ever@yahoo.com>, 2014-2015
-# lordkag <lord.kagula@gmail.com>, 2014-2015
+# Daniel <danny3@tutanota.com>, 2014-2016
+# lordkag <lord.kagula@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 17:31+0000\n"
-"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-10-27 10:01+0000\n"
+"Last-Translator: Daniel <danny3@tutanota.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mpc-hc/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -119,7 +119,7 @@ msgstr "canale de intrare:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Țineți Shift apăsat pentru aplicarea imediată a schimbărilor când dați clic pe ceva"
+msgstr "Țineți apăsată tasta Shift pentru aplicarea imediată a schimbărilor când dați clic pe ceva"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -190,20 +190,20 @@ msgid "About"
msgstr "Despre"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Drepturi de autor © 2002-2015 vedeți Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Drepturi de autor © 2002-2017 vedeți Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Acest program este gratuit și distribuit sub licența GNU General Public License."
+msgstr "Acest program este gratuit și distribuit sub Licența Publică Generală GNU."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traducerea în română realizată de Daniel Alămiță, actualizată şi corectată de lordkag"
+msgstr "Traducerea în limba română realizată de Daniel Alămiță și lordkag"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr "Informaţii despre versiunea compilată"
+msgstr "Informații despre versiunea compilată"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -231,7 +231,7 @@ msgstr "Nume:"
msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
msgid "Copy to clipboard"
-msgstr "Copiază în clipboard"
+msgstr "Copiază în zona de transfer"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
@@ -295,7 +295,7 @@ msgstr "Extinde până la marginile ecranului"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Salvează setările într-un fișier .ini"
+msgstr "Salvează stabilirile într-un fișier .ini"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
@@ -303,11 +303,11 @@ msgstr "Dezactivează meniul „Deschide disc”"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "Prioritatea procesării peste normal"
+msgstr "Prioritatea procesării peste normală"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "Activează suportul pentru coperți de albume"
+msgstr "Activează sprijinul pentru coperți de albume"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -327,7 +327,7 @@ msgstr "Ține minte poziția în fișier"
msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
msgid "Remember DVD position"
-msgstr "Ține minte poziția pe DVD"
+msgstr "Ține minte poziția pe discul DVD"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
@@ -339,11 +339,11 @@ msgstr "Ține minte ultima dimensiune a ferestrei"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Ține minte ultima scalare pentru Pan && Scan"
+msgstr "Ține minte ultima scalare a panoramării trunchiate"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr "Acţiuni pentru meniul „Deschide DVD/BD”"
+msgstr "Acţiuni pentru meniul „Deschide disc DVD/BD”"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
@@ -367,15 +367,15 @@ msgstr "Audio"
msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
msgid "Subtitles"
-msgstr "Subtitrări"
+msgstr "Subtitluri"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Additional settings"
-msgstr "Setări adiționale"
+msgstr "Stabiliri adiționale"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Permite subtitrări pentru persoane cu dizabilități în „Line 21 Decoder”"
+msgstr "Permite subtitluri pentru persoane cu dizabilități în „Line 21 Decoder”"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -383,7 +383,7 @@ msgstr "Audio"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume"
-msgstr "Volum"
+msgstr "Volum sonor"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Min"
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "dată(ori)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Mod de repetare:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "După redare"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Ieșire"
+msgid "Default zoom"
+msgstr "Scalare implicită"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -447,7 +451,7 @@ msgstr "Ordinea preferată a pistelor"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
-msgstr "Subtitrări:"
+msgstr "Subtitluri:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
@@ -459,7 +463,7 @@ msgstr "Permite suprascrierea opţiunii separatorului (splitter) extern"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
-msgstr "Setări pentru deschidere"
+msgstr "Stabiliri deschidere"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
@@ -479,7 +483,7 @@ msgstr "Control"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume step:"
-msgstr "Treaptă Volum:"
+msgstr "Treaptă volum:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "%"
@@ -487,7 +491,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Speed step:"
-msgstr "Treaptă Viteză:"
+msgstr "Treaptă de viteză:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
msgid "Override placement"
@@ -519,11 +523,11 @@ msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Setări textură (deschideți fișierul video din nou pentru a vedea schimbările)"
+msgstr "Stabiliri textură (deschideți fișierul video din nou pentru a vedea schimbările)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
-msgstr "Imagini subtitrare de preîncărcat:"
+msgstr "Imagini subtitlu de preîncărcat:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
@@ -531,11 +535,11 @@ msgstr "Rezoluție maximă pentru textură :"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
-msgstr "Nu anima niciodată subtitrările"
+msgstr "Nu anima niciodată subtitlurile"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Randează după"
+msgstr "Randează la"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -543,7 +547,7 @@ msgstr "% din animație"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr "Animație la"
+msgstr "Animează la"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
@@ -551,7 +555,7 @@ msgstr "% din rata cadrelor video"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Permite abandonarea unor imagini subtitrare dacă coada de randare este în urmă"
+msgstr "Permite abandonarea unor imagini subtitlu dacă coada de randare este în urmă"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -566,8 +570,8 @@ msgid "Warning"
msgstr "Avertisment"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Dacă suprascrieţi și activați dezimțuire (antialiasing) pentru ecran complet în setările plăcii grafice, subtitrările nu o să arate mai bine, dar cu siguranță se va consuma mai mult din resursele sistemului."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Dacă suprascrieţi și activați dezimțuirea (antialiasing) pentru ecran complet în stabilirile plăcii grafice, subtitlurile nu o să arate mai bine, dar cu siguranță se vor consuma mai mult din resursele sistemului."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -595,7 +599,7 @@ msgstr "Rulează ca &administrator"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr "Setează ca program &implicit"
+msgstr "Stabilește ca program &implicit"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -691,11 +695,11 @@ msgstr "Fontul OSD:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Activează suportul LCD pentru tastaturi Logitech (experimental)"
+msgstr "Activează sprijunul ecranelor LCD pentru tastaturi Logitech (experimental)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr "Ascunde automat indicatorul mouse-ului în timpul redării în mod fereastră"
+msgstr "Ascunde automat indicatorul mausului în timpul redării în mod fereastră"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -727,11 +731,11 @@ msgstr "Jos"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Adaugă tip media..."
+msgstr "Adăugare tip media..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Adaugă subtip..."
+msgstr "Adăugare subtip..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -739,7 +743,7 @@ msgstr "Șterge"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
-msgstr "Resetează lista"
+msgstr "Restabilește lista"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Type:"
@@ -787,7 +791,7 @@ msgstr "Descriere:"
msgctxt "IDD_FAVADD_CAPTION"
msgid "Add Favorite"
-msgstr "Adaugă la favorite"
+msgstr "Adăugare la favorite"
msgctxt "IDD_FAVADD_IDC_STATIC"
msgid "Choose a name for your shortcut:"
@@ -835,7 +839,7 @@ msgstr "OK"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Setări prestabilite Pan & Scan"
+msgstr "Prestabiliri panoramare trunchiată"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -855,7 +859,7 @@ msgstr "Jos"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
msgid "&Set"
-msgstr "&Setează"
+msgstr "&Stabilește"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
@@ -883,7 +887,7 @@ msgstr "Selectează toate"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
-msgstr "Resetează selectate"
+msgstr "Restabilește selectate"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
@@ -1035,7 +1039,7 @@ msgstr "Jos"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "Poziționează subtitrările relativ la cadrul video"
+msgstr "Poziționează subtitlurile relativ la cadrul video"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1063,7 +1067,7 @@ msgstr "Contur"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
msgid "Link alpha channels"
-msgstr "Unește canalele alpha"
+msgstr "Unește canalele alfa"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
@@ -1079,7 +1083,7 @@ msgstr "Filtre de transformare"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr "Setările filtrelor Internal LAV Filters"
+msgstr "Stabiliri LAV Filters interne"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Randor audio"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Setări pentru VMR-7/VMR-9 (fără randare) și EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Stabiliri VMR-9 (fără randare) și EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1147,15 +1151,15 @@ msgstr "Ecran complet D3D"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "VSync alternativ"
+msgstr "Sincronizare verticală alternativă"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
-msgstr "VMR-9 în mod mixare"
+msgstr "Mod amestecător VMR-9"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "Mixare YUV"
+msgstr "Amestecare YUV"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
@@ -1167,7 +1171,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr "Subtitrări"
+msgstr "Subtitluri"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1175,7 +1179,7 @@ msgstr "Captură ecran"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr "Shadere"
+msgstr "Nuanțatoare"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
@@ -1183,7 +1187,11 @@ msgstr "Rotaţie"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr "Randor subtitrări"
+msgstr "Randor subtitluri"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Salvează în cache nuanțatoarele compilate."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1191,7 +1199,7 @@ msgstr "Ascultă pe portul:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Lansează în navigator web..."
+msgstr "Lansează în navigatorul web..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1230,16 +1238,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Operatori CGI: (.ext1=dosar1;.ext2=dosar2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Subtitrări disponibile online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Descarcă && Deschide"
+msgid "Download subtitles"
+msgstr "Descarcă subtitluri"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Înlocuiește subtitrările încărcate curent"
+msgstr "Înlocuiește subtitlurile actual încărcate"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Descarcă"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Reîmprospătează"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Abandonează"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Opțiuni"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Încarcă subtitluri"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Încarcă"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Abandonează"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Opțiuni"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1247,7 +1283,7 @@ msgstr "Salvează ca..."
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
-msgstr "Controale de culoare (pentru VMR-9, EVR şi madVR)"
+msgstr "Controale de culoare (pentru VMR-9, EVR și madVR)"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Brightness"
@@ -1267,7 +1303,7 @@ msgstr "Saturație"
msgctxt "IDD_PPAGEMISC_IDC_RESET"
msgid "Reset"
-msgstr "Resetează"
+msgstr "Restabilește"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
@@ -1287,11 +1323,11 @@ msgstr "zi(le)"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Settings management"
-msgstr "Administrare setări"
+msgstr "Gestionare stabiliri"
msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
msgid "Reset"
-msgstr "Resetează"
+msgstr "Restabilește"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
msgid "Export"
@@ -1303,7 +1339,7 @@ msgstr "Exportă taste rapide"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
-msgstr "Scanare tuner"
+msgstr "Scanare prinzător"
msgctxt "IDD_TUNER_SCAN_ID_START"
msgid "Start"
@@ -1359,7 +1395,7 @@ msgstr "Digital"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Analog settings"
-msgstr "Setări receptor analog"
+msgstr "Stabiliri receptor analog"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC1"
msgid "Video"
@@ -1375,7 +1411,7 @@ msgstr "Țară"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Digital settings (BDA)"
-msgstr "Setări receptor digital (BDA)"
+msgstr "Stabiliri receptor digital (BDA)"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
msgid "Network Provider"
@@ -1383,7 +1419,7 @@ msgstr "Furnizor rețea"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
msgid "Tuner"
-msgstr "Tuner"
+msgstr "Prinzător"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC6"
msgid "Receiver"
@@ -1395,11 +1431,11 @@ msgstr "Modalitate de schimbare a canalului:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
-msgstr "Reconstruieşte graficul filtrelor"
+msgstr "Reconstruiește graficul filtrelor"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr "Opreşte graficul filtrelor"
+msgstr "Oprește graficul filtrelor"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
@@ -1427,7 +1463,7 @@ msgstr "coloane"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "Prezintă la cel mai apropiat VSync (Sincronizare verticală)"
+msgstr "Prezintă la cea mai apropiată sincronizare verticală"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
@@ -1455,7 +1491,7 @@ msgstr "Modificările vor avea efect după ce redarea a fost oprită și reporni
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
-msgstr "Pornește fișierele în modul ecran complet"
+msgstr "Lansează fișierele în modul ecran complet (pe tot ecranul)"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
@@ -1523,15 +1559,15 @@ msgstr "Scanează"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "Preferă subtitrările forţate şi/sau implicite"
+msgstr "Preferă subtitlurile forţate și/sau implicite"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Preferă subtitrările externe în locul celor integrate"
+msgstr "Preferă subtitlurile externe în locul celor integrate"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Ignoră subtitrările integrate"
+msgstr "Ignoră subtitlurile integrate"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
@@ -1539,19 +1575,31 @@ msgstr "Căi de încărcare automată"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
-msgstr "Resetează"
+msgstr "Restabilește"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Bază de date online"
+msgid "Online search, download and upload subtitles"
+msgstr "Căutare pe Internet, descărcare și încărcare subtitluri"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Caută și descarcă automat subtitluri daca nu este găsit niciunul local"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferă subtitlurile pentru cei cu deficiențe de auz (când sunt indicate de furnizor)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignoră fișierele care conțin oricare din următoarele cuvinte:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL de bază pentru baza de date cu subtitrări online:"
+msgid "Languages in order of preference:"
+msgstr "Limbile în ordinea preferinței:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testează"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Încarcă automat subtitlurile active la sfârșitul redării video"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1563,7 +1611,7 @@ msgstr "&Descarcă acum"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
-msgstr "Aminteşte-mi mai &târziu"
+msgstr "Amintește-mi mai &târziu"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
@@ -1571,11 +1619,11 @@ msgstr "&Ignoră această actualizare"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Shaderele conțin efecte speciale ce pot fi adăugate în timpul procesului de randare video"
+msgstr "Nuanțatoarele conțin efecte speciale ce pot fi adăugate în timpul procesului de randare video"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "Adaugă fișier shader"
+msgstr "Adăugare fișier nuanțator"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1591,7 +1639,7 @@ msgstr "Adaugă după redimensionare"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Setări prestabilite pentru shader"
+msgstr "Prestabiliri nuanțator"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1607,15 +1655,15 @@ msgstr "Șterge"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "Shadere pre-redimensionare active"
+msgstr "Nuanțatoare pre-redimensionare active"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "Shadere post-redimensionare active"
+msgstr "Nuanțatoare post-redimensionare active"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr "Depanare Shadere"
+msgstr "Depanare nuanțatoare"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
@@ -1639,7 +1687,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Setări avansate, nu modificați decât dacă știți ce faceți."
+msgstr "Stabiliri avansate, nu modificați decât dacă știți ce faceți."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
index 66f5edc2f..797fe5ebb 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Daniel <danny34ever@yahoo.com>, 2014-2015
+# Daniel <danny3@tutanota.com>, 2014-2016
# lordkag <lord.kagula@gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-30 19:50+0000\n"
-"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-10-27 09:51+0000\n"
+"Last-Translator: Daniel <danny3@tutanota.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mpc-hc/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,23 +23,23 @@ msgstr "&Fișier"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "Deschide &rapid un fișier..."
+msgstr "Deschidere &rapidă fișier..."
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
-msgstr "Desc&hide fișier..."
+msgstr "&Deschidere fișier..."
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "Deschide &DVD/BD..."
+msgstr "Deschidere disc &DVD/BD..."
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
-msgstr "Deschide dis&pozitiv..."
+msgstr "Deschidere dis&pozitiv..."
msgctxt "ID_FILE_OPENDIRECTORY"
msgid "Open Dir&ectory..."
-msgstr "Deschide direc&tor..."
+msgstr "Deschidere dir&ector..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
@@ -55,39 +55,35 @@ msgstr "Î&nchide"
msgctxt "ID_FILE_SAVE_COPY"
msgid "&Save a Copy..."
-msgstr "Salvează o &copie..."
+msgstr "Salvare &copie..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
-msgstr "Salvează &imagine..."
+msgstr "Salvare &imagine..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Salvează &miniaturi..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Înc&arcă subtitrare..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Salvează s&ubtitrare..."
+msgstr "Salvare &miniaturi..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Bază de date a subtitrărilor"
+msgid "S&ubtitles"
+msgstr "Subtitluri"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Caută..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Î&ncărcare subtitluri..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Î&ncarcă..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Salvare s&ubtitluri..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Descarcă..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Descărcare subtitluri..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Urcare subtitluri..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -95,7 +91,7 @@ msgstr "Pr&oprietăți"
msgctxt "ID_FILE_EXIT"
msgid "E&xit"
-msgstr "I&eșire"
+msgstr "Î&nchide programul"
msgctxt "POPUP"
msgid "&View"
@@ -127,7 +123,7 @@ msgstr "St&are"
msgctxt "ID_VIEW_SUBRESYNC"
msgid "Su&bresync"
-msgstr "Resincronizare su&btitrări"
+msgstr "Resincronizare su&btitluri"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
@@ -143,11 +139,11 @@ msgstr "Na&vigare"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Depanare shadere"
+msgstr "&Depanare nuanțatoare"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "Setări &prestabilite..."
+msgstr "&Prestabiliri..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
@@ -191,7 +187,7 @@ msgstr "Autopotrivire (&doar cele mari)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "S&etări randor"
+msgstr "Stabiliri r&andor"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
@@ -203,7 +199,7 @@ msgstr "&Statistici de afișare"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Afișează t&impul curent"
+msgstr "Afișează t&impul actual"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
@@ -231,7 +227,7 @@ msgstr "&Mod ecran complet D3D"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "&Asistare ecran complet D3D în interfață"
+msgstr "&Sprijinire ecran complet D3D în interfață"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
@@ -259,7 +255,7 @@ msgstr "Activează &corecția de timp a cadrelor"
msgctxt "POPUP"
msgid "&Color Management"
-msgstr "Administrare &culori"
+msgstr "Gestionare &culori"
msgctxt "ID_VIEW_CM_ENABLE"
msgid "&Enable"
@@ -295,7 +291,7 @@ msgstr "L&uminos (2.2 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
msgid "&Dim (2.35 Gamma)"
-msgstr "&Estompat (2.35 Gamma)"
+msgstr "&Estompată (2.35 Gamma)"
msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
msgid "D&ark (2.4 Gamma)"
@@ -303,15 +299,15 @@ msgstr "În&tunecat (2.4 Gamma)"
msgctxt "POPUP"
msgid "&Rendering Intent"
-msgstr "&Intenţie de randare"
+msgstr "&Intenție de randare"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
-msgstr "&Perceptual"
+msgstr "&Perceptuală"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
-msgstr "&Colorimetric relativ"
+msgstr "&Colorimetrică &relativ"
msgctxt "ID_VIEW_CM_INTENT_SATURATION"
msgid "&Saturation"
@@ -319,59 +315,59 @@ msgstr "&Saturație"
msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
msgid "&Absolute Colorimetric"
-msgstr "Colorimetric &absolut"
+msgstr "Colorimetrică &absolută"
msgctxt "POPUP"
msgid "&VSync"
-msgstr "&VSync (Sincronizare verticală)"
+msgstr "Sincronizare &verticală"
msgctxt "ID_VIEW_VSYNC"
msgid "&VSync"
-msgstr "Activează &VSync"
+msgstr "Activează sincronizarea &verticală"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "VSync &precis"
+msgstr "Sincronizare verticală &precisă"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "VSync &alternativ"
+msgstr "Sincronizare verticală &alternativă"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "&Micșorează decalaj VSync"
+msgstr "&Micșorează decalajul sincronizării verticale"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "&Mărește decalaj VSync"
+msgstr "&Mărește decalajul sincronizării verticale"
msgctxt "POPUP"
msgid "&GPU Control"
-msgstr "Control al &GPU"
+msgstr "Control unitate &grafică"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Golește GPU î&nainte de VSync"
+msgstr "&Golește unitatea grafică înainte de sincronizarea verticală"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Golește GPU &după prezentare"
+msgstr "Golește unitatea grafică &după prezentare"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
-msgstr "&Așteaptă pentru goliri"
+msgstr "&Așteaptă după goliri"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "R&esetează"
+msgstr "R&estabilește"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Resetează la setările &implicite ale randorului"
+msgstr "Restabilește la stabilirile &implicite ale randorului"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Resetează la setările &optime ale randorului"
+msgstr "Restabilește la stabilirile &optime ale randorului"
msgctxt "POPUP"
msgid "Video &Frame"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Atinge fereastra din exteri&or"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Menține raportul de aspect"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Suprascrie raportul de &aspect"
+msgid "&Aspect Ratio"
+msgstr "Raport de &aspect"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Implicit"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Implicit (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,37 +433,41 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Presupune că pixelii sunt &pătrați (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Corectează diferența RA Monitor/Desktop"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Pa&n && Scan (Panoramare trunchiată)"
+msgstr "Pa&noramare trunchiată"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
-msgstr "&Mărește dimensiune"
+msgstr "&Mărește dimensiunea"
msgctxt "ID_VIEW_DECSIZE"
msgid "&Decrease Size"
-msgstr "M&icșorează dimensiune"
+msgstr "M&icșorează dimensiunea"
msgctxt "ID_VIEW_INCWIDTH"
msgid "I&ncrease Width"
-msgstr "Mă&rește lățime"
+msgstr "Mă&rește lățimea"
msgctxt "ID_VIEW_DECWIDTH"
msgid "D&ecrease Width"
-msgstr "Mi&cșorează lățime"
+msgstr "Mi&cșorează lățimea"
msgctxt "ID_VIEW_INCHEIGHT"
msgid "In&crease Height"
-msgstr "Măr&ește înălțime"
+msgstr "Măr&ește înălțimea"
msgctxt "ID_VIEW_DECHEIGHT"
msgid "Decre&ase Height"
-msgstr "Micș&orează înălțime"
+msgstr "Micș&orează înălțimea"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
@@ -495,7 +491,7 @@ msgstr "Cen&trare"
msgctxt "ID_VIEW_RESET"
msgid "Re&set"
-msgstr "Re&setează"
+msgstr "Re&stabilește"
msgctxt "POPUP"
msgid "On &Top"
@@ -527,16 +523,32 @@ msgstr "&Redare"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Redă/Pauză"
+msgstr "&Redă/Pauzează"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
-msgstr "&Stop"
+msgstr "&Oprește"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Cad&rul următor"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Repetă"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "La &nesfârșit"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Fișierul"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Lista de redare"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Micșorează rata de redare"
@@ -547,7 +559,7 @@ msgstr "&Mărește rata de redare"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "R&esetează rata de redare"
+msgstr "R&estabilește rata de redare"
msgctxt "ID_FILTERS"
msgid "&Filters"
@@ -555,7 +567,7 @@ msgstr "&Filtre"
msgctxt "ID_SHADERS"
msgid "S&haders"
-msgstr "S&hadere"
+msgstr "&Nuanțatoare"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
@@ -563,10 +575,10 @@ msgstr "Pistă &audio"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr "Pistă su&btitrare"
+msgstr "Pistă su&btitlu"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pistă &video"
msgctxt "POPUP"
@@ -583,7 +595,7 @@ msgstr "&Scade"
msgctxt "ID_VOLUME_MUTE"
msgid "&Mute"
-msgstr "&Mut"
+msgstr "&Taci"
msgctxt "POPUP"
msgid "Af&ter Playback"
@@ -623,7 +635,7 @@ msgstr "Închide &sesiunea"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "&Blochează desktopul"
+msgstr "&Blochează spațiul de lucru"
msgctxt "POPUP"
msgid "&Navigate"
@@ -651,7 +663,7 @@ msgstr "Meniu &rădăcină"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
-msgstr "Meniu &subtitrări"
+msgstr "Meniu &subtitluri"
msgctxt "ID_NAVIGATE_AUDIOMENU"
msgid "&Audio Menu"
@@ -683,7 +695,7 @@ msgstr "Caută act&ualizări"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "&Comutatoare în linie de comandă"
+msgstr "&Comutatoare linie de comandă"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
index a22ac4de7..d3e733546 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Daniel <danny34ever@yahoo.com>, 2014-2015
-# lordkag <lord.kagula@gmail.com>, 2014-2015
+# Daniel <danny3@tutanota.com>, 2014-2016
+# lordkag <lord.kagula@gmail.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-12 12:32+0000\n"
+"Last-Translator: Daniel <danny3@tutanota.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mpc-hc/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +19,7 @@ msgstr ""
msgctxt "IDS_INFOBAR_LOCATION"
msgid "Location"
-msgstr "Dosar"
+msgstr "Locație"
msgctxt "IDS_INFOBAR_VIDEO"
msgid "Video"
@@ -31,7 +31,7 @@ msgstr "Audio"
msgctxt "IDS_INFOBAR_SUBTITLES"
msgid "Subtitles"
-msgstr "Subtitrări"
+msgstr "Subtitluri"
msgctxt "IDS_INFOBAR_CHAPTER"
msgid "Chapter"
@@ -55,23 +55,31 @@ msgstr "Redă CD Audio"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
-msgstr "Redă film DVD"
+msgstr "Redă filmul de pe discul DVD"
msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Proprietăți"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fișier"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Stil implicit"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Listă de redare"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Fișiere"
msgctxt "IDS_FAVDVDS"
msgid "DVDs"
-msgstr "DVD-uri"
+msgstr "Discuri DVD"
msgctxt "IDS_INFOBAR_CHANNEL"
msgid "Channel"
@@ -99,7 +107,7 @@ msgstr "Rată de biţi"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(medie/curentă)"
+msgstr "(medie/actuală)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -115,7 +123,27 @@ msgstr "Stiluri"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Dacă zona ţintă pentru randare este nedefinită, subtitrările SSA/ASS vor fi randate relativ la cadrul video, în timp ce toate celelalte subtitrări text vor fi randate relativ la fereastră."
+msgstr "Dacă zona ţintă pentru randare este nedefinită, subtitlurile SSA/ASS vor fi randate relativ la cadrul video, în timp ce toate celelalte subtitlurii text vor fi randate relativ la fereastră."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Mod de repetare: Listă de redare"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Mod de repetare: Fișier"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Repetare la nesfârșit: Pornită"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Repetare la nesfârșit: Oprită"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Repetă la nesfârșit"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -123,7 +151,7 @@ msgstr "Niciodată (cea mai rapidă metodă)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
-msgstr "Doar când se schimbă tipuri video diferite (implicit)"
+msgstr "Doar când se schimbă tipurile video diferite (implicit)"
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
@@ -131,7 +159,7 @@ msgstr "Întotdeauna (cea mai lentă metodă)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Nu este suportată de unele dispozitive. Două decodoare video sunt întotdeauna prezente în graficul filtrelor."
+msgstr "Nu este sprijinită de unele dispozitive. Două decodoare video sunt întotdeauna prezente în graficul filtrelor."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
@@ -143,7 +171,7 @@ msgstr "Nu este recomandată. Doar pentru testare."
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
-msgstr "Niciodată, dacă este posibil (cea mai rapidă, dar nu este suportată de cele mai multe filtre)"
+msgstr "Niciodată, dacă este posibil (cea mai rapidă, dar nu este sprijinită de cele mai multe filtre)"
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
@@ -175,23 +203,23 @@ msgstr "Film/Dramă"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
-msgstr "Ştiri/Evenimente curente"
+msgstr "Știri/Evenimente actuale"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
-msgstr "GB/s"
+msgstr "GO/s"
msgctxt "IDS_FILE_FAV_ADDED"
msgid "File added to favorites"
-msgstr "Fişier adăugat la favorite"
+msgstr "Fișier adăugat la favorite"
msgctxt "IDS_DVD_FAV_ADDED"
msgid "DVD added to favorites"
-msgstr "DVD adăugat la favorite"
+msgstr "Disc DVD adăugat la favorite"
msgctxt "IDS_CAPTURE_SETTINGS"
msgid "Capture Settings"
-msgstr "Setări pentru captură"
+msgstr "Stabiliri captură"
msgctxt "IDS_NAVIGATION_BAR"
msgid "Navigation Bar"
@@ -199,7 +227,7 @@ msgstr "Bară de Navigare"
msgctxt "IDS_SUBRESYNC_CAPTION"
msgid "Subresync"
-msgstr "Resincronizare subtitrări"
+msgstr "Resincronizare subtitluri"
msgctxt "IDS_SUBRESYNC_CLN_TIME"
msgid "Time"
@@ -239,11 +267,11 @@ msgstr "Font"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Eşuare la randarea unora dintre pinii filtrului DVD Navigator"
+msgstr "Eșuare la randarea unora dintre pinii filtrului navigator DVD"
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
-msgstr "Eşuare la interogarea interfeţelor necesare pentru redare DVD"
+msgstr "Eșuare la interogarea interfeţelor necesare pentru redarea discului DVD"
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
@@ -271,15 +299,15 @@ msgstr "Editorul listei de editare"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
-msgstr "Timpul introdus este mai mare decât durata fişierului."
+msgstr "Timpul introdus este mai mare decât durata fișierului."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Biblioteca de pictograme „mpciconlib.dll” lipseşte.\nPictograma implicită a playerului va fi folosită pentru asocierile fişierelor.\nVă rugăm să reinstalaţi MPC-HC pentru a obţine „mpciconlib.dll”."
+msgstr "Biblioteca de pictograme „mpciconlib.dll” lipsește.\nPictograma implicită a playerului va fi folosită pentru asocierile fișierelor.\nVă rugăm să reinstalaţi MPC-HC pentru a obţine „mpciconlib.dll”."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
-msgstr "Fişier"
+msgstr "Fișier"
msgctxt "IDS_SUBDL_DLG_LANGUAGE_COL"
msgid "Language"
@@ -327,11 +355,11 @@ msgstr "Pornit/Oprit"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
-msgstr "De la (FPS)"
+msgstr "De la (CPS)"
msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
msgid "To (FPS)"
-msgstr "La (FPS)"
+msgstr "La (CPS)"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
@@ -351,7 +379,7 @@ msgstr "Implicit al sistemului"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr "Eşuare la interogarea interfeţelor necesare pentru redare"
+msgstr "Eșuare la interogarea interfeţelor necesare pentru redare"
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
@@ -359,7 +387,7 @@ msgstr "Nu se poate seta fereastra ţintă pentru notificările graficului"
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Eşuare la randarea tuturor pinilor filtrului DVD Navigator"
+msgstr "Eșuare la randarea tuturor pinilor filtrului navigator DVD"
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
@@ -379,11 +407,11 @@ msgstr "Ș&terge"
msgctxt "IDS_PLAYLIST_COPYTOCLIPBOARD"
msgid "&Copy to clipboard"
-msgstr "&Copiază în clipboard"
+msgstr "&Copiază în zona de transfer"
msgctxt "IDS_PLAYLIST_SAVEAS"
msgid "&Save As..."
-msgstr "&Salvează ca..."
+msgstr "&Salvare ca..."
msgctxt "IDS_PLAYLIST_SORTBYLABEL"
msgid "Sort by &label"
@@ -415,15 +443,15 @@ msgstr "D&uplică"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
-msgstr "&Resetează"
+msgstr "&Restabilește"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr "Întârziere subtitrare -"
+msgstr "Întârziere subtitlu -"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
-msgstr "Întârziere subtitrare +"
+msgstr "Întârziere subtitlu +"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
@@ -443,7 +471,7 @@ msgstr "Redare::DVD/OGM"
msgctxt "IDD_PPAGESUBTITLES"
msgid "Subtitles"
-msgstr "Subtitrări"
+msgstr "Subtitluri"
msgctxt "IDD_PPAGEFORMATS"
msgid "Player::Formats"
@@ -463,7 +491,7 @@ msgstr "Filtre externe"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "Redare::Shadere"
+msgstr "Redare::Nuanțatoare"
msgctxt "IDD_FILEPROPRES"
msgid "Resources"
@@ -483,7 +511,7 @@ msgstr "Redare::Captură"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Redare::Setările randorului Sync"
+msgstr "Redare::Stabiliri randor Sincronizare"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
@@ -515,23 +543,15 @@ msgstr "Randor video vechi"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "Randor Mixare Overlay"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "VMR-7 - Randor Mixare Video 7 (în fereastră)"
+msgstr "Randor amestecător strat suprapus"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "VMR-9 - Randor Mixare Video 9 (în fereastră)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "VMR-7 - Randor Mixare Video 7 (fără randare)"
+msgstr "VMR-9 - Randor amestecare video 9 (în fereastră)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "VMR-9 - Randor Mixare Video 9 (fără randare)"
+msgstr "VMR-9 - Randor amestecare video 9 (fără randare)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
@@ -563,7 +583,7 @@ msgstr "Player::Taste rapide"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
-msgstr "Subtitrări::Stil implicit"
+msgstr "Subtitluri::Stil implicit"
msgctxt "IDD_PPAGEINTERNALFILTERS"
msgid "Internal Filters"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Player::Interfață web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Subtitrări::Bază de date"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detalii"
@@ -603,27 +619,19 @@ msgstr "Acesta este randorul implicit pentru Windows 9x/me/2k. În funcție de v
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Randează întotdeauna în overlay (suprapunere). În mod normal doar formatele YUV sunt permise, dar ele sunt prezentate direct fără nicio conversie de culoare către RGB. Aceasta este cea mai rapidă metodă de randare dintre toate și singura în care puteți fi sigur(ă) de oglindirea/recopierea videoului în ecran complet la activarea tv-out (Ieşire TV)."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Randorul implicit pentru Windows XP. Foarte stabil și doar puțin mai încet decât mixarea Overlay. Folosește DirectDraw și rulează în Overlay atunci când poate."
+msgstr "Randează întotdeauna într-un strat suprapus. În mod normal doar formatele YUV sunt permise, dar ele sunt prezentate direct fără nicio conversie de culoare către RGB. Aceasta este cea mai rapidă metodă de randare dintre toate și singura în care puteți fi sigur(ă) de oglindirea/recopierea videoului în ecran complet la activarea ieșirii tv (tv-out)."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Disponibil numai dacă aveți DirectX 9 instalat. Are aceleași abilităţi ca și VMR-7 (în fereastră), dar nu va folosi niciodată randare în Overlay și din această cauză s-ar putea să fie puțin mai încet decât VMR-7 (în fereastră)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Asemănător cu VMR-7 (în fereastră), dar cu modulul Allocator-Presenter din MPC-HC pentru subtitrări. Oglindirea video în overlay NU va funcționa. Spațiul de culori recomandat pentru desktop este „True Color”."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Disponibil numai dacă aveți DirectX 9 instalat. Foarte stabil, dar nu va folosi niciodată randare în strat suprapus și din această cauză s-ar putea să fie puțin mai încet decât randorul amestecător strat suprapus."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Asemănător cu VMR-9 (în fereastră), dar cu modulul Allocator-Presenter din MPC-HC pentru subtitrări. Oglindirea video în overlay S-AR PUTEA să funcționeze. Spațiul de culori recomandat pentru desktop este „True Color”. Recomandat pentru Windows XP."
+msgstr "Asemănător cu VMR-9 (în fereastră), dar cu modulul Allocator-Presenter din MPC-HC pentru subtitluri. Oglindirea video în strat suprapus S-AR PUTEA să funcționeze. Spațiul de culori recomandat pentru desktop este „True Color”. Recomandat pentru Windows XP."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Asemănător cu VMR-9 (fără randare), dar foloseşte o redimensionare bicubică în doi paşi adevărată."
+msgstr "Asemănător cu VMR-9 (fără randare), dar folosește o redimensionare bicubică în doi pași adevărată."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
@@ -639,11 +647,11 @@ msgstr "Disponibil doar pentru Vista sau mai nou, sau pentru XP cu cel puţin .N
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Asemănător cu EVR, dar cu modulul Allocator-Presenter din MPC-HC pentru subtitrare şi postprocesare. Recomandat pentru Windows Vista sau mai nou."
+msgstr "Asemănător cu EVR, dar cu modulul Allocator-Presenter din MPC-HC pentru subtitlu și postprocesare. Recomandat pentru Windows Vista sau mai nou."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr "Randor de calitate înaltă, necesită o placă grafică ce suportă D3D9 sau mai nou."
+msgstr "Randor de calitate ridicată, necesită o placă grafică ce sprijină D3D9 sau mai nou."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
@@ -651,11 +659,7 @@ msgstr "Asemănător cu EVR (CP), dar oferă câteva opţiuni pentru a sincroniz
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Randor propriu al Real. Scripturile SMIL vor funcționa, dar interacțiunea puțin probabil. Folosește DirectDraw și rulează în Overlay atunci când poate."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Ieșirea motorului Real randată de modulul Allocator-Presenter bazat pe DX7 al lui VMR-7 (fără randare)."
+msgstr "Randor propriu al lui Real. Scripturile SMIL vor funcționa, dar interacțiunea puțin probabil. Folosește DirectDraw și rulează în strat suprapus atunci când poate."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Randor propriu al QuickTime. Încetinește puțin atunci când zona video este redimensionată sau este acoperită parțial de altă fereastră. Când Overlay nu este disponibil preferă să revină la GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Ieșirea motorului QuickTime randată de modulul Allocator-Presenter bazat pe DX7 al lui VMR-7 (fără randare)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Ieșirea motorului QuickTime randată de modulul Allocator-Presenter bazat pe DX9 al lui VMR-9 (fără randare)."
@@ -679,11 +679,11 @@ msgstr "Suprafața video va fi alocată ca o suprafață normală offscreen."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr "Randor Sync"
+msgstr "Randor Sincronizare"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
-msgstr "Suprafaţă netedă offscreen obişnuită"
+msgstr "Suprafaţă netedă offscreen obișnuită"
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
@@ -699,23 +699,23 @@ msgstr "Cel mai apropiat vecin"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
msgid "Bilinear"
-msgstr "Biliniar"
+msgstr "Biliniară"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
msgid "Bilinear (PS 2.0)"
-msgstr "Biliniar (PS 2.0)"
+msgstr "Biliniară (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
msgid "Bicubic A=-0.60 (PS 2.0)"
-msgstr "Bicubic A=-0.60 (PS 2.0)"
+msgstr "Bicubică A=-0.60 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
msgid "Bicubic A=-0.75 (PS 2.0)"
-msgstr "Bicubic A=-0.75 (PS 2.0)"
+msgstr "Bicubică A=-0.75 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
msgid "Bicubic A=-1.00 (PS 2.0)"
-msgstr "Bicubic A=-1.00 (PS 2.0)"
+msgstr "Bicubică A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Pentru a vedea o resursă încorporată în browser-ul dumneavoastră trebuie să activaţi interfaţa web.\n\nFolosiţi butonul „Salvează ca” dacă doriţi doar să salvaţi infomaţia."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Descarcă subtitrări"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Descărcare subtitluri..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Încărcare subtitluri..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -767,15 +771,15 @@ msgstr "Nu există taste rapide (scurtături) pentru exportare."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
-msgstr "Nu s-au găsit fişiere media în arhivă"
+msgstr "Nu s-au găsit fișiere media în arhivă"
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
-msgstr "Fişierele comprimate nu sunt suportate"
+msgstr "Fișierele comprimate nu sunt compatibile"
msgctxt "IDS_RFS_ENCRYPTED"
msgid "Encrypted files are not supported"
-msgstr "Fişierele criptate nu sunt suportate"
+msgstr "Fișierele criptate nu sunt compatibile"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
@@ -787,15 +791,15 @@ msgstr "Suprafața video va fi alocată ca o textură, dar tot funcțiile 2D vor
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "Suprafața video va fi alocată ca o textură și desenată ca două triunghiuri în 3D. Activarea dezimțuirii (antialiasing) din setările de afișare ar putea avea un efect negativ asupra vitezei de randare."
+msgstr "Suprafața video va fi alocată ca o textură și desenată ca două triunghiuri în 3D. Activarea dezimțuirii (antialiasing) din stabilirile de afișare ar putea avea un efect negativ asupra vitezei de randare."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "Dacă nu există suport pentru Pixel Shader 2.0, biliniar simplu este folosit automat."
+msgstr "Dacă nu există sprijin pentru Nuanțatorul de pixeli 2.0, biliniară simplă este folosită automat."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Pune VMR-9 (fără randare) în mod mixare, aceasta înseamnă că majoritatea controalelor de pe pagina proprie de proprietăți vor funcționa și va folosi un fir de execuţie secundar separat pentru randarea cadrelor."
+msgstr "Pune VMR-9 (fără randare) în modul amestecător, aceasta înseamnă că majoritatea controalelor de pe pagina proprie de proprietăți vor funcționa și va folosi un fir de execuţie secundar separat pentru randarea cadrelor."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -807,7 +811,19 @@ msgstr "Reduce efectul de rupere (tearing), dar împiedică afișarea barei de i
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Reduce efectul de rupere (tearing) prin ocolirea sincronizării verticale (VSync) implicite încorporate în D3D."
+msgstr "Reduce efectul de rupere (tearing) prin ocolirea sincronizării verticale implicite încorporate în D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Scanare prinzător"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Subtitlurile nu sunt încărcate sau randorul este nesprijinit."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Stochează nuanțatoarele compilate în dosarul AppData local pentru a accelera timpul de încărcare."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -815,7 +831,7 @@ msgstr "Deschideți VTS_xx_0.ifo pentru a încărca fișierele VTS_xx_x.vob dint
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
-msgstr "Bazat pe RARFileSource, nu suportă fişiere comprimate"
+msgstr "Bazat pe RARFileSource, nu sprijină fișierele comprimate"
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
@@ -831,19 +847,19 @@ msgstr "Comută bara de navigare"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "VSync precis"
+msgstr "Sincronizare verticală precisă"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Dacă zona ţintă pentru randare este nedefinită, aceasta va fi moştenită din stilul implicit."
+msgstr "Dacă zona ţintă pentru randare este nedefinită, aceasta va fi moștenită din stilul implicit."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Dezactivează animația subtitrărilor. Activarea acestei opțiuni va micșora folosirea procesorului. O puteți folosi dacă întâmpinați subtitrări ce clipesc."
+msgstr "Dezactivează animația subtitlurilor. Activarea acestei opțiuni va reduce folosirea procesorului. O puteți folosi dacă întâmpinați subtitluri ce clipesc."
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Creșterea numărului de imagini subtitrare pentru preîncărcare ar trebui, în general, să îmbunătățească performanța randării, cu costul creșterii memoriei video utilizate de placa video."
+msgstr "Creșterea numărului de imagini subtitlu pentru preîncărcare ar trebui, în general, să îmbunătățească performanța randării, cu costul creșterii memoriei video utilizate de placa video."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -851,7 +867,7 @@ msgstr "După ce dați clic pe acest buton, starea bifată a grupului de formate
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Dezactivarea acestei opțiuni va preveni clipirea subtitrărilor, cu riscul abandonării unor cadre video de către randorul video."
+msgstr "Dezactivarea acestei opțiuni va preveni clipirea subtitlurilor, cu riscul omiterii unor cadre video de către randorul video."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -859,11 +875,11 @@ msgstr "Redă\nRedă"
msgctxt "ID_PLAY_PAUSE"
msgid "Pause\nPause"
-msgstr "Pauză\nPauză"
+msgstr "Pauzează\nPauzează"
msgctxt "ID_PLAY_STOP"
msgid "Stop\nStop"
-msgstr "Stop\nStop"
+msgstr "Oprește\nOprește"
msgctxt "ID_PLAY_FRAMESTEP"
msgid "Step\nStep"
@@ -871,11 +887,11 @@ msgstr "Avansează câte un cadru\nAvansează câte un cadru"
msgctxt "ID_PLAY_DECRATE"
msgid "Decrease speed\nDecrease speed"
-msgstr "Micșorează viteză\nMicșorează viteză"
+msgstr "Micșorare viteză\nMicșorează viteza"
msgctxt "ID_PLAY_INCRATE"
msgid "Increase speed\nIncrease speed"
-msgstr "Mărește viteză\nMărește viteză"
+msgstr "Mărire viteză\nMărește viteza"
msgctxt "ID_VOLUME_MUTE"
msgid "Mute"
@@ -903,7 +919,7 @@ msgstr "&Original"
msgctxt "IDS_SUBRESYNC_CURRENT"
msgid "&Current"
-msgstr "&Curent"
+msgstr "&Actual"
msgctxt "IDS_SUBRESYNC_EDIT"
msgid "&Edit"
@@ -931,11 +947,11 @@ msgstr "Opțiuni"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "&Selectare shadere..."
+msgstr "&Selectare nuanțatoare..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Depanare shadere..."
+msgstr "&Depanare nuanțatoare..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -946,11 +962,11 @@ msgid "&Organize Favorites..."
msgstr "&Organizare favorite..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Amestecă"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Deschide dosarul fișierului"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -963,7 +979,7 @@ msgstr "În redare"
msgctxt "IDS_CONTROLS_PAUSED"
msgid "Paused"
-msgstr "În pauză"
+msgstr "Pauzat"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
@@ -999,23 +1015,23 @@ msgstr "EDL: Punct de ieșire"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
-msgstr "PnS: Rotație X-"
+msgstr "Panoramare trunchiată: Rotește X-"
msgctxt "IDS_AG_PNS_ROTATEY_P"
msgid "PnS Rotate Y+"
-msgstr "PnS: Rotație Y+"
+msgstr "Panoramare trunchiată: Rotește Y+"
msgctxt "IDS_AG_PNS_ROTATEY_M"
msgid "PnS Rotate Y-"
-msgstr "PnS: Rotație Y-"
+msgstr "Panoramare trunchiată: Rotește Y-"
msgctxt "IDS_AG_PNS_ROTATEZ_P"
msgid "PnS Rotate Z+"
-msgstr "PnS: Rotație Z+"
+msgstr "Panoramare trunchiată: Rotește Z+"
msgctxt "IDS_AG_PNS_ROTATEZ_M"
msgid "PnS Rotate Z-"
-msgstr "PnS: Rotație Z-"
+msgstr "Panoramare trunchiată: Rotește Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
@@ -1034,7 +1050,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Scalează pentru ecran ultra-lat,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Ascunde în modul ecran complet"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1155,39 +1171,39 @@ msgstr "Deschide fișier"
msgctxt "IDS_AG_OPEN_DVD"
msgid "Open DVD/BD"
-msgstr "Deschide DVD/BD"
+msgstr "Deschide disc DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "Eșuare la setarea shaderelor post-redimensionare"
+msgstr "Eșuare la stabilirea nuanțatoarelor post-redimensionare"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr "Eșuare la setarea shaderelor pre-redimensionare și post-redimensionare"
+msgstr "Eșuare la stabilirea nuanțatoarelor pre-redimensionare și post-redimensionare"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr "Shaderele sunt recompilate automat atunci când fișierele corespunzătoare sunt modificate."
+msgstr "Nuanțatoarele sunt recompilate automat atunci când fișierele corespunzătoare sunt modificate."
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr "Nu se poate încărca %s, shaderele pixeli nu vor funcționa."
+msgstr "Nu se poate încărca %s, nuanțatoarele de pixeli nu vor funcționa."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr "Nu se pot găsi punctele de intrare necesare ale funcției în %s, shaderele pixeli nu vor funcționa."
+msgstr "Nu se pot găsi punctele de intrare ale funcției necesare în %s, nuanțatoarele de pixeli nu vor funcționa."
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr "Setare prestabilită pentru shader: %s"
+msgstr "Prestabilire nuanțator: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr "Următoarea setare prestabilită pentru shader"
+msgstr "Următoarea prestabilire nuanțator"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr "Precedenta setare prestabilită pentru shader"
+msgstr "Precedenta prestabilire nuanțator"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Adaugă dosar cu conținut"
msgctxt "IDS_HW_INDICATOR"
@@ -1239,11 +1255,11 @@ msgstr "Rata de redare"
msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
msgid "&Copy filters list to clipboard"
-msgstr "&Copiază lista de filtre în clipboard"
+msgstr "&Copiază lista de filtre în zona de transfer"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
-msgstr "Introduceți datele de autentificare pe server"
+msgstr "Introduceți datele de autentificare pe servitor"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
@@ -1255,15 +1271,15 @@ msgstr "Salvează stil personalizat"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
-msgstr "Educaţie/Ştiinţă/Subiecte actuale"
+msgstr "Educaţie/Știinţă/Subiecte actuale"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr "Ascunde controale şi panouri de asemenea în modul fereastră."
+msgstr "Ascunde controalele și panourile și în modul fereastră."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "Împiedică încărcarea randorului extern de subtitrări când cel intern este în folosinţă."
+msgstr "Împiedică încărcarea randorului extern de subtitluri când cel intern este în folosinţă."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1275,7 +1291,7 @@ msgstr "Valoare"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr "Numărul maxim de fişiere afişate în meniul „Fişiere recente” şi a căror poziţie este posibil să fie salvată."
+msgstr "Numărul maxim de fișiere afișate în meniul „Fișiere recente” și a căror poziţie este posibil să fie salvată."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
@@ -1295,7 +1311,7 @@ msgstr "Redă următorul fișier din dosar"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
-msgstr "Derulează înapoi fișierul curent"
+msgstr "Derulează înapoi fișierul actual"
msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
msgid "Close"
@@ -1303,7 +1319,7 @@ msgstr "Închide"
msgctxt "IDS_AFTER_PLAYBACK_EXIT"
msgid "Exit"
-msgstr "Ieșire"
+msgstr "Închide programul"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
@@ -1323,7 +1339,7 @@ msgstr "Mărimea maximă (NxN px) a unei coperți de album în timpul redării u
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "Întârzierea subtitrării va scade/crește cu această valoare de fiecare dată când tastele rapide corespunzătoare vor fi utilizate (%s/%s)."
+msgstr "Întârzierea subtitlului va scade/crește cu această valoare de fiecare dată când tastele rapide corespunzătoare vor fi utilizate (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
@@ -1379,7 +1395,7 @@ msgstr "Precizie ridicată"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr "După redare: Derulează înapoi fișierul curent"
+msgstr "După redare: Derulează înapoi fișierul actual"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
@@ -1403,7 +1419,7 @@ msgstr "Această opțiune poate fi folosită pentru a previzualiza fișiere medi
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr "Randor subtitrări intern"
+msgstr "Randor subtitluri intern"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Imagine salvată cu succes"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Încarcă subtitrare"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Încărcare subtitluri..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Salvează subtitrare"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Salvare subtitluri..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1443,11 +1459,11 @@ msgstr "Ieșire"
msgctxt "IDS_AG_PLAYPAUSE"
msgid "Play/Pause"
-msgstr "Redă/Pauză"
+msgstr "Redă/Pauzează"
msgctxt "IDS_AG_PLAY"
msgid "Play"
-msgstr "Redă"
+msgstr "Redare"
msgctxt "IDS_AG_STOP"
msgid "Stop"
@@ -1531,7 +1547,7 @@ msgstr "Arată când se trece peste controale, ascunde după:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr "Eșuare la setarea shaderelor pre-redimensionare"
+msgstr "Eșuare la stabilirea nuanțatoarelor pre-redimensionare"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
@@ -1543,22 +1559,22 @@ msgstr "Corecție de timp a cadrelor: Dezactivată"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Decalaj VSync vizat: %.1f"
+msgstr "Decalaj sincronizare verticală vizată: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
-msgstr "Decalaj VSync: %d"
+msgstr "Decalaj sincronizare verticală: %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
-msgstr "Viteză redare: %.2lfx"
+msgstr "Viteză de redare: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
msgstr "Miniaturi salvate cu succes"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Pistă &video"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1567,19 +1583,19 @@ msgstr "Un&ghi video"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
-msgstr "Resetează setările"
+msgstr "Restabilește stabilirile"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Sigur doriți să restaurați MPC-HC la setările implicite?\nTrebuie să știți că TOATE setările curente vor fi pierdute!"
+msgstr "Sigur doriți să restaurați MPC-HC la stabilirile lui implicite?\nTrebuie să știți că TOATE stabilirile (configurările) actuale vor fi pierdute!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Închideți toate instanțele programului MPC-HC pentru ca setările implicite să poată fi restaurate."
+msgstr "Închideți toate instanțele programului MPC-HC pentru ca stabilirile implicite să poată fi restaurate."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
-msgstr "Exportă setările"
+msgstr "Exportă stabilirile"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
@@ -1587,7 +1603,7 @@ msgstr "Unele modificări nu au fost încă salvate.\nDoriți să le salvați î
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
-msgstr "Setările au fost exportate cu succes."
+msgstr "Stabilirile au fost exportate cu succes."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
@@ -1603,7 +1619,7 @@ msgstr "Micșorează rata"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Resetează rata"
+msgstr "Restabilește rata"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
@@ -1667,19 +1683,19 @@ msgstr "Comută ecran complet Direct3D"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Du-te la subtitrarea anterioară"
+msgstr "Du-te la subtitlul anterior"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Du-te la subtitrarea următoare"
+msgstr "Du-te la subtitlul următor"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
-msgstr "Deplasează subtitrarea la stânga"
+msgstr "Deplasează subtitlul la stânga"
msgctxt "IDS_MPLAYERC_103"
msgid "Shift Subtitle Right"
-msgstr "Deplasează subtitrarea la dreapta"
+msgstr "Deplasează subtitlul la dreapta"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
@@ -1691,7 +1707,7 @@ msgstr "OSD: Arată numele fișierului"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr "Redare DVD"
+msgstr "Redare disc DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
@@ -1703,11 +1719,11 @@ msgstr "OSD: Afișează statistici randor"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
-msgstr "OSD: Resetează statistici randor"
+msgstr "OSD: Restabilire statistici randor"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Subtitrări::Diverse"
+msgstr "Subtitluri::Diverse"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
@@ -1723,11 +1739,11 @@ msgstr "&Arată Titlu && Meniu"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
-msgstr "Ascunde &meniu"
+msgstr "Ascunde &meniul"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr "Avansat"
+msgstr "Avansate"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
@@ -1771,31 +1787,31 @@ msgstr "Întotdeauna în prim plan"
msgctxt "IDS_AG_PNS_INC_SIZE"
msgid "PnS Inc Size"
-msgstr "PnS: Crește mărimea"
+msgstr "Panoramare trunchiată: Crește mărimea"
msgctxt "IDS_AG_PNS_INC_WIDTH"
msgid "PnS Inc Width"
-msgstr "PnS: Crește lățimea"
+msgstr "Panoramare trunchiată: Crește lățimea"
msgctxt "IDS_MPLAYERC_47"
msgid "PnS Inc Height"
-msgstr "PnS: Crește înălțimea"
+msgstr "Panoramare trunchiată: Crește înălțimea"
msgctxt "IDS_AG_PNS_DEC_SIZE"
msgid "PnS Dec Size"
-msgstr "PnS: Scade mărimea"
+msgstr "Panoramare trunchiată: Scade mărimea"
msgctxt "IDS_AG_PNS_DEC_WIDTH"
msgid "PnS Dec Width"
-msgstr "PnS: Scade lățimea"
+msgstr "Panoramare trunchiată: Scade lățimea"
msgctxt "IDS_MPLAYERC_50"
msgid "PnS Dec Height"
-msgstr "PnS: Scade înălțimea"
+msgstr "Panoramare trunchiată: Scade înălțimea"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Descărcare subtitrare/subtitrări, vă rugăm să aşteptaţi."
+msgid "Downloading [%s] \"%s\""
+msgstr "Se descarcă [%s] „%s”"
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1803,11 +1819,11 @@ msgstr "Analizare listă..."
msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
msgid "No subtitles found."
-msgstr "Nu s-au găsit subtitrări."
+msgstr "Nu s-au găsit subtitluri."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
msgid "%d subtitle(s) available."
-msgstr "Nr. subtitrări disponibile: %d"
+msgstr "Nr. de subtitluri disponibile: %d"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -1843,7 +1859,7 @@ msgstr "Scalare: Automată (doar cele mari)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
-msgstr "Dublu-clic pentru a deschide dosarul fişierului"
+msgstr "Clic dublu pentru a deschide dosarul fișierului"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
@@ -1855,43 +1871,43 @@ msgstr "Întârzierea nu este validă"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
-msgstr "Introduceţi un număr între 1 şi 365."
+msgstr "Introduceţi un număr între 1 și 365."
msgctxt "IDS_AG_PNS_CENTER"
msgid "PnS Center"
-msgstr "PnS: Centrare"
+msgstr "Panoramare trunchiată: Centrează"
msgctxt "IDS_AG_PNS_LEFT"
msgid "PnS Left"
-msgstr "PnS: Deplasare la stânga"
+msgstr "Panoramare trunchiată: Deplasează la stânga"
msgctxt "IDS_AG_PNS_RIGHT"
msgid "PnS Right"
-msgstr "PnS: Deplasare la dreapta"
+msgstr "Panoramare trunchiată: Deplasează la dreapta"
msgctxt "IDS_AG_PNS_UP"
msgid "PnS Up"
-msgstr "PnS: Deplasare în sus"
+msgstr "Panoramare trunchiată: Deplasează în sus"
msgctxt "IDS_AG_PNS_DOWN"
msgid "PnS Down"
-msgstr "PnS: Deplasare în jos"
+msgstr "Panoramare trunchiată: Deplasează în jos"
msgctxt "IDS_AG_PNS_UPLEFT"
msgid "PnS Up/Left"
-msgstr "PnS: Deplasare în Sus/Stânga"
+msgstr "Panoramare trunchiată: Deplasează în sus/stânga"
msgctxt "IDS_AG_PNS_UPRIGHT"
msgid "PnS Up/Right"
-msgstr "PnS: Deplasare în Sus/Drepta"
+msgstr "Panoramare trunchiată: Deplasează în sus/drepta"
msgctxt "IDS_AG_PNS_DOWNLEFT"
msgid "PnS Down/Left"
-msgstr "PnS: Deplasare în Jos/Stânga"
+msgstr "Panoramare trunchiată: Deplasează în jos/stânga"
msgctxt "IDS_MPLAYERC_59"
msgid "PnS Down/Right"
-msgstr "PnS: Deplasare în Jos/Dreapta"
+msgstr "Panoramare trunchiată: Deplasare în jos/dreapta"
msgctxt "IDS_AG_VOLUME_UP"
msgid "Volume Up"
@@ -1915,7 +1931,7 @@ msgstr "Meniu DVD principal"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
-msgstr "Meniu DVD pentru subtitrări"
+msgstr "Meniu DVD pentru subtitluri"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
@@ -1955,7 +1971,7 @@ msgstr "Meniu DVD: înapoi"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "Meniu DVD: ieşire"
+msgstr "Meniu DVD: ieșire"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
@@ -1987,19 +2003,19 @@ msgstr "Pista audio precedentă"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr "Subtitrarea următoare"
+msgstr "Subtitlul următor"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr "Subtitrarea precedentă"
+msgstr "Subtitlul precedent"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Activare/Dezactivare subtitrare"
+msgstr "Activare/Dezactivare subtitlu"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
-msgstr "Reîncarcă subtitrările"
+msgstr "Reîncarcă subtitlurile"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
@@ -2019,19 +2035,19 @@ msgstr "Precedenta pistă audio (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr "Subtitrarea următoare (DVD)"
+msgstr "Subtitlul următor (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr "Subtitrarea precedentă (DVD)"
+msgstr "Subtitlul precedent (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "Activare/Dezactivare subtitrare (DVD)"
+msgstr "Activare/Dezactivare subtitlu (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
-msgstr "OSD: Afișează ora curentă"
+msgstr "OSD: Afișează ora actuală"
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Criptat"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Da"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nu"
@@ -2091,11 +2107,11 @@ msgstr "Focalizare pierdută la: %s - %s"
msgctxt "IDS_AG_SUBTITLES_SAVED"
msgid "Subtitles saved"
-msgstr "Subtitrări salvate"
+msgstr "Subtitluri salvate"
msgctxt "IDS_MAINFRM_4"
msgid "Cannot save subtitles"
-msgstr "Subtitrările nu pot fi salvate"
+msgstr "Subtitlurile nu pot fi salvate"
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
@@ -2123,7 +2139,7 @@ msgstr "Unghi: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
msgid "%s, %s %u Hz %d bits %d %s"
-msgstr "%s, %s %uHz %dbiți %d %s"
+msgstr "%s, %s %uHz %d biți %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2139,7 +2155,7 @@ msgstr "MPC-HC nu are destule drepturi pentru a schimba asocierea cu formatele d
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC este un player media pentru Windows, ce necesită extrem de puține resurse și are sursă publică. Suportă toate formatele comune de fișiere audio și video disponibile pentru redare. Suntem 100% curați în privința programelor de spionare, nu există reclame sau bare de instrumente externe."
+msgstr "MPC-HC este un player media pentru Windows, ce necesită extrem de puține resurse și are sursă publică. Sprijină toate formatele comune de fișiere audio și video disponibile pentru redare. Suntem 100% curați în privința programelor de spionare, nu există reclame sau bare de instrumente externe."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2191,7 +2207,7 @@ msgstr "Această opțiune a fost proiectată pentru a evita efectul de rupere (t
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Întârziere subtitrare: %ld ms"
+msgstr "Întârziere subtitlu: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2199,7 +2215,7 @@ msgstr "Titlu: %02d/%02d"
msgctxt "IDS_REALVIDEO_INCOMPATIBLE"
msgid "Filename contains unsupported characters (use only A-Z, 0-9)"
-msgstr "Numele fișierului conține caractere nesuportate (folosiți doar A-Z, 0-9)"
+msgstr "Numele fișierului conține caractere nesprijinite (folosiți doar A-Z, 0-9)"
msgctxt "IDS_THUMB_ROWNUMBER"
msgid "Rows:"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Lățime imagine:"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL-ul este corect."
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Nepotrivire versiune protocol, actualizați playerul sau alegeți o altă adresă!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Raport de aspect"
@@ -2255,11 +2263,11 @@ msgstr "Eroare"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
-msgstr "Subtitrare: oprită"
+msgstr "Subtitlu: oprit"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
-msgstr "Subtitrare: %s"
+msgstr "Subtitlu: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
@@ -2267,7 +2275,7 @@ msgstr "Selectați calea către DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr " încărcată cu succes"
+msgstr " încărcat cu succes"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2279,7 +2287,7 @@ msgstr "GetDIB a eșuat, hr = %08x"
msgctxt "IDS_GETCURRENTIMAGE_FAILED"
msgid "GetCurrentImage failed, hr = %08x"
-msgstr "Obţinerea cadrului curent a eșuat, hr = %08x"
+msgstr "Obţinerea cadrului actual a eșuat, hr = %08x"
msgctxt "IDS_SCREENSHOT_ERROR"
msgid "Cannot create file"
@@ -2314,20 +2322,20 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Miniaturile ar fi prea mici, imposibil de creat fișierul.\n\nÎncercați să micșorați numărul de miniaturi sau să măriți dimensiunea totală."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Pentru a încărca subtitrări trebuie să schimbați tipul randorului video și să redeschideți fișierul.\n- DirectShow: VMR-7/VMR-9 (fără randare), EVR (CP), Sync, madVR sau Haali\n- RealMedia: Randor special pentru RealMedia sau deschideţi cu DirectShow\n- QuickTime: Randor DX7 sau DX9 pentru QuickTime\n- ShockWave: indisponibil"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Pentru a încărca subtitluri trebuie să schimbați tipul randorului video și să redeschideți fișierul.\n- DirectShow: VMR-9 (fără randare), EVR (CP), Sincronizare, madVR sau Haali\n- RealMedia: Randor special pentru RealMedia sau deschideți cu DirectShow\n- QuickTime: Randor DX7 sau DX9 pentru QuickTime\n- ShockWave: indisponibil"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
-msgstr "Fişiere subtitrare"
+msgstr "Fișiere subtitlu"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
msgstr "Raport de aspect: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Raport de aspect: Implicit"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Raport de aspect: Implicit (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2335,7 +2343,7 @@ msgstr "Întârziere audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
-msgstr "Capitol %d"
+msgstr "Capitolul %d"
msgctxt "IDS_AG_OUT_OF_MEMORY"
msgid "Out of memory"
@@ -2347,7 +2355,7 @@ msgstr "Eroare: Este necesar Adobe Flash Player pentru Internet Explorer"
msgctxt "IDS_MAINFRM_78"
msgid "QuickTime not yet supported for X64 (apple library not available)"
-msgstr "QuickTime nu este încă compatibil cu X64 (librăria Apple nu este disponibilă)"
+msgstr "QuickTime nu este încă sprijinit pentru X64 (librăria Apple nu este disponibilă)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Fișierul nu a putut fi randat"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL nevalid, baza de date a subtitrărilor nu a putut fi localizată!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Capitol: "
@@ -2387,7 +2391,7 @@ msgstr "Balans: %s"
msgctxt "IDS_FULLSCREENMONITOR_CURRENT"
msgid "Current"
-msgstr "Curent"
+msgstr "Actual"
msgctxt "IDS_MAINFRM_DIR_TITLE"
msgid "Select Directory"
@@ -2503,7 +2507,7 @@ msgstr "Necunoscut %u"
msgctxt "IDS_AG_VSYNC"
msgid "VSync"
-msgstr "Activează VSync (Sincronizare verticală)"
+msgstr "Activează sincronizarea verticală"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
@@ -2515,7 +2519,7 @@ msgstr " (Comentarii regizor 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "Activează subtitrări DVD"
+msgstr "Activează subtitluri DVD"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2523,7 +2527,7 @@ msgstr "Unghi %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Mărește decalaj VSync"
+msgstr "Mărește decalajul sincronizării verticale"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2531,7 +2535,7 @@ msgstr "Dezactivat"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
-msgstr "Micșorează decalaj VSync"
+msgstr "Micșorează decalajul sincronizării verticale"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
@@ -2543,7 +2547,7 @@ msgstr "Format necunoscut"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Decalaj subtitrare: %ld ms"
+msgstr "Decalaj subtitlu: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Amplificare volum maximă"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilizare: mpc-hc.exe \"cale\" [comutatoare]\n\n\"cale\"\t\tFișierul principal sau directorul ce trebuie încărcat (metacaractere\n\t\tpermise, \"-\" indică intrare standard)\n/dub \"dublaj\"\tÎncarcă un fișier audio adițional\n/dubdelay \"fișier\"\tÎncarcă un fișier audio adițional decalat cu XXms (dacă\n\t\tfișierul conține \"...DELAY XXms...\")\n/d3dfs\t\tPornește randarea în mod ecran complet D3D\n/sub \"subtitrare\"\tÎncarcă o subtitrare adițională\n/filter \"filtru\"\tÎncarcă filtre DirectShow dintr-o librărie\n\t\tcu încărcare dinamică (metacaractere permise)\n/dvd\t\tRulează în mod DVD, \"cale\" înseamnă dosarul\n\t\tdvd-ului (opțional)\n/dvdpos T#C\tPornește redarea de la titlul T, capitolul C\n/dvdpos T#hh:mm\tPornește redarea de la titlul T, poziția hh:mm:ss\n/cd\t\tÎncarcă toate pistele unui CD audio sau (S)VCD,\n\t\t\"cale\" înseamnă calea unității (opțional)\n/device\t\tDeschide dispozitivul video implicit\n/open\t\tDeschide fișierul, nu porni redarea în mod automat\n/play\t\tÎncepe redarea fișierului imediat ce playerul este lansat\n/close\t\tÎnchide playerul după redare (funcționează doar când\n\t\teste folosit cu /play)\n/shutdown\tÎnchide sistemul după redare\n/standby\t\tIntră în repaus după redare\n/hibernate\tIntră în hibernare după redare\n/logoff\t\tÎnchide sesiunea după redare\n/lock\t\tBlochează desktopul după redare\n/monitoroff\tÎnchide monitorul după redare\n/playnext\t\tRedă următorul fișier din dosar după redare\n/fullscreen\tPornește în modul ecran complet\n/minimized\tPornește în modul minimizat\n/new\t\tFolosește o instanță nouă a playerului\n/add\t\tAdaugă \"cale\" la lista de redare, poate fi combinat\n\t\tcu /open și /play\n/randomize\tRedă lista aleatoriu\n/regvid\t\tCreează asocieri de fișiere pentru fișiere video\n/regaud\t\tCreează asocieri de fișiere pentru fișiere audio\n/regpl\t\tCreează asocieri de fișiere pentru fișiere listă de redare\n/regall\t\tCreează asocieri de fișiere pentru toate tipurile de fișiere suportate\n/unregall\t\tElimină toate asocierile de fișiere\n/start ms\t\tPornește redarea la \"ms\" (= milisecunde)\n/startpos hh:mm:ss\tPornește redarea la poziția hh:mm:ss\n/fixedsize L,l\tSetează o dimensiune fixă Lxl pentru fereastră\n/monitor N\tPornește redarea pe monitorul N, unde N începe de la 1\n/audiorenderer N\tPornește folosind randorul audio N, unde N începe de la 1\n\t\t(vedeți setările \"Ieșire\")\n/shaderpreset \"Pr\"\tPornește folosind setarea predefinită \"Pr\" pentru shader\n/pns \"nume\"\tSpecifică numele setării predefinite Pan&Scan ce va fi folosită\n/iconsassoc\tReasociază iconițele specifice formatelor\n/nofocus\t\tDeschide MPC-HC în fundal\n/webport N\tPornește interfața web pe portul specificat\n/debug\t\tArată informații de depanare în OSD\n/nocrashreporter\tDezactivează raportorul de defecte\n/slave \"hWnd\"\tFolosește MPC-HC în modul sclav sau dependent\n/hwgpu \"index\"\tSetează indexul plăcii grafice (GPU) ce va fi folosită pentru decodare hardware\n\t\tDisponibil doar pentru CUVID și DXVA2 (copy-back)\n/reset\t\tRestaurează setări implicite\n/help /h /?\tArată ajutor pentru comutatoarele din linia de comandă\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Utilizare: mpc-hc.exe \"cale\" [comutatoare]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2583,7 +2587,7 @@ msgstr "Comută stare"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Comută bara de resincronizare subtitrări"
+msgstr "Comută bara de resincronizare subtitluri"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
@@ -2595,7 +2599,7 @@ msgstr "Comută bara de captură"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr "Comută depanatorul de shadere"
+msgstr "Comută depanatorul de nuanțatoare"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2627,11 +2631,11 @@ msgstr "Cadru video: Atinge fereastra din exterior"
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "Reseteză PnS (Pan & Scan)"
+msgstr "Restabilește Panoramarea trunchiată"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
-msgstr "PnS: Rotație X+"
+msgstr "Panoramare trunchiată: Rotește X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
@@ -2649,21 +2653,13 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "Activ&ează toate filtrele"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Scanare tuner"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Subtitrările nu sunt încărcate sau randorul nu este suportat."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor necunoscut. Dacă ai făcut acest logo, contactează-ne!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "Nu mai există media în dosarul curent."
+msgstr "Nu mai există fișiere media în dosarul actual."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
@@ -2763,7 +2759,7 @@ msgstr "Aplică"
msgctxt "IDS_CLEAR"
msgid "Clear"
-msgstr "Goleşte"
+msgstr "Golește"
msgctxt "IDS_CANCEL"
msgid "Cancel"
@@ -3027,7 +3023,7 @@ msgstr "Arhivă RAR"
msgctxt "IDS_DVB_CHANNEL_FPS"
msgid "FPS"
-msgstr "FPS"
+msgstr "CPS (cadre pe secundă)"
msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
msgid "Resolution"
@@ -3039,19 +3035,19 @@ msgstr "Raport de aspect"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
-msgstr "VSync: Activat"
+msgstr "Sincronizare verticală: Activată"
msgctxt "IDS_OSD_RS_VSYNC_OFF"
msgid "VSync: Off"
-msgstr "VSync: oprit"
+msgstr "Sincronizare verticală: dezactivată"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr "VSync precis: Activat"
+msgstr "Sincronizare verticală precisă: Activată"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr "VSync precis: Dezactivat"
+msgstr "Sincronizare verticală precisă: dezactivată"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
@@ -3071,19 +3067,19 @@ msgstr "Sincronizare afișare cu video: Dezactivată"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
-msgstr "Prezentare la cel mai apropiat VSync: Activată"
+msgstr "Prezentare la cel mai apropiată sincronizare verticală: Activată"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
msgid "Present at Nearest VSync: Off"
-msgstr "Prezentare la cel mai apropiat VSync: Dezactivată"
+msgstr "Prezentare la cel mai apropiată sincronizare verticală: Dezactivată"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
-msgstr "Administrare culori: Activată"
+msgstr "Gestionare culori: Activată"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr "Administrare culori: Dezactivată"
+msgstr "Gestionare culori: Dezactivată"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
@@ -3103,7 +3099,7 @@ msgstr "Tip de intrare: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
-msgstr "Lumină ambientală: Luminos (2.2 Gamma)"
+msgstr "Lumină ambientală: Luminoasă (2.2 Gamma)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
msgid "Ambient Light: Dim (2.35 Gamma)"
@@ -3111,7 +3107,7 @@ msgstr "Lumină ambientală: Estompat (2.35 Gamma)"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
msgid "Ambient Light: Dark (2.4 Gamma)"
-msgstr "Lumină ambientală: Întunecat (2.4 Gamma)"
+msgstr "Lumină ambientală: Întunecată (2.4 Gamma)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
@@ -3119,7 +3115,7 @@ msgstr "Intenţie de randare: Perceptual"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
-msgstr "Intenţie de randare: Colorimetric relativ"
+msgstr "Intenţie de randare: Colorimetrică relativă"
msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
msgid "Rendering Intent: Saturation"
@@ -3127,7 +3123,7 @@ msgstr "Intenţie de randare: Saturație"
msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
msgid "Rendering Intent: Absolute Colorimetric"
-msgstr "Intenţie de randare: Colorimetric absolut"
+msgstr "Intenţie de randare: Colorimetrică absolută"
msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
msgid "Output Range: %s"
@@ -3135,27 +3131,27 @@ msgstr "Interval de ieșire: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr "Golire GPU înainte de VSync: Activată"
+msgstr "Golire unitate grafică înainte de sincronizarea verticală: Activată"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
-msgstr "Golire GPU înainte de VSync: Dezactivată"
+msgstr "Golire unitate grafică înainte de sincronizarea verticală: Dezactivată"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
-msgstr "Golire GPU după prezentare: Activată"
+msgstr "Golire unitate grafică după prezentare: Activată"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
msgid "Flush GPU after Present: Off"
-msgstr "Golire GPU după prezentare: Dezactivată"
+msgstr "Golire unitate grafică după prezentare: Dezactivată"
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
-msgstr "Așteptare golire GPU: Activată"
+msgstr "Așteptare golire unitate grafică: Activată"
msgctxt "IDS_OSD_RS_WAIT_OFF"
msgid "Wait for GPU Flush: Off"
-msgstr "Așteptare golire GPU: Dezactivată"
+msgstr "Așteptare golire unitate grafică: Dezactivată"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
@@ -3175,19 +3171,19 @@ msgstr "Dezactivare compoziție desktop (Aero): Nu"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr "VSync alternativ: Activat"
+msgstr "Sincronizare verticală alternativă: Activată"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr "VSync alternativ: Dezactivat"
+msgstr "Sincronizare verticală alternativă: Dezactivată"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Setările randorului resetate la implicit"
+msgstr "Stabilirile randorului restabilite la implicite"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Setările randorului resetate la optim"
+msgstr "Stabilirile randorului restabilite la optime"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
@@ -3259,7 +3255,7 @@ msgstr "Micșorare saturație"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
-msgstr "Resetează setările de culoare"
+msgstr "Restabilește stabilirile de culoare"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
@@ -3267,7 +3263,7 @@ msgstr "\nFolosiţi deja ultima versiune stabilă."
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Versiunea dumneavoastră curentă este v%s.\n\nUltima versiune stabilă este v%s."
+msgstr "Versiunea dumneavoastră actuală este v%s.\n\nUltima versiune stabilă este v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
@@ -3275,7 +3271,7 @@ msgstr "MPC-HC v%s este disponibil acum. Folosiţi v%s.\n\nDoriţi să vizitaţi
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Serverul pentru actualizare nu a fost găsit.\n\nVerificaţi conexiunea la internet sau încercaţi mai târziu."
+msgstr "Servitorul de actualizări nu a fost găsit.\n\nVerificaţi conexiunea la internet sau încercaţi mai târziu."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3331,23 +3327,23 @@ msgstr "octeți"
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
-msgstr "KB"
+msgstr "KO"
msgctxt "IDS_SIZE_UNIT_M"
msgid "MB"
-msgstr "MB"
+msgstr "MO"
msgctxt "IDS_SIZE_UNIT_G"
msgid "GB"
-msgstr "GB"
+msgstr "GO"
msgctxt "IDS_SPEED_UNIT_K"
msgid "KB/s"
-msgstr "KB/s"
+msgstr "KO/s"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
-msgstr "MB/s"
+msgstr "MO/s"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
@@ -3403,11 +3399,7 @@ msgstr "Funcțiile „Salvează imagine” și „Salvează miniaturi” nu func
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Funcțiile „Salvează imagine” și „Salvează miniaturi” nu funcționează cu randorul video Overlay Mixer.\nSchimbați randorul video în opțiunile de ieșire ale MPC și redeschideți fișierul."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Nu se poate conecta la baza de subtitrări online."
+msgstr "Funcțiile „Salvare imagine” și „Salvare miniaturi” nu funcționează cu randorul video amestecător strat suprapus.\nSchimbați randorul video în opțiunile de ieșire ale MPC și redeschideți fișierul."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
@@ -3475,7 +3467,7 @@ msgstr "Acest tip se află deja în listă!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr "Trebuie să aplicați noile setări înainte de a le testa."
+msgstr "Trebuie să aplicați noile stabiliri înainte de a le testa."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
@@ -3531,11 +3523,11 @@ msgstr "Saturație: %s"
msgctxt "IDS_OSD_RESET_COLOR"
msgid "Color settings restored"
-msgstr "Setările de culoare au fost restaurate"
+msgstr "Stabilirile de culoare au fost restaurate"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
-msgstr "Controalele de culoare nu sunt suportate"
+msgstr "Controalele de culoare nu sunt sprijinite"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
@@ -3591,7 +3583,7 @@ msgstr "Anulează toate asocierile"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
-msgstr "Setări"
+msgstr "Stabiliri"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Furnizor"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Cu probleme de auz"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Descărcări"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Scor"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Căutarea pe Internet a subtitlurilor a eșuat."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Căutarea pe Internet a subtitlurilor a fost abandonată."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Căutarea pe Internet a subtitlurilor s-a terminat, %d subtitluri găsite."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Căutarea pe Internet a subtitlurilor s-a terminat, niciun subtitlu găsit."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Descarcă subtitluri"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Se caută subtitluri pe Internet, așteptați..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Se abandonează căutarea pe Internet a subtitlurilor..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Nume de utilizator"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Stare"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Pregătit..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Neimplementat."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Se încarcă..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Subtitlurile au fost încărcate cu succes."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Încărcarea subtitlurilor a eșuat."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Încărcarea subtitlurilor a fost abantodonată."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Subtitlurile există deja."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Se descarcă subtitluri, așteptați..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Încărcare terminată."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Încărcare abandonată."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Încărcare eșuată."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Descarcă && Deschide"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Configurare"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Restabilește"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Mută în sus"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Mută în jos"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Deschide URL-ul"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Limbi"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "EROARE: Conexiunea la Internet nu a putut fi stabilită."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Introduceți datele de autentificare pe site web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Introduceți datele de autentificare pentru a vă conecta la: "
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Raport de aspect: Presupune că pixelii sunt pătrați (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Descărcat [%s] „%s”"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Încarcă subtitluri"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Sigur doriți să încărcați fișierul subtitlu „%s”?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Se obțin limbile sprijinite..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Autentificarea pe „%S” cu numele de utilizator „%S” a eșuat.\n\nIntroduceți numele de utilizator sau parola corectă sau restabiliți datele de conectare pentru a vă autentifica ca un utilizator anonim."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Căutarea și descărcarea automată va fi dezactivată pentru toate fișierele media ale căror cale conține oricare dintre tiparele introduse aici.\nDe exemplu, tip: „private dir\\videos|work\\”."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"cale\"\tFișierul sau directorul principal ce trebuie încărcat\n\t\t(metacaractere permise, \"-\" indică intrare standard)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dublaj\"\tÎncarcă un fișier audio adițional"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"fișier\"\tÎncarcă un fișier audio adițional decalat cu XXms\n\t\t(dacă fișierul conține \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tPornește randarea în mod ecran complet D3D"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subtitlu\"\tÎncarcă un fișier subtitlu adițional"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtru\"\tÎncarcă filtre DirectShow dintr-o librărie cu încărcare dinamică (metacaractere permise)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tRulează în mod DVD, \"cale\" înseamnă dosarul DVD-ului (opțional)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tPornește redarea de la titlul T, capitolul C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tPornește redarea de la titlul T, poziția P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tÎncarcă toate pistele unui CD audio sau (S)VCD,\n\t\t\"cale\" înseamnă calea unității (opțional)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tDeschide dispozitivul video implicit"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tDeschide fișierul, nu porni redarea în mod automat"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tÎncepe redarea fișierului imediat ce playerul este lansat"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tÎnchide playerul după redare (funcționează doar când este folosit cu /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tÎnchide sistemul după redare"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tIntră în repaus după redare"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tIntră în hibernare după redare"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tÎnchide sesiunea după redare"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tBlochează desktopul după redare"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tÎnchide monitorul după redare"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tDeschide următorul fișier din dosar după redare"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tPornește în modul ecran complet"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tPornește în modul minimizat"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tFolosește o instanță nouă a playerului"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tAdaugă \"cale\" la lista de redare, poate fi combinat cu /open și /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tRedă lista aleatoriu"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tCreează asocieri de fișiere pentru fișiere video"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tCreează asocieri de fișiere pentru fișiere audio"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tCreează asocieri de fișiere pentru fișiere listă de redare"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tCreează asocieri de fișiere pentru toate tipurile de fișiere sprijinite"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tElimină toate asocierile de fișiere"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tPornește redarea la \"ms\" (= milisecunde)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tPornește redarea la poziția hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize L,Î\tStabilește o dimensiune fixă LxÎ pentru fereastră"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tPornește redarea pe monitorul N, unde N începe de la 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tPornește folosind randorul audio N, unde N începe de la 1 (vedeți setările \"Ieșire\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tPornește folosind prestabilirea „Pr” pentru nuanțator"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"nume\"\tSpecifică numele prestabilirii panoramării trunchiate ce va fi folosită"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tReasociază pictogramele specifice formatelor"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tDeschide MPC-HC în fundal"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tPornește interfața web pe portul specificat"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tArată informații de depanare în OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tDezactivează raportorul de defecte"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tFolosește MPC-HC în modul sclav sau dependent"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tStabilește indexul plăcii grafice ce va fi folosită pentru decodare prin componentă fizică.\n\t\tDisponibil doar pentru CUVID și DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tRestaurează stabilirile implicite"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tArată ajutor pentru comutatoarele din linia de comandă"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Valoarea limită pentru scorul subtitlurilor ce vor fi descărcate automat. Valorile mai mari corespund încărcării acelor subtitluri ce se potrivesc cu mai multă acuratețe, valorile mai mici pot rezulta în încărcarea unor subtitluri incorecte, însă nu există o valoare perfectă. Alegeți acea valoare ce funcționează cel mai bine pentru dumneavoastră."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Întârziere audio (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Mărimea în pixeli a barei de instrumente implicite."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Folosește bara de instrumente tradițională în locul celei noi vectoriale."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
index db6e64ba6..6fef97896 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
@@ -1,22 +1,24 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
# Arkady Shapkin <arkadiy_s@inbox.ru>, 2015
# birkoff <birkoff.anarchist@gmail.com>, 2015
+# Evgeniy Kupras <zheka20012@yandex.ru>, 2016
# Pavel Otchertsov <pavel.otchertsov@gmail.com>, 2015
# sayanvd <sayanvd@yandex.ru>, 2014-2015
-# stryaponoff <stryaponoff@gmail.com>, 2014
+# Sergey <player54@mail.ru>, 2015-2016
+# Kirill <stryaponoff@gmail.com>, 2014,2016
# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
-# Victor Bychek, 2015
+# Victor Bychek, 2015-2016
# Денис <denyspokhylenko@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-24 11:16+0000\n"
-"Last-Translator: Victor Bychek\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Russian (http://www.transifex.com/mpc-hc/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,7 +28,7 @@ msgstr ""
msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
msgid "Select Media Type"
-msgstr "Выберите тип"
+msgstr "Выбор типа медиа"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
@@ -42,7 +44,7 @@ msgstr "Видео"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
msgid "Set"
-msgstr "Сохр."
+msgstr "Задать"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Audio"
@@ -50,31 +52,31 @@ msgstr "Аудио"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Output"
-msgstr "Сохранение"
+msgstr "Вывод"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Видео"
+msgstr "Запись видео"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
-msgstr "Просмотр"
+msgstr "Предпросмотр"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
msgid "Record Audio"
-msgstr "Аудио"
+msgstr "Запись аудио"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
msgid "Preview"
-msgstr "Просмотр"
+msgstr "Предпросмотр"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
-msgstr "V/A буферы:"
+msgstr "Буферы V/A:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
-msgstr "Звук в wav"
+msgstr "Аудио в wav"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
@@ -82,11 +84,11 @@ msgstr "Запись"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Включить встроенный переключатель аудиодорожек (требуется перезапуск)"
+msgstr "Включить встроенный переключатель аудио (требуется перезапуск)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
-msgstr "Нормализовать"
+msgstr "Нормализация"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
@@ -110,7 +112,7 @@ msgstr "Преобразовать в 44100 Гц"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Смещение звука (в мс):"
+msgstr "Смещение аудио (мс):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
@@ -126,15 +128,15 @@ msgstr "входных каналов:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Удерживайте shift для немедленного принятия изменений при нажатии"
+msgstr "Удерживайте shift для немедленных изменений при нажатии."
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
-msgstr "Перейти..."
+msgstr "Переход..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Введите время в формате [чч:]мм:сс.мс, чтобы перейти к указанному времени."
+msgstr "Введите время в формате чч:мм:сс.мс, чтобы перейти к указанному моменту."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -142,7 +144,7 @@ msgstr "Время"
msgctxt "IDD_GOTO_DLG_IDC_OK1"
msgid "Go!"
-msgstr "Вперед!"
+msgstr "Готово!"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
@@ -154,7 +156,7 @@ msgstr "Кадр"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
-msgstr "Вперед!"
+msgstr "Готово!"
msgctxt "IDD_OPEN_DLG_CAPTION"
msgid "Open"
@@ -162,7 +164,7 @@ msgstr "Открыть"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Введите адрес фильма или аудиофайла (в Интернете или на вашем компьютере)"
+msgstr "Введите адрес фильма или аудиофайла (в интернете или на вашем компьютере), чтобы проигрыватель открыл его."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -190,23 +192,23 @@ msgstr "Отмена"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
-msgstr "Только добавить в плейлист"
+msgstr "Добавить в плейлист, но не проигрывать"
msgctxt "IDD_ABOUTBOX_CAPTION"
msgid "About"
msgstr "О программе"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015, смотрите файл Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017, смотрите файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Эта программа бесплатна и распространяется под лицензией GNU General Public License."
+msgstr "Эта программа бесплатна и распространяется под GNU (General Public License)."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Локализация: v0lt, Aleksoid, YDY"
+msgstr "Локализация: Sergey S., v0lt, Aleksoid, YDY"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -222,7 +224,7 @@ msgstr "Компилятор:"
msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
msgid "Not used"
-msgstr "не используется"
+msgstr "Не использ."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
@@ -238,7 +240,7 @@ msgstr "Название:"
msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
msgid "Copy to clipboard"
-msgstr "Копировать в буфер"
+msgstr "Скопировать в буфер обмена"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
@@ -250,7 +252,7 @@ msgstr "Открывать файлы, используя"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
-msgstr "один и тот же проигрыватель для каждого файла"
+msgstr "один проигрыватель для каждого файла"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
msgid "Open a new player for each media file played"
@@ -262,11 +264,11 @@ msgstr "Язык"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Title bar"
-msgstr "В заголовке"
+msgstr "В заголовке отображать"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
msgid "Display full path"
-msgstr "отображать полный путь"
+msgstr "полный путь"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
@@ -274,11 +276,11 @@ msgstr "только имя файла"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "не отображать ничего"
+msgstr "ничего"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "имя файла заменить названием"
+msgstr "заменять имя файла названием"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -286,11 +288,11 @@ msgstr "Прочее"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
msgid "Tray icon"
-msgstr "Значок в панели задач"
+msgstr "Значок в области уведомлений"
msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
msgid "Show OSD (requires restart)"
-msgstr "Показать OSD (требуется перезапуск)"
+msgstr "Показывать OSD (требуется перезапуск)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
@@ -302,11 +304,11 @@ msgstr "Прилипать к границам экрана"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Сохранять настройки в .ini файле"
+msgstr "Сохранять настройки в ini-файле"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
-msgstr "Отключить меню 'Открыть диск'"
+msgstr "Отключить меню «Открыть диск»"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
@@ -314,11 +316,11 @@ msgstr "Повышенный приоритет процесса"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "Включить поддержку обложки"
+msgstr "Включить поддержку обложек"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
-msgstr "История / Позиция"
+msgstr "История"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
@@ -338,7 +340,7 @@ msgstr "Запоминать позицию DVD"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
-msgstr "Запоминать позицию окна"
+msgstr "Запоминать положение окна"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
@@ -346,23 +348,23 @@ msgstr "Запоминать размер окна"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Запоминать зум Pan-n-Scan"
+msgstr "Запоминать параметры Pan-n-Scan"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr "Поведение команды \"Открыть DVD/BD...\""
+msgstr "Поведение команды «Открыть DVD/BD...»"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
-msgstr "Выбирать папку"
+msgstr "Переходить к выбору расположения"
msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
msgid "Always open the default location:"
-msgstr "Открывать по умолчанию:"
+msgstr "Всегда открывать расположение по умолчанию:"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
-msgstr "Предпочтительный язык для навигатора DVD и сплиттера OGM"
+msgstr "Предпочтительный язык для навигатора DVD и внешнего сплиттера OGM"
msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
msgid "Menu"
@@ -382,7 +384,7 @@ msgstr "Дополнительные настройки"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Разрешить субтитры для слабослышащих в 'Line 21 Decoder'"
+msgstr "Разрешить скрытые субтитры в «Line 21 Decoder»"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -394,11 +396,11 @@ msgstr "Громкость"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Min"
-msgstr "Тише"
+msgstr "Мин"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Max"
-msgstr "Громче"
+msgstr "Макс"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
msgid "Balance"
@@ -406,11 +408,11 @@ msgstr "Баланс"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "L"
-msgstr "Левый"
+msgstr "Л"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "R"
-msgstr "Правый"
+msgstr "П"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Playback"
@@ -418,7 +420,7 @@ msgstr "Воспроизведение"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
msgid "Play"
-msgstr "Повторять"
+msgstr "Воспроизвести"
msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
msgid "Repeat forever"
@@ -426,15 +428,19 @@ msgstr "Повторять бесконечно"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
-msgstr "раз"
+msgstr "раз(а)"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Режим повтора:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "По окончании воспроизведения"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Вывод"
+msgid "Default zoom"
+msgstr "Масштаб по умолчанию"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -442,7 +448,7 @@ msgstr "Автомасштаб:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
msgid "Auto fit factor:"
-msgstr "Вписывать в"
+msgstr "Подгонять в"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
@@ -450,7 +456,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Приоритет выбора дорожек"
+msgstr "Выбор дорожек по умолчанию"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -458,11 +464,11 @@ msgstr "Субтитры:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
-msgstr "Звук:"
+msgstr "Аудио:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Разрешить переопределение выбора для внешних сплиттеров"
+msgstr "Разрешить изменение выбора внешних сплиттеров"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -470,15 +476,15 @@ msgstr "Настройки открытия файлов"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Рабочий поток для построения цепи фильтров"
+msgstr "Использовать рабочий поток для построения графа"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Отчет об ошибках рендеринга потоков"
+msgstr "Сообщать об ошибках рендеринга потоков"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "Автозагрузка аудио файлов"
+msgstr "Автозагрузка аудиофайлов"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
@@ -526,7 +532,7 @@ msgstr "мс"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Настройка текстуры (откройте видео снова, чтобы увидеть изменения)"
+msgstr "Настройки текстур (чтобы увидеть изменения, откройте видео заново)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
@@ -534,7 +540,7 @@ msgstr "Число фрагментов в буфере:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Maximum texture resolution:"
-msgstr "Максимальный размер текстуры:"
+msgstr "Макс. разрешение текстур:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
@@ -542,7 +548,7 @@ msgstr "Никогда не анимировать субтитры"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Рендерить"
+msgstr "Рендеринг"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -550,15 +556,15 @@ msgstr "% анимации"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr "Анимировать"
+msgstr "Анимация"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr "% кадра видео"
+msgstr "% частоты кадров видео"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Включить выпадение некоторых кадров, при запаздывании."
+msgstr "Включить выпадение некоторых фрагментов при запаздывании"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -566,15 +572,15 @@ msgstr "Раскладка рендера"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
-msgstr "Компенсировать соотношение сторон для анаморфированного видео"
+msgstr "Компенсация соотношение сторон для анаморфированного видео"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Warning"
-msgstr "Внимание"
+msgstr "Предупреждение"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Если вы измените положение и задействуете полноэкранное сглаживание в настройках видеокарты, субтитры не будут выглядеть лучше, но будут чрезмерно нагружать процессор."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "От изменения положения и полноэкранного сглаживания субтитры не станут выглядеть лучше, но это будет чрезмерно нагружать ваш процессор."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -594,19 +600,19 @@ msgstr "Ассоциации"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr "Использовать специальные иконки"
+msgstr "Использовать специальные иконки форматов"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr "Запуск от имени &Администратора"
+msgstr "Запуск от имени администратора"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr "Установить как программу &по умолчанию"
+msgstr "Сделать программой по умолчанию"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Открывать Real-Time Streaming Protocol (rtsp://...) через:"
+msgstr "Обработчик Real-Time Streaming Protocol (rtsp://...):"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -622,7 +628,7 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Сначала смотреть расширение"
+msgstr "Сперва проверить расширение файла"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -638,7 +644,7 @@ msgstr "Для файлов"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
msgid "Autoplay"
-msgstr "Автовоспроизведение (только XP)"
+msgstr "Автовоспроизведение"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
msgid "Video"
@@ -654,11 +660,11 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "Аудио CD"
+msgstr "Аудио-CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
-msgstr "Расстояния перехода (короткое, среднее, длинное) в мс"
+msgstr "Расстояния перехода в мс (короткое, среднее, длинное)"
msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
msgid "Default"
@@ -666,27 +672,27 @@ msgstr "По умолчанию"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
-msgstr "Быстрая перемотка (по ключевым кадрам)"
+msgstr "Быстрый поиск (по ключевым кадрам)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
-msgstr "Показывать метки глав на полосе прокрутки"
+msgstr "Показывать метки глав на ползунке"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "Отправлять \"Сейчас играет\" в Skype (статус настроение)"
+msgstr "Отображать имя воспроизводимого файла в настроении Skype"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "Не сворачивать окно на дополнительном дисплее в полноэкранном режиме"
+msgstr "Предотвращать сворачивание проигрывателя на дополнительном дисплее в полноэкранном режиме"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr "Использовать расширенные опции панели задач"
+msgstr "Использовать расширенные функции панели задач"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Открывать следующий/предыдущий файл в папке через 'Вперед/Назад', когда в плейлисте только один пункт"
+msgstr "Открывать следующий/предыдущий файл в папке кнопками «Вперед/Назад», когда в списке воспроизведения только один пункт"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
@@ -698,11 +704,11 @@ msgstr "Шрифт OSD:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "Включить поддержку Logitech LCD (экспериментальное)"
+msgstr "Включить поддержку Logitech LCD"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr "Скрывать указатель мыши при воспроизведении в окне"
+msgstr "Скрывать курсор при воспроизведении в окне"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -722,23 +728,23 @@ msgstr "Блокировать"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO3"
msgid "Set merit:"
-msgstr "Значимость:"
+msgstr "Значение:"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
msgid "Up"
-msgstr "Выше"
+msgstr "Вверх"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON4"
msgid "Down"
-msgstr "Ниже"
+msgstr "Вниз"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Новый тип..."
+msgstr "Добавить тип"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Новый субтип..."
+msgstr "Добавить подтип"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
@@ -762,7 +768,7 @@ msgstr "Длительность:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Video size:"
-msgstr "Размер кадра:"
+msgstr "Размер видео:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
@@ -770,7 +776,7 @@ msgstr "Создан:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Clip:"
-msgstr "Название:"
+msgstr "Клип:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Author:"
@@ -826,11 +832,11 @@ msgstr "Переименовать"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
-msgstr "Выше"
+msgstr "Вверх"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
msgid "Move Down"
-msgstr "Ниже"
+msgstr "Вниз"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
@@ -854,23 +860,23 @@ msgstr "Удалить"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
msgid "Up"
-msgstr "Выше"
+msgstr "Вверх"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
msgid "Down"
-msgstr "Ниже"
+msgstr "Вниз"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
msgid "&Set"
-msgstr "&Задать"
+msgstr "Выбрать"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
-msgstr "&Отмена"
+msgstr "Отмена"
msgctxt "IDD_PNSPRESET_DLG_IDOK"
msgid "&Save"
-msgstr "&Сохранить"
+msgstr "Сохранить"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Pos: 0.0 -> 1.0"
@@ -894,11 +900,11 @@ msgstr "Сбросить выбранные"
msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
msgid "Warning"
-msgstr "Внимание"
+msgstr "Предупреждение"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC не может воспроизвести некоторые потоки, возможно, у вас не установлен нужный кодек или фильтр."
+msgstr "MPC-HC не смог воспроизвести некоторые дорожки в графе. Возможно, у вас не установлен нужный кодек или фильтр."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
@@ -922,7 +928,7 @@ msgstr "Кодировка:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
-msgstr "Кодирование:"
+msgstr "Кодировка:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "Delay:"
@@ -934,7 +940,7 @@ msgstr "мс"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
msgid "Save custom style"
-msgstr "Сохранить пользовательский стиль"
+msgstr "Сохранить польз. стиль"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -946,11 +952,11 @@ msgstr "Миниатюры:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "rows"
-msgstr "строк"
+msgstr "строки"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "columns"
-msgstr "столбцов"
+msgstr "колонки"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Image width:"
@@ -958,11 +964,11 @@ msgstr "Ширина изображения:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "pixels"
-msgstr "пикселей"
+msgstr "пиксели"
msgctxt "IDD_ADDREGFILTER_CAPTION"
msgid "Select Filter"
-msgstr "Выберите фильтр"
+msgstr "Выбор фильтра"
msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
msgid "Browse..."
@@ -1014,7 +1020,7 @@ msgstr "Заливка"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Width"
-msgstr "Ширина границы"
+msgstr "Ширина"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Shadow"
@@ -1022,7 +1028,7 @@ msgstr "Тень"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Screen Alignment && Margins"
-msgstr "Выравнивание и отступы"
+msgstr "Выравнивание экрана и поля"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
@@ -1042,7 +1048,7 @@ msgstr "Снизу"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "Позиционировать относительно кадра"
+msgstr "Располагать субтитры относительно кадра"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1074,31 +1080,31 @@ msgstr "Связать альфа-каналы"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Если вы хотите использовать отдельную версию этих фильтров или другую замену, отключите их здесь."
+msgstr "Если вы хотите использовать самостоятельную версию этих фильтров или другую альтернативу, отключите их здесь."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
-msgstr "Фильтры источников"
+msgstr "Фильтры-источники"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Декодеры"
+msgstr "Фильтры-преобразователи"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr "Внутренние настройки LAV Filters"
+msgstr "Внутренние настройки LAV filters"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
-msgstr "Сплитер"
+msgstr "Сплиттер"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr "Видео декодер"
+msgstr "Декодер видео "
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr "Аудио декодер"
+msgstr "Декодер аудио"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1114,23 +1120,23 @@ msgstr "Выбрать..."
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
-msgstr "DirectShow видео"
+msgstr "Видео DirectShow"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "RealMedia Video"
-msgstr "RealMedia видео"
+msgstr "Видео RealMedia"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "QuickTime Video"
-msgstr "QuickTime видео"
+msgstr "Видео QuickTime"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "Аудио-рендерер"
+msgstr "Рендер аудио"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Настройки для VMR-7/VMR-9 (renderless) и EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Настройки VMR-9 (renderless) и EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1142,19 +1148,19 @@ msgstr "Интерполяция:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Выбрать устройство D3D9-рендеринга"
+msgstr "Выбрать D3D9-устройство рендеринга"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Реинициализация при смене монитора"
+msgstr "Реинициализация при смене дисплея"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
-msgstr "Полноэкранный Direct3D (устраняет дрожание)"
+msgstr "Полноэкранный D3D-режим"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "Альт. VSync"
+msgstr "Альтернативная VSync"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
@@ -1162,7 +1168,7 @@ msgstr "Режим VMR-9 Mixer"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "Смешение в YUV"
+msgstr "YUV Mixing"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
@@ -1186,11 +1192,15 @@ msgstr "Шейдеры"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
-msgstr "Поворот"
+msgstr "Вращение"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr "Обработчик субтитров"
+msgstr "Рендер субтитров"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Кешировать скомпилированные шейдеры"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1198,7 +1208,7 @@ msgstr "Слушать порт:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Запустить в web-браузере..."
+msgstr "Запустить в веб-браузере..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1206,11 +1216,11 @@ msgstr "Использовать сжатие"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
-msgstr "Разрешить доступ только с локального компьютера"
+msgstr "Разрешить доступ только с локального хоста"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr "Включить просмотр"
+msgstr "Включить предпросмотр"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1230,23 +1240,51 @@ msgstr "Выгрузить..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "Default page:"
-msgstr "Начальная страница:"
+msgstr "Cтраница по умолчанию:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
-msgstr "Интерпретаторы CGI: (.ext1=path1;.ext2=path2;...)"
+msgstr "Обработчики CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Список доступных субтитров"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Загрузить и открыть"
+msgid "Download subtitles"
+msgstr "Загрузить субтитры"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Заменять уже открытые субтитры"
+msgstr "Заменить уже открытые субтитры"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Загрузить"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Обновить"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Прервать"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Настройки"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Разместить субтитры"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Разместить"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Отменить"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Настройки"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1278,7 +1316,7 @@ msgstr "Сброс"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr "Проверить обновление"
+msgstr "Проверка обновлений"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
@@ -1342,15 +1380,15 @@ msgstr "Сохранить"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "S"
-msgstr "S"
+msgstr "С"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Q"
-msgstr "Q"
+msgstr "К"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
msgid "Use an offset"
-msgstr "Задать смещение"
+msgstr "Использовать сдвиг"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Default Device"
@@ -1358,11 +1396,11 @@ msgstr "Устройство по умолчанию"
msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
msgid "Analog"
-msgstr "аналоговое"
+msgstr "Аналоговое"
msgctxt "IDD_PPAGECAPTURE_IDC_RADIO2"
msgid "Digital"
-msgstr "цифровое"
+msgstr "Цифровое"
msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
msgid "Analog settings"
@@ -1426,19 +1464,19 @@ msgstr "Коррекция частоты:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC3"
msgid "lines"
-msgstr "линий"
+msgstr "линии"
msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
msgid "columns"
-msgstr "колонок"
+msgstr "колонки"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "Представлять с ближайшим vsync"
+msgstr "Вывод на ближайшей VSync"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
-msgstr "Целевое смещение синхр-ции:"
+msgstr "Целевое смещение:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
msgid "ms"
@@ -1458,7 +1496,7 @@ msgstr "мс"
msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
msgid "Changes take effect after the playback has been closed and restarted."
-msgstr "Изменения применятся после остановки и перезапуска воспроизведения."
+msgstr "Изменения вступят в силу после перезапуска воспроизведения."
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
@@ -1466,7 +1504,7 @@ msgstr "Запускать файлы в полноэкранном режиме
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
-msgstr "Скрывать элементы управления в полном экране"
+msgstr "Скрывать элементы управления в полноэкранном режиме"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
msgid "ms"
@@ -1482,11 +1520,11 @@ msgstr "Выход из полноэкранного режима по окон
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
-msgstr "Монитор для полного экрана"
+msgstr "Монитор для полноэкранного режима"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "Переключать режим монитора в полноэкранном режиме"
+msgstr "Использовать автопереключение монитора в полноэкранном режиме"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1506,7 +1544,7 @@ msgstr "Вниз"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
-msgstr "Применять режим 'по умолчанию' при переходе в оконную форму"
+msgstr "Применять режим по умолчанию при выходе из полноэкранного режима"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
msgid "Restore resolution on program exit"
@@ -1518,7 +1556,7 @@ msgstr "Задержка"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
msgid "s"
-msgstr "s"
+msgstr "с"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
msgid "Info"
@@ -1530,15 +1568,15 @@ msgstr "Поиск"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "Предпочитать форсированные и субтитры по умолчанию"
+msgstr "Предпочитать принудительные и/или дорожки субтитров по умолчанию"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Всегда использовать внешние субтитры как основные"
+msgstr "Использовать внешние субтитры вместо встроенных"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Не использовать встроенные субтитры"
+msgstr "Игнорировать встроенные субтитры"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
@@ -1549,16 +1587,28 @@ msgid "Reset"
msgstr "Сброс"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "База данных в интернете"
+msgid "Online search, download and upload subtitles"
+msgstr "Онлайн-поиск, загрузка и размещение субтитров"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Автоматически искать и загружать субтитры, если они не найдены локально"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Приоритет субтитров для людей с нарушениями слуха (если указано источником субтитров)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Игнорировать файлы, содержащие любое из следующих слов:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL базы данных субтитров:"
+msgid "Languages in order of preference:"
+msgstr "Языки в порядке предпочтения:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Тест"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Автоматически размещать активные субтитры после окончания воспроизведения"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1578,11 +1628,11 @@ msgstr "Игнорировать это обновление"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Шейдеры содержат специальные эффекты, которые могут быть добавлены в процессе видео рендеринга."
+msgstr "Шейдеры содержат специальные эффекты, которые могут быть добавлены в процесс рендеринга видео."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "Добавить шейдер"
+msgstr "Добавить файл шейдера"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1598,7 +1648,7 @@ msgstr "Добавить в post-resize"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Предустановки шейдера"
+msgstr "Предустановки шейдеров"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1646,7 +1696,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Расширенные настройки. Убедитесь, в том, что вы знаете, что делаете."
+msgstr "Это расширенные настройки. Не изменяйте их, если не знаете, что делаете."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1654,7 +1704,7 @@ msgstr "Верно"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
-msgstr "Не верно"
+msgstr "Неверно"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
@@ -1670,7 +1720,7 @@ msgstr "Монопольный режим"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr "Разрешить Потоковый"
+msgstr "Разрешить битстриминг"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
@@ -1678,15 +1728,15 @@ msgstr "Настройки"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr "Включить стерео кольцевание (для наушников)"
+msgstr "Включить перекрестную подачу (для наушников)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr "С. Мой"
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr "Дж Мейер"
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
@@ -1702,7 +1752,7 @@ msgstr "Заметка"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr "Для сокращения до минимума звуковых искажений рекомендуется держать уровень громкости около 85% при проигрывании громкого содержимого закодированного с потерями."
+msgstr "Для сведения звуковых искажений к минимуму, рекомендуется держать уровень громкости около 85% при проигрывании громкого материала, сжатого с потерями."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1726,7 +1776,7 @@ msgstr "Мы сожалеем, кажется, в MPC-HC произошел сб
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr "Отправить отчёт об ошибке, чтобы помочь нам диагностировать и исправить проблему."
+msgstr "Отправить отчет об ошибке, чтобы помочь нам исправить проблему."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
@@ -1734,11 +1784,11 @@ msgstr "Дополнительная информация"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr "Email:"
+msgstr "Эл. почта:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr "Адрес электронной почты не обязателен, но может быть использован для связи разработчиков с Вами для получения дополнительной информации."
+msgstr "Вводить адрес электронной почты не обязательно, но может быть использован для связи разработчиков с вами."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
index c63913129..a8033ee2c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
@@ -1,15 +1,22 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Kirill <stryaponoff@gmail.com>, 2016
+# Kirill <stryaponoff@gmail.com>, 2016
# sayanvd <sayanvd@yandex.ru>, 2014-2015
+# Sergey <player54@mail.ru>, 2015-2016
# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
+# Kirill <stryaponoff@gmail.com>, 2016
+# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
+# Victor Bychek, 2016
+# Victor Bychek, 2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-30 20:50+0000\n"
-"Last-Translator: sayanvd <sayanvd@yandex.ru>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-12-27 08:32+0000\n"
+"Last-Translator: Kirill <stryaponoff@gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/mpc-hc/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,23 +26,23 @@ msgstr ""
msgctxt "POPUP"
msgid "&File"
-msgstr "&Файл"
+msgstr "Файл"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "&Быстро открыть файл..."
+msgstr "Быстро открыть файл..."
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
-msgstr "&Открыть файл..."
+msgstr "Открыть файл..."
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "О&ткрыть DVD/BD..."
+msgstr "Открыть DVD/BD..."
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
-msgstr "Открыть &устройство..."
+msgstr "Открыть устройство..."
msgctxt "ID_FILE_OPENDIRECTORY"
msgid "Open Dir&ectory..."
@@ -43,127 +50,123 @@ msgstr "Открыть папку..."
msgctxt "ID_FILE_OPENDISC"
msgid "O&pen Disc"
-msgstr "Открыть &диск"
+msgstr "Открыть диск"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
-msgstr "Последние файлы"
+msgstr "Недавние файлы"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
-msgstr "&Закрыть"
+msgstr "Закрыть"
msgctxt "ID_FILE_SAVE_COPY"
msgid "&Save a Copy..."
-msgstr "&Сохранить копию..."
+msgstr "Сохранить копию..."
msgctxt "ID_FILE_SAVE_IMAGE"
msgid "Save &Image..."
-msgstr "Сохранить &изображение..."
+msgstr "Сохранить изображение..."
msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
-msgstr "Сохранить &миниатюры..."
-
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Открыть су&бтитры..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Со&хранить субтитры..."
+msgstr "Сохранить миниатюры изображений..."
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "База субтитров"
+msgid "S&ubtitles"
+msgstr "Субтитры"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Открыть субтитры..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Найти..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Сохранить субтитры..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Закачать..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Загрузить субтитры..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Скачать..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Разместить субтитры..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
-msgstr "С&войства"
+msgstr "Свойства"
msgctxt "ID_FILE_EXIT"
msgid "E&xit"
-msgstr "В&ыход"
+msgstr "Выход"
msgctxt "POPUP"
msgid "&View"
-msgstr "&Вид"
+msgstr "Вид"
msgctxt "ID_VIEW_CAPTIONMENU"
msgid "Caption&&Menu"
-msgstr "За&головок и меню"
+msgstr "Заголовок и меню"
msgctxt "ID_VIEW_SEEKER"
msgid "See&k Bar"
-msgstr "&Полоса прокрутки"
+msgstr "Ползунок"
msgctxt "ID_VIEW_CONTROLS"
msgid "&Controls"
-msgstr "&Управление"
+msgstr "Элементы управления"
msgctxt "ID_VIEW_INFORMATION"
msgid "&Information"
-msgstr "&Информация"
+msgstr "Информация"
msgctxt "ID_VIEW_STATISTICS"
msgid "&Statistics"
-msgstr "&Статистика"
+msgstr "Статистика"
msgctxt "ID_VIEW_STATUS"
msgid "St&atus"
-msgstr "С&татусная строка"
+msgstr "Статусная строка"
msgctxt "ID_VIEW_SUBRESYNC"
msgid "Su&bresync"
-msgstr "Синхронизация су&бтитров"
+msgstr "Синхронизация субтитров"
msgctxt "ID_VIEW_PLAYLIST"
msgid "Pla&ylist"
-msgstr "П&лейлист"
+msgstr "Список воспроизведения"
msgctxt "ID_VIEW_CAPTURE"
msgid "Captu&re"
-msgstr "&Захват"
+msgstr "Захват"
msgctxt "ID_VIEW_NAVIGATION"
msgid "Na&vigation"
-msgstr "Список каналов"
+msgstr "Навигация"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Отладка шейдеров"
+msgstr "Отладка шейдеров"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "Пре&дустановки"
+msgstr "Предустановки"
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
-msgstr "&Минимальная"
+msgstr "Минимальная"
msgctxt "ID_VIEW_PRESETS_COMPACT"
msgid "&Compact"
-msgstr "&Компактная"
+msgstr "Компактная"
msgctxt "ID_VIEW_PRESETS_NORMAL"
msgid "&Normal"
-msgstr "&Нормальная"
+msgstr "Нормальная"
msgctxt "ID_VIEW_FULLSCREEN"
msgid "F&ull Screen"
-msgstr "Во весь &экран"
+msgstr "Во весь экран"
msgctxt "POPUP"
msgid "&Zoom"
@@ -171,39 +174,39 @@ msgstr "Масштаб"
msgctxt "ID_VIEW_ZOOM_50"
msgid "&50%"
-msgstr "&50%"
+msgstr "50%"
msgctxt "ID_VIEW_ZOOM_100"
msgid "&100%"
-msgstr "&100%"
+msgstr "100%"
msgctxt "ID_VIEW_ZOOM_200"
msgid "&200%"
-msgstr "&200%"
+msgstr "200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
-msgstr "Вписать"
+msgstr "Подогнать"
msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (&Larger Only)"
-msgstr "Вписать (только большие)"
+msgstr "Подогнать (только большие)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "Настройки рендеринга"
+msgstr "Настройки рендера"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "&Тест дрожания"
+msgstr "Тест разрыва изображения"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr "&Показать статистику"
+msgstr "Отображать статистику"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr "Отображение текущего времени"
+msgstr "Отображать текущее время"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
@@ -223,31 +226,31 @@ msgstr "16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
-msgstr "Представление"
+msgstr "Презентация"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "Полноэкранный D3D"
+msgstr "Полноэкранный D3D-режим"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "Полноэкранный D3D с поддержкой GUI"
+msgstr "Полноэкранный D3D-режим с поддержкой GUI"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "10-битный RGB вывод"
+msgstr "10-битный RGB-вывод"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "Форсировать 10-битный RGB вход"
+msgstr "Принудительный 10-битный RGB-ввод"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
-msgstr "Точные расчеты в числах с плавающей точкой"
+msgstr "Полные расчеты чисел с плавающей точкой"
msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
msgid "&Half Floating Point Processing"
-msgstr "Быстрые расчеты в числах с плавающей точкой"
+msgstr "Половинчатые расчеты чисел с плавающей точкой"
msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
msgid "Disable desktop composition (&Aero)"
@@ -267,7 +270,7 @@ msgstr "Включить"
msgctxt "POPUP"
msgid "&Input Type"
-msgstr "Тип входа"
+msgstr "Тип ввода"
msgctxt "ID_VIEW_CM_INPUT_AUTO"
msgid "&Auto-Detect"
@@ -307,7 +310,7 @@ msgstr "Метод пересчета"
msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
msgid "&Perceptual"
-msgstr "Восприятие"
+msgstr "Перцептуальный"
msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
msgid "&Relative Colorimetric"
@@ -331,19 +334,19 @@ msgstr "VSync"
msgctxt "ID_VIEW_VSYNCACCURATE"
msgid "&Accurate VSync"
-msgstr "Аккуратный VSync"
+msgstr "Точная VSync"
msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
msgid "A&lternative VSync"
-msgstr "Альтернативный VSync"
+msgstr "Альтернативная VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
msgid "&Decrease VSync Offset"
-msgstr "У&меньшить сдвиг VSync"
+msgstr "Уменьшить сдвиг VSync"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "У&величить сдвиг VSync"
+msgstr "Увеличить сдвиг VSync"
msgctxt "POPUP"
msgid "&GPU Control"
@@ -351,15 +354,15 @@ msgstr "Управление GPU"
msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
msgid "Flush GPU &before VSync"
-msgstr "Заполнить GPU перед VSync"
+msgstr "Опустошать GPU перед VSync"
msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
msgid "Flush GPU &after Present"
-msgstr "Заполнить GPU после представления"
+msgstr "Опустошать GPU после вывода"
msgctxt "ID_VIEW_FLUSHGPU_WAIT"
msgid "&Wait for flushes"
-msgstr "Ожидать заполнения"
+msgstr "Ожидать опустошения"
msgctxt "POPUP"
msgid "R&eset"
@@ -367,59 +370,55 @@ msgstr "Сброс"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
-msgstr "Сбросить в стандартные настройки"
+msgstr "Установить настройки по умолчанию"
msgctxt "ID_VIEW_RESET_OPTIMAL"
msgid "Reset to &optimal renderer settings"
-msgstr "Сбросить в оптимальные настройки"
+msgstr "Установить оптимальные настройки"
msgctxt "POPUP"
msgid "Video &Frame"
-msgstr "&Видеокадр"
+msgstr "Видеокадр"
msgctxt "ID_VIEW_VF_HALF"
msgid "&Half Size"
-msgstr "&Половинный размер"
+msgstr "Половинный размер"
msgctxt "ID_VIEW_VF_NORMAL"
msgid "&Normal Size"
-msgstr "&Нормальный размер"
+msgstr "Нормальный размер"
msgctxt "ID_VIEW_VF_DOUBLE"
msgid "&Double Size"
-msgstr "&Двойной размер"
+msgstr "Двойной размер"
msgctxt "ID_VIEW_VF_STRETCH"
msgid "&Stretch To Window"
-msgstr "&Растянуть до размера экрана"
+msgstr "Растянуть до размера окна"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "&Вписать в размер экрана"
+msgstr "Вписать в окно"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
-msgstr "Масштаб &1"
+msgstr "Масштаб 1"
msgctxt "ID_VIEW_VF_ZOOM2"
msgid "Zoom &2"
-msgstr "Масштаб &2"
+msgstr "Масштаб 2"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "&Заполнить экран и обрезать кадр"
-
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Сохранять пропорции"
+msgstr "Заполнить экран и обрезать кадр"
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Установить пропорции"
+msgid "&Aspect Ratio"
+msgstr "Соотношение сторон"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "По умолчанию"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "По умолчанию (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,13 +440,17 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Допускать квадратные пиксели (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "&Учитывать разницу аспекта монитора/раб.стола"
+msgstr "Корректировать разницу соотношения сторон монитора/раб. стола"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
-msgstr "Поло&жение и размер кадра"
+msgstr "Положение и размер кадра"
msgctxt "ID_VIEW_INCSIZE"
msgid "&Increase Size"
@@ -495,11 +498,11 @@ msgstr "Центрировать"
msgctxt "ID_VIEW_RESET"
msgid "Re&set"
-msgstr "Сбросить"
+msgstr "Сброс"
msgctxt "POPUP"
msgid "On &Top"
-msgstr "П&оверх всех окон"
+msgstr "Поверх всех окон"
msgctxt "ID_ONTOP_DEFAULT"
msgid "&Default"
@@ -519,43 +522,59 @@ msgstr "При воспроизведении видео"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
-msgstr "&Настройки..."
+msgstr "Настройки..."
msgctxt "POPUP"
msgid "&Play"
-msgstr "&Воспроизведение"
+msgstr "Воспроизведение"
msgctxt "ID_PLAY_PLAYPAUSE"
msgid "&Play/Pause"
-msgstr "&Воспр/Пауза"
+msgstr "Воспроизведение/Пауза"
msgctxt "ID_PLAY_STOP"
msgid "&Stop"
-msgstr "&Стоп"
+msgstr "Стоп"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "По &кадрам"
+msgid "Fra&me Step"
+msgstr "Шаг на кадр вперед"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "Повтор"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Бесконечно"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "Файл"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Плейлист"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
-msgstr "У&меньшить скорость"
+msgstr "Уменьшить скорость"
msgctxt "ID_PLAY_INCRATE"
msgid "&Increase Rate"
-msgstr "Ув&еличить скорость"
+msgstr "Увеличить скорость"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "С&бросить скорость"
+msgstr "Скорость по умолчанию"
msgctxt "ID_FILTERS"
msgid "&Filters"
-msgstr "&Фильтры"
+msgstr "Фильтры"
msgctxt "ID_SHADERS"
msgid "S&haders"
-msgstr "&Шейдеры"
+msgstr "Шейдеры"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
@@ -563,27 +582,27 @@ msgstr "Дорожка аудио"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr "Дорожка с&убтитров"
+msgstr "Дорожка субтитров"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "Дорожка &видео"
+msgid "Vide&o Track"
+msgstr "Дорожка видео"
msgctxt "POPUP"
msgid "&Volume"
-msgstr "&Громкость"
+msgstr "Громкость"
msgctxt "ID_VOLUME_UP"
msgid "&Up"
-msgstr "&Выше"
+msgstr "Повысить"
msgctxt "ID_VOLUME_DOWN"
msgid "&Down"
-msgstr "&Ниже"
+msgstr "Понизить"
msgctxt "ID_VOLUME_MUTE"
msgid "&Mute"
-msgstr "&Отключить"
+msgstr "Отключить"
msgctxt "POPUP"
msgid "Af&ter Playback"
@@ -595,11 +614,11 @@ msgstr "Ничего не делать"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
-msgstr "Воспроизвести &следующий файл в папке"
+msgstr "Воспроизвести следующий файл в папке"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "Выключить &монитор"
+msgstr "Выключить монитор"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
@@ -627,51 +646,51 @@ msgstr "Блокировать компьютер"
msgctxt "POPUP"
msgid "&Navigate"
-msgstr "&Навигация"
+msgstr "Навигация"
msgctxt "ID_NAVIGATE_SKIPBACK"
msgid "&Previous"
-msgstr "П&редыдущий"
+msgstr "Предыдущий"
msgctxt "ID_NAVIGATE_SKIPFORWARD"
msgid "&Next"
-msgstr "&Следующий"
+msgstr "Следующий"
msgctxt "ID_NAVIGATE_GOTO"
msgid "&Go To..."
-msgstr "&Переход..."
+msgstr "Переход..."
msgctxt "ID_NAVIGATE_TITLEMENU"
msgid "&Title Menu"
-msgstr "&Заглавное меню"
+msgstr "Заглавное меню"
msgctxt "ID_NAVIGATE_ROOTMENU"
msgid "&Root Menu"
-msgstr "&Корневое меню"
+msgstr "Корневое меню"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
-msgstr "Меню суб&титров"
+msgstr "Меню субтитров"
msgctxt "ID_NAVIGATE_AUDIOMENU"
msgid "&Audio Menu"
-msgstr "Меню ау&дио"
+msgstr "Меню аудио"
msgctxt "ID_NAVIGATE_ANGLEMENU"
msgid "An&gle Menu"
-msgstr "Меню углов в&идео"
+msgstr "Меню углов видео"
msgctxt "ID_NAVIGATE_CHAPTERMENU"
msgid "&Chapter Menu"
-msgstr "Меню с&цен"
+msgstr "Меню глав"
msgctxt "ID_FAVORITES"
msgid "F&avorites"
-msgstr "&Закладки"
+msgstr "Закладки"
msgctxt "POPUP"
msgid "&Help"
-msgstr "&Помощь"
+msgstr "Помощь"
msgctxt "ID_HELP_HOMEPAGE"
msgid "&Home Page"
@@ -679,21 +698,21 @@ msgstr "Домашняя страница"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr "Проверить обновление"
+msgstr "Проверить доступные обновления"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "Параметры командной строки"
+msgstr "Переключатели командной строки"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
-msgstr "Загрузить панель навигации"
+msgstr "Загрузить темы для панели инструментов"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
-msgstr "Пожертвовать"
+msgstr "Сделать пожертвование"
msgctxt "ID_HELP_ABOUT"
msgid "&About..."
-msgstr "&О программе..."
+msgstr "О программе..."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
index d1e7fa514..ada55b68c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
@@ -1,24 +1,30 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
# Arkady Shapkin <arkadiy_s@inbox.ru>, 2014
# birkoff <birkoff.anarchist@gmail.com>, 2015
+# Evgeniy Kupras <zheka20012@yandex.ru>, 2016
# Ilya, 2015
+# iron86 <serejka@email.ua>, 2016
+# Ivan Moškin <driver37rus@yandex.ru>, 2016
+# Kirill <stryaponoff@gmail.com>, 2016
# Pavel Otchertsov <pavel.otchertsov@gmail.com>, 2015
+# Rento Nakamura <rentonakamura@gmail.com>, 2017
# sayanvd <sayanvd@yandex.ru>, 2014-2015
-# stryaponoff <stryaponoff@gmail.com>, 2014
+# Sergey <player54@mail.ru>, 2015-2016
+# Kirill <stryaponoff@gmail.com>, 2014,2016
# SmilyCarrot <twisted-transistor@yandex.ru>, 2014-2015
# Underground78, 2014
-# Victor Bychek, 2015
+# Victor Bychek, 2015-2016
# Денис <denyspokhylenko@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-01-17 14:07+0000\n"
+"Last-Translator: Rento Nakamura <rentonakamura@gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/mpc-hc/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,7 +66,7 @@ msgstr "Воспроизведение музыки"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "Воспроизведение аудиодисков"
+msgstr "Воспроизведение аудио-CD"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
@@ -70,9 +76,17 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Свойства"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Файл"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
-msgstr "&Стиль по умолчанию"
+msgstr "Стиль по умолчанию"
+
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Плейлист"
msgctxt "IDS_FAVFILES"
msgid "Files"
@@ -96,7 +110,7 @@ msgstr "Сдвиг Sync"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr "сред: %d мс, откл: %d мс"
+msgstr "средн.: %d мс, отклон.: %d мс"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -108,7 +122,7 @@ msgstr "Битрейт"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(сред/тек)"
+msgstr "(средн./текущ.)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -124,11 +138,31 @@ msgstr "Стили"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "Если цель рендеринга не определена, SSA/ASS субтитры будут отрендерены относительно видео кадра, а все другие текстовые субтитры будут отрендерены относительно окна."
+msgstr "Если цель рендеринга не определена, SSA/ASS субтитры будут обработаны относительно видеокадра, а все другие текстовые субтитры - относительно окна."
+
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Режим повтора: Плейлист"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Режим повтора: Файл"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Повторять бесконечно: Вкл"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Повторять бесконечно: Откл"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Бесконечное повторение"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
-msgstr "Никогда (быстро)"
+msgstr "Никогда (быстрый подход)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
@@ -136,15 +170,15 @@ msgstr "Только при изменении типа видео (по умо
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
-msgstr "Всегда (медленно)"
+msgstr "Всегда (медленный подход)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "Не поддерживается некоторыми устройствами. Два видеодекодера всегда присутствуют в графе фильтров."
+msgstr "Не поддерживается некоторыми устройствами. Два видеодекодера всегда присутствуют в графе."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Быстро за исключением случаем переключения видеопотоков. Только один видеодекодер присутствует в графе фильтров."
+msgstr "Быстро, за исключением случаев переключения видеопотоков. Только один видеодекодер присутствует в графе."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -152,7 +186,7 @@ msgstr "Не рекомендуется. Только для тестирова
msgctxt "IDS_PPAGE_CAPTURE_SFG0"
msgid "Never if possible (fastest, but not supported by most filters)"
-msgstr "Никогда, если возможно (быстро, но не поддерживается большинство фильтров)"
+msgstr "Никогда, если возможно (быстро, но не поддерживается большинством фильтров)"
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
@@ -220,7 +254,7 @@ msgstr "Конец"
msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
msgid "Preview"
-msgstr "Просмотр"
+msgstr "Предпросмотр"
msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
msgid "Vob ID"
@@ -248,11 +282,11 @@ msgstr "Шрифт"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
-msgstr "Не удалось обработать некоторые пины фильтра DVD Navigator"
+msgstr "Не удалось обработать некоторые потоки фильтра-навигатора DVD"
msgctxt "IDS_DVD_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for DVD playback"
-msgstr "Не удалось запросить необходимые интерфейсы для воспроизведения DVD"
+msgstr "Не удалось запросить интерфейсы для воспроизведения DVD"
msgctxt "IDS_CAPTURE_LIVE"
msgid "Live"
@@ -260,11 +294,11 @@ msgstr "Прямой эфир"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
-msgstr "Невозможно добавить видеофильтр захвата к графу"
+msgstr "Невозможно добавить фильтр захвата видео в граф"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "Невозможно добавить аудиофильтр захвата к графу"
+msgstr "Невозможно добавить фильтр захвата аудио в граф"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -272,7 +306,7 @@ msgstr "Не удалось открыть устройство захвата."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
-msgstr "Не удается открыть, неверные входные параметры"
+msgstr "Нельзя открыть, неверные параметры ввода"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
@@ -284,7 +318,7 @@ msgstr "Введенное время больше длительности фа
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Библиотека иконок 'mpciconlib.dll' не найдена.\nБудет использован обычный иконка для файловых ассоциаций.\nЧтобы получить 'mpciconlib.dll', переустановите MPC-HC."
+msgstr "Библиотека значков «mpciconlib.dll» не найдена.\nДля файловых ассоциаций будет использован обычный значок.\nЧтобы получить «mpciconlib.dll», переустановите MPC-HC."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -308,7 +342,7 @@ msgstr "Название"
msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
msgid "CharSet"
-msgstr "CharSet"
+msgstr "Кодировка"
msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
msgid "Unicode"
@@ -328,11 +362,11 @@ msgstr "Эффект"
msgctxt "IDS_PLAYLIST_CAPTION"
msgid "Playlist"
-msgstr "Плейлист"
+msgstr "Список воспроизведения"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
-msgstr "Вкл/Выкл"
+msgstr "Вкл/Откл"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From (FPS)"
@@ -352,15 +386,15 @@ msgstr "По умолчанию"
msgctxt "IDS_PPAGE_FS_OTHER"
msgid "Other"
-msgstr "другие"
+msgstr "Другие"
msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
msgid "System Default"
-msgstr "Системный по умолчанию"
+msgstr "Системн. по умолчанию"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
-msgstr "Не удалось запросить необходимые интерфейсы для воспроизведения"
+msgstr "Не удалось запросить интерфейсы для воспроизведения"
msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
msgid "Could not set target window for graph notification"
@@ -368,63 +402,63 @@ msgstr "Не удалось создать окно для вывода граф
msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
msgid "Failed to render all pins of the DVD Navigator filter"
-msgstr "Не удалось обработать все пины фильтра DVD Navigator"
+msgstr "Не удалось обработать все потоки фильтра-навигатора DVD"
msgctxt "IDS_PLAYLIST_OPEN"
msgid "&Open"
-msgstr "&Запустить"
+msgstr "Открыть"
msgctxt "IDS_PLAYLIST_ADD"
msgid "A&dd"
-msgstr "&Добавить"
+msgstr "Добавить"
msgctxt "IDS_PLAYLIST_REMOVE"
msgid "&Remove"
-msgstr "&Убрать"
+msgstr "Убрать"
msgctxt "IDS_PLAYLIST_CLEAR"
msgid "C&lear"
-msgstr "&Очистить"
+msgstr "Очистить"
msgctxt "IDS_PLAYLIST_COPYTOCLIPBOARD"
msgid "&Copy to clipboard"
-msgstr "&Копировать в буфер"
+msgstr "Копировать в буфер"
msgctxt "IDS_PLAYLIST_SAVEAS"
msgid "&Save As..."
-msgstr "&Сохранить как..."
+msgstr "Сохранить как..."
msgctxt "IDS_PLAYLIST_SORTBYLABEL"
msgid "Sort by &label"
-msgstr "Сортировать по &имени"
+msgstr "Сортировать по имени"
msgctxt "IDS_PLAYLIST_SORTBYPATH"
msgid "Sort by &path"
-msgstr "Сортировать по &пути"
+msgstr "Сортировать по пути"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
-msgstr "П&еремешать"
+msgstr "Перемешать"
msgctxt "IDS_PLAYLIST_RESTORE"
msgid "R&estore"
-msgstr "В&осстановить"
+msgstr "Восстановить"
msgctxt "IDS_SUBRESYNC_SEPARATOR"
msgid "&Separator"
-msgstr "&Разделитель"
+msgstr "Разделитель"
msgctxt "IDS_SUBRESYNC_DELETE"
msgid "&Delete"
-msgstr "&Удалить"
+msgstr "Удалить"
msgctxt "IDS_SUBRESYNC_DUPLICATE"
msgid "D&uplicate"
-msgstr "&Дублировать"
+msgstr "Дублировать"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
-msgstr "&Сбросить"
+msgstr "Сбросить"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
@@ -492,7 +526,7 @@ msgstr "Воспроизведение::Захват"
msgctxt "IDD_PPAGESYNC"
msgid "Playback::Sync Renderer Settings"
-msgstr "Воспроизведение::Sync Renderer"
+msgstr "Воспроизведение::Настройки Sync Renderer"
msgctxt "IDD_PPAGEFULLSCREEN"
msgid "Playback::Fullscreen"
@@ -500,7 +534,7 @@ msgstr "Воспроизведение::Полный экран"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr "Встроенные фильтры::Аудио-рендерер"
+msgstr "Встроенные фильтры::Рендер аудио"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -516,43 +550,35 @@ msgstr "Вы хотите обновить иконки медиафайлов?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Это устраняет проблему неправильного отображения иконок после обновления библиотеки иконок.\nБудет обновлены только иконки, файловые ассоциации останутся прежними."
+msgstr "Это устранит проблему неправильного отображения иконок после обновления библиотеки.\nФайловые ассоциации останутся прежними, будут обновлены только иконки."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "Устаревший видео рендерер"
+msgstr "Старый рендер видео"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Видео Mixing Renderer 7 (оконный)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr "Видео Mixing Renderer 9 (оконный)"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Видео Mixing Renderer 7 (без рендера)"
+msgstr "Video Mixing Renderer 9 (оконный)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr "Видео Mixing Renderer 9 (без рендера)"
+msgstr "Video Mixing Renderer 9 (renderless)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "Расширенный видео рендерер"
+msgstr "Расширенный рендер видео (EVR)"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr "Расширенный видео рендерер (свой presenter)"
+msgstr "Расширенный рендер видео (EVR custom presenter)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali видео рендерер"
+msgstr "Haali Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -588,11 +614,7 @@ msgstr "Воспроизведение::Вывод"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Проигрыватель::Web-интерфейс"
-
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Субтитры::База"
+msgstr "Проигрыватель::Веб-интерфейс"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
@@ -604,31 +626,23 @@ msgstr "Клип"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Видео рендер по умолчанию для DirectShow. Этот режим всегда включается в тех случаях, когда другие рендеры не могут загрузиться. На Windows XP аналогичен VMR-7 (windowed)."
+msgstr "Рендер видео по умолчанию для DirectShow. Включается в тех случаях, когда другие рендеры не могут загрузиться. Он аналогичен VMR-7 в Windows XP (windowed)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Видео рендер по умолчанию для Windows 9x/ME/2K. В зависимости от видимости видеоокна и возможностей видеокарты, режим динамически переключается между методами GDI, DirectDraw и Overlay."
+msgstr "Рендер видео по умолчанию для Windows 9x/ME/2K. В зависимости от видимости окна видео и возможностей вашей видеокарты, он динамически переключается между режимами GDI, DirectDraw и Overlay."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Рендеринг всегда производится в оверлее. Обычно доступны только форматы YUV, но они представляются напрямую, без преобразования в RGB. Это самый быстрый метод из всех, и только здесь стопроцентно работает \"зеркальный\" вывод видео (на TV-OUT)."
-
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Видео рендер по умолчанию для Windows XP. Очень стабильный и лишь немного медленнее метода Overlay mixer. Использует DirectDraw и, по возможности, запускается в оверлее."
+msgstr "Рендеринг всегда производится в оверлее. Обычно доступны только форматы YUV, но они выводятся напрямую, без преобразования в RGB. Это самый быстрый метод из всех, и только при нем всегда работает «зеркальный» вывод видео (на tv-out)."
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Доступен только при установленном DirectX 9. Возможности аналогичны VMR-7 (windowed), но никогда не использует оверлей, а потому может быть немного медленнее, чем VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "То же, что и VMR-7 (windowed),но с плагином MPC-HC Allocator-Presenter для вывода субтитров. \"Зеркальное\" отображение видео в оверлее работать НЕ БУДЕТ. Глубину цвета рекомендуется установить в 'True Color'."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Доступно, если у вас установлен DirectX 9. Очень стабилен, но не использует оверлей. Из-за этого может быть немного медленнее, чем Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "То же, что и VMR-9 (windowed), но с плагином MPC-HC Allocator-Presenter для вывода субтитров. \"Зеркальное\" отображение видео в оверлее МОЖЕТ работать. Глубину цвета рекомендуется установить в 'True Color'."
+msgstr "То же, что и VMR-9 (windowed), но с плагином MPC-HC Allocator-Presenter для вывода субтитров. «Зеркальное» отображение видео в оверлее МОЖЕТ работать. Глубину цвета рекомендуется установить в «True Color»."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
@@ -636,23 +650,23 @@ msgstr "То же, что и VMR-9 (renderless), но использует дв
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the CPU from working unnecessarily."
-msgstr "Подключается к любому типу видеоданных и отсылает входящие кадры в никуда. Режим может пригодиться для сохранения ресурсов процессора в случае, если нужен только звук."
+msgstr "Подключается к любому типу видеоданных и отсылает входящие кадры в никуда. Используется для сохранения ресурсов процессора в случае, если вам нужен только звук."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "То же, что и нормальный Null-рендер, но подключается только к несжатым типам данных."
+msgstr "То же, что и обычный Null renderer, но подключается только к несжатым типам."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Только для Vista или новее. Возможен на XP с установленным .NET Framework 3.5"
+msgstr "Доступно только на Vista или XP с установленным .NET Framework 3.5."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "То же, что и EVR, но использует Allocator-Presenter для субтитров и обработки. Рекомендуется для Windows Vista и новее."
+msgstr "То же, что и EVR, но использует Allocator-Presenter для субтитров и постобработки. Рекомендуется для Windows Vista и новее."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr "Высококачественный renderer, требуется видеокарта с поддержкой D3D9."
+msgstr "Высококачественный рендер, требует GPU с поддержкой D3D9 или новее."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
@@ -660,11 +674,7 @@ msgstr "То же, что EVR (CP), но имеет дополнительные
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Собственный рендер RealMedia. Скрипты SMIL будут работать, но без интерактивности. Использует DirectDraw и, по возможности, запускается в оверлее."
-
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывод RealMedia обрабатывается с помощью плагина Allocator-Presenter в VMR-7 (renderless)."
+msgstr "Рендер RealMedia. Скрипты SMIL будут работать, но взаимодействие маловероятно. Использует DirectDraw и запускается в оверлее, когда это возможно."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -672,11 +682,7 @@ msgstr "Вывод RealMedia обрабатывается с помощью пл
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "Собственный рендер QuickTime. Замедляется при изменении размера видеокадра или если окно частично закрыто другим окном. Если оверлей недоступен возвращается к методу GDI."
-
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывод QuickTime обрабатывается с помощью плагина Allocator-Presenter в VMR-7 (renderless)."
+msgstr "Рендер QuickTime. Замедляется при изменении размера видеокадра или частичном закрытии плеера другим окном. Если оверлей недоступен, возвращается к GDI."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
@@ -684,7 +690,7 @@ msgstr "Вывод QuickTime обрабатывается с помощью пл
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
-msgstr "Поверхность для видео выделяется как обычная поверхность вне экрана."
+msgstr "Поверхность видео выделяется как обычная поверхность вне экрана."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
@@ -696,11 +702,11 @@ msgstr "Обычная поверхность вне экрана"
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
-msgstr "2D-поверхность"
+msgstr "2D-поверхности"
msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
msgid "3D surfaces (recommended)"
-msgstr "3D-поверхность (рекомендуется)"
+msgstr "3D-поверхности (рекомендуется)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
@@ -728,11 +734,11 @@ msgstr "Бикубический A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
-msgstr "**недоступен**"
+msgstr "**недоступно**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr "Выбранный рендерер не установлен."
+msgstr "Выбранный рендер не установлен."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
@@ -744,7 +750,7 @@ msgstr "Null (без сжатия)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr "Встроенный аудио-рендерер"
+msgstr "Встроенный рендер аудио"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -756,11 +762,15 @@ msgstr "MIME-тип"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Для того, чтобы просмотреть внедренный ресурс в вашем браузере, необходимо включить веб-интерфейс.\n\nЕсли вы хотите лишь сохранить информацию, используйте кнопку \"Сохранить как\"."
+msgstr "Для того, чтобы просмотреть внедренный ресурс в вашем браузере, необходимо включить веб-интерфейс.\n\nЕсли вы хотите лишь сохранить информацию, используйте кнопку «Сохранить как»."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Загрузить субтитры"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Загрузить субтитры..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Разместить субтитры..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -788,27 +798,27 @@ msgstr "Зашифрованные файлы не поддерживаются"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr "Не могу найти все архивные тома"
+msgstr "Не удалось найти все архивные тома"
msgctxt "IDC_TEXTURESURF2D"
msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Поверхность для видео выделяется как текстура, но для копирования и растяжения видео в буфер используются функции 2D. Требует наличия видеокарты, которая может выделять 32bit RGBA текстуры, с размерами не кратными 2, хотя бы в разрешении видео."
+msgstr "Поверхность видео выделяется как текстура, но для копирования и растяжения видео в буфер используются функции 2D. Требует наличия видеокарты, которая может выделять 32bit RGBA-текстуры с размерами, не кратными 2, хотя бы в разрешении видео."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "Поверхность для видео выделяется как текстура и рисуется как два треугольника в 3D. Включение антиалиасинга в настройках видеокарты может существенно замедлить скорость рендеринга."
+msgstr "Поверхность видео выделяется как текстура и рисуется в виде двух треугольников в 3D. Включение сглаживания может существенно замедлить процесс рендеринга."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "При отсутствии поддержки пиксельных шейдеров версии 2.0, будет автоматически использован простой билинейный метод."
+msgstr "При отсутствии поддержки пиксельных шейдеров версии 2.0, используется простой билинейный метод."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Переводит режим VMR-9 (renderless) в режим микшера, это значит, что большинство элементов управления на странице свойств будут работать и будут использовать отдельный рабочий поток для обработки кадров."
+msgstr "Переводит VMR-9 (renderless) в режим микшера. Большинство элементов управления на странице свойств будут работать, а для обработки кадров будет выделен отдельный рабочий поток."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr "Повышает производительность, но могут быть проблемы с совместимостью."
+msgstr "Повышает производительность, но могут возникнуть проблемы с совместимостью."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
@@ -816,7 +826,19 @@ msgstr "Уменьшает разрывы, но не отображает пан
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Уменьшает разрывы, работает в обход VSync встроенной в D3D."
+msgstr "Уменьшает разрывы, обходя VSync, встроенную в D3D."
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Настройка тюнера"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Субтитры не загружены или рендер видео не поддерживается."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Сохраняет скомпилированные шейдеры в локальной папке AppData для ускорения загрузки"
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
@@ -832,27 +854,27 @@ msgstr "Использует LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Использует LAV Filters. По умолчанию отключено, так как фильтры Microsoft, как правило, более стабильны для этих форматов.\n Если вы решите использовать встроенные фильтры, включите их для источника и декодирование будет иметь более лучший опыт воспроизведения."
+msgstr "Использует LAV Filters. По умолчанию отключено, так как фильтры Microsoft более стабильны для этих форматов.\nЕсли вы решите использовать встроенные фильтры, включите их как для источника, так и для декодирования, чтобы улучшить процесс воспроизведения."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr "Вкл/Откл панель навигации"
+msgstr "Вкл/откл отображение панели навигации"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "Аккуратный VSync"
+msgstr "Точная VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Если цель рендеринга не определена, то она будет взята из стиля по умолчанию."
+msgstr "Если цель рендеринга не определена, она будет взята из стиля по умолчанию."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr "Отключить анимацию субтитров. Включение данной опции замедляет работу ЦПУ. "
+msgstr "Отключить анимацию субтитров. Включение данной опции замедляет работу CPU, но может помочь с мигающими субтитрами. "
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "Увеличение числа буферных фрагментов изображения обычно увеличивает скорость рендеринга за счет более высокого использования видеопамяти на GPU."
+msgstr "Увеличение числа буферных фрагментов изображения должно увеличить скорость рендеринга за счет увеличения использования видеопамяти GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -860,7 +882,7 @@ msgstr "После нажатия этой кнопки, выбранное со
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr "Отключение этой опции предотвратит мигание субтитров, но это может привести к пропуску некоторых видеокадров при рендеренге."
+msgstr "Отключение этой опции предотвратит мигание субтитров, но может привести к пропуску некоторых видеокадров при рендеринге."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -908,31 +930,31 @@ msgstr "Вперед\nВперед"
msgctxt "IDS_SUBRESYNC_ORIGINAL"
msgid "&Original"
-msgstr "&Оригинальный"
+msgstr "Оригинальный"
msgctxt "IDS_SUBRESYNC_CURRENT"
msgid "&Current"
-msgstr "&Текущий"
+msgstr "Текущий"
msgctxt "IDS_SUBRESYNC_EDIT"
msgid "&Edit"
-msgstr "&Изменить"
+msgstr "Изменить"
msgctxt "IDS_SUBRESYNC_YES"
msgid "&Yes"
-msgstr "&Да"
+msgstr "Да"
msgctxt "IDS_SUBRESYNC_NO"
msgid "&No"
-msgstr "&Нет"
+msgstr "Нет"
msgctxt "IDS_SUBRESYNC_DECREASE"
msgid "&Decrease"
-msgstr "У&меньшить"
+msgstr "Уменьшить"
msgctxt "IDS_SUBRESYNC_INCREASE"
msgid "&Increase"
-msgstr "Ув&еличить"
+msgstr "Увеличить"
msgctxt "IDS_OPTIONS_CAPTION"
msgid "Options"
@@ -944,22 +966,22 @@ msgstr "Выбрать..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Отладка шейдеров..."
+msgstr "Отладка шейдеров..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
-msgstr "&Добавить..."
+msgstr "Добавить..."
msgctxt "IDS_FAVORITES_ORGANIZE"
msgid "&Organize Favorites..."
-msgstr "&Упорядочить..."
+msgstr "Упорядочить..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "В случайном порядке"
+msgid "Sh&uffle"
+msgstr "Перемешать"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Открыть папку"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -988,7 +1010,7 @@ msgstr "Вы уверены, что хотите очистить список
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
-msgstr "EDL сохранить"
+msgstr "Сохранить EDL"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
@@ -996,7 +1018,7 @@ msgstr "Включить коррекцию времени кадра"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Вкл/Откл окно EDL"
+msgstr "Вкл/откл отображение окна EDL"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
@@ -1008,27 +1030,27 @@ msgstr "Установить EDL наружу"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
-msgstr "Повернуть кадр по X-"
+msgstr "Вращение кадра X-"
msgctxt "IDS_AG_PNS_ROTATEY_P"
msgid "PnS Rotate Y+"
-msgstr "Повернуть кадр по Y+"
+msgstr "Вращение кадра Y+"
msgctxt "IDS_AG_PNS_ROTATEY_M"
msgid "PnS Rotate Y-"
-msgstr "Повернуть кадр по Y-"
+msgstr "Вращение кадра Y-"
msgctxt "IDS_AG_PNS_ROTATEZ_P"
msgid "PnS Rotate Z+"
-msgstr "Повернуть кадр по Z+"
+msgstr "Вращение кадра Z+"
msgctxt "IDS_AG_PNS_ROTATEZ_M"
msgid "PnS Rotate Z-"
-msgstr "Повернуть кадр по Z-"
+msgstr "Вращение кадра Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Тест дрожания"
+msgstr "Тест разрыва"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1043,8 +1065,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Масштабировать в Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Скрыть, когда на полный экран"
+msgid "&Hide on Fullscreen"
+msgstr "Скрыть в полноэкранном режиме"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1056,11 +1078,11 @@ msgstr "Буферизация... (%d%%)"
msgctxt "IDS_CONTROLS_CAPTURING"
msgid "Capturing..."
-msgstr "Идёт захват..."
+msgstr "Идет захват..."
msgctxt "IDS_CONTROLS_OPENING"
msgid "Opening..."
-msgstr "Открывается..."
+msgstr "Открытие..."
msgctxt "IDS_CONTROLS_CLOSED"
msgid "Closed"
@@ -1068,7 +1090,7 @@ msgstr "Закрыто"
msgctxt "IDS_SUBTITLES_OPTIONS"
msgid "&Options..."
-msgstr "&Опции..."
+msgstr "&Настройки..."
msgctxt "IDS_SUBTITLES_STYLES"
msgid "&Styles..."
@@ -1076,7 +1098,7 @@ msgstr "&Стили..."
msgctxt "IDS_SUBTITLES_RELOAD"
msgid "&Reload"
-msgstr "&Перезагрузить"
+msgstr "Перезагрузить"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
@@ -1096,7 +1118,7 @@ msgstr "Автор"
msgctxt "IDS_INFOBAR_COPYRIGHT"
msgid "Copyright"
-msgstr "Права"
+msgstr "Копирайт"
msgctxt "IDS_INFOBAR_RATING"
msgid "Rating"
@@ -1152,7 +1174,7 @@ msgstr "Аудиофайлы (все типы)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
-msgstr "Неизвестный"
+msgstr "Неизвестно"
msgctxt "IDS_MPLAYERC_0"
msgid "Quick Open File"
@@ -1184,19 +1206,19 @@ msgstr "Невозможно загрузить %s, пиксельные шей
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
-msgstr "Не удается найти точку входа необходимой функции в %s, пиксельные шейдеры не будут работать."
+msgstr "Не удается найти точки входа необходимой функции в %s, пиксельные шейдеры не будут работать."
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr "Предустановка шейдера: %s"
+msgstr "Предустановка шейдеров: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr "Следующая предустановка шейдера"
+msgstr "Следующая предустановка шейдеров"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr "Предыдущая предустановка шейдера"
+msgstr "Предыдущая предустановка шейдеров"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1231,7 +1253,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Добавить содержащую папку"
msgctxt "IDS_HW_INDICATOR"
@@ -1240,7 +1262,7 @@ msgstr "[H/W]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr "Программы декодирования"
+msgstr "Программное декодирование"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
@@ -1252,7 +1274,7 @@ msgstr "&Копировать список фильтров в буфер"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
-msgstr "Введите параметры сервера"
+msgstr "Введите данные сервера"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
@@ -1264,7 +1286,7 @@ msgstr "Сохранить пользовательский стиль"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
-msgstr "Образование/Наука/Фактические темы"
+msgstr "Образование/Наука"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
@@ -1272,7 +1294,7 @@ msgstr "Скрывать элементы управления и панели
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "Предотвратить использование внешнего рендера субтитров, когда используется встроенный."
+msgstr "Запретить загрузку внешнего рендера субтитров, когда используется встроенный."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1284,15 +1306,15 @@ msgstr "Значение"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr "Максимальное количество отображаемых в меню \"Просмотренных\" файлов и на какой позиции сохранены."
+msgstr "Максимальное количество пунктов в меню «Недавние файлы» и на какой позиции сохранены."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr "Запоминать позицию для файлов длиннее чем N минут."
+msgstr "Запоминать позицию для файлов длиннее N минут."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr "Запоминать также позицию для аудиофайлов."
+msgstr "Также запоминать позицию для аудиофайлов."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
@@ -1312,7 +1334,7 @@ msgstr "Закрыть"
msgctxt "IDS_AFTER_PLAYBACK_EXIT"
msgid "Exit"
-msgstr "Выход"
+msgstr "Выйти"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
@@ -1328,11 +1350,11 @@ msgstr "Качество (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Максимальный размер (NxNpx) обложки загружать только в режиме аудио."
+msgstr "Максимальный размер (NxNpx) загружаемой обложки в режиме аудио."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "Задержка субтитров будет уменьшаться/увеличивается на это значение при каждом нажатии горячих клавиш (%s/%s)."
+msgstr "Задержка субтитров будет уменьшаться/увеличиваться на это значение при каждом нажатии соответствующих клавиш (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
@@ -1344,19 +1366,19 @@ msgstr "Смотреть"
msgctxt "IDS_NAVIGATION_MOVE_UP"
msgid "Move Up"
-msgstr "Выше"
+msgstr "Вверх"
msgctxt "IDS_NAVIGATION_MOVE_DOWN"
msgid "Move Down"
-msgstr "Ниже"
+msgstr "Вниз"
msgctxt "IDS_NAVIGATION_SORT"
msgid "Sort by LCN"
-msgstr "Упорядочить по LCN"
+msgstr "Сортировать по LCN"
msgctxt "IDS_NAVIGATION_REMOVE_ALL"
msgid "Remove all"
-msgstr "Удалить всё"
+msgstr "Удалить все"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
@@ -1368,7 +1390,7 @@ msgstr "Информация недоступна"
msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
msgid "Please wait, analysis in progress..."
-msgstr "Пожалуйста, подождите. Идёт анализ..."
+msgstr "Пожалуйста, подождите. Идет анализ..."
msgctxt "IDS_ASPECT_RATIO_FMT"
msgid "AR %d:%d"
@@ -1396,23 +1418,23 @@ msgstr "По окончании воспроизведения: закрыть"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr "MPC-HC столкнулся с проблемой во время инициализации. С вашей помощью мы можем исправить проблему.\n\nВы хотите сообщить о ней?"
+msgstr "MPC-HC столкнулся с проблемой во время инициализации. Вы можете помочь нам исправить эту ошибку.\n\nВы хотите сообщить о ней?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr "Введите положительное значение, если звук в начале, отрицательное значение, если это поздно."
+msgstr "Введите положительное значение, если звук спешит, или отрицательное, если он отстает."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr "Предварительный просмотр в настоящее время отключена. Вы можете включить его в настройках MPC-HC."
+msgstr "Предпросмотр в настоящее время отключен. Вы можете включить его в настройках MPC-HC."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr "Эта опция может быть использована для просмотра мультимедийных файлов с удаленного местоположения. Используйте его только на должным образом обеспеченных частной сети. Вы действительно хотите включить эту опцию?"
+msgstr "Эта опция может быть использована для удаленного предпросмотра мультимедийных файлов. Используйте ее только в безопасных частных сетях. \n\nВы действительно хотите включить эту опцию?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr "Внешний обработчик субтитров"
+msgstr "Встроенный рендер субтитров"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1434,13 +1456,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Изображение успешно сохранено"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Загрузить субтитры"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Открыть субтитры..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Сохранить субтитры"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Сохранить субтитры..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1464,11 +1486,11 @@ msgstr "Стоп"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Frame-step"
-msgstr "Шаг вперед"
+msgstr "Шаг на кадр вперед"
msgctxt "IDS_MPLAYERC_16"
msgid "Frame-step back"
-msgstr "Шаг назад"
+msgstr "Шаг на кадр назад"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1488,7 +1510,7 @@ msgstr "Спорт"
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr "Детские/молодёжные программы"
+msgstr "Детские/Молодежные программы"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
@@ -1500,11 +1522,11 @@ msgstr "Искусство/Культура"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
-msgstr "Социальные/политические события/Экономика"
+msgstr "Социальные/Политические события/Экономика"
msgctxt "IDS_CONTENT_LEISURE"
msgid "Leisure hobbies"
-msgstr "Досуг и отдых"
+msgstr "Досуг и хобби"
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
@@ -1516,15 +1538,15 @@ msgstr "Сохранить копию"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Последний ключевой кадр"
+msgstr "Посл. ключевой кадр"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Ближайший ключевой кадр"
+msgstr "Ближайш. ключевой кадр"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC столкнулся с проблемой во время инициализации. Воспроизведение DVD может не работать правильно. Это может быть вызвано некоторой несовместимостью со средства безопасности.\n\nВы хотите сообщить об этой проблеме?"
+msgstr "MPC-HC столкнулся с проблемой во время инициализации. Возможно, воспроизведение DVD работает неправильно. Это может быть вызвано несовместимостью с инструментами безопасности.\n\nВы хотите сообщить об этой проблеме?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1532,11 +1554,11 @@ msgstr "Никогда не показывать"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr "Отображать движущийся курсор, скрыть после:"
+msgstr "Отображать движущийся курсор:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr "Отображать при наведении на элемент управления, скрыть после:"
+msgstr "Отображать при наведении на элемент управления:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
@@ -1544,15 +1566,15 @@ msgstr "Не удалось установить шейдеры pre-resize"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Коррекция времени кадра: включена"
+msgstr "Коррекция времени кадра: вкл"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Коррекция времени кадра: отключена"
+msgstr "Коррекция времени кадра: выкл"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Целевое смещение синхронизации: %.1f"
+msgstr "Целевой сдвиг VSync: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
@@ -1564,11 +1586,11 @@ msgstr "Скорость: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
-msgstr "Миниатюра успешно сохранена"
+msgstr "Миниатюры успешно сохранены"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "Дорожка &видео"
+msgid "Vide&o Track"
+msgstr "Дорожка видео"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1580,11 +1602,11 @@ msgstr "Сбросить настройки"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Вы действительно хотите сбросить настройки плеера?\nИмейте в виду, что все ваши текущие настройки будут потеряны!"
+msgstr "Вы действительно хотите сбросить настройки MPC-HC?\nИмейте в виду, что все ваши текущие настройки будут потеряны!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Пожалуйста, закройте другие копии MPC-HC."
+msgstr "Для восстановления настроек требуется закрыть все окна MPC-HC."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
@@ -1592,7 +1614,7 @@ msgstr "Экспорт настроек"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Некоторые настройки не были сохранены.\nВы хотите сохранить их перед экспортом?"
+msgstr "Некоторые изменения не были сохранены.\nВы хотите сохранить их перед экспортом?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
@@ -1600,7 +1622,7 @@ msgstr "Настройки успешно экспортированы."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr "Не удалось выполнить экспорт! Возможно у вас недостаточно прав."
+msgstr "Не удалось экспортировать настройки! Возможно, у вас недостаточно прав."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
@@ -1612,15 +1634,15 @@ msgstr "Уменьшить скорость"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Сбросить скорость в 100%"
+msgstr "Установить скорость по умолчанию"
msgctxt "IDS_MPLAYERC_21"
msgid "Audio Delay +10 ms"
-msgstr "Задержка аудио +10мс"
+msgstr "Задержка аудио +10 мс"
msgctxt "IDS_MPLAYERC_22"
msgid "Audio Delay -10 ms"
-msgstr "Задержка аудио -10мс"
+msgstr "Задержка аудио -10 мс"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1656,11 +1678,11 @@ msgstr "Переход назад (по ключевым кадрам)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
-msgstr "Следующий"
+msgstr "След."
msgctxt "IDS_AG_PREVIOUS"
msgid "Previous"
-msgstr "Предыдущий"
+msgstr "Пред."
msgctxt "IDS_AG_NEXT_FILE"
msgid "Next File"
@@ -1672,7 +1694,7 @@ msgstr "Предыдущий файл"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "Полноэкранный Direct3D Вкл/Откл"
+msgstr "Вкл/откл полноэкранный D3D-режим"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
@@ -1700,11 +1722,11 @@ msgstr "OSD: Показать имя файла"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr "Проиграть DVD"
+msgstr "Воспроизведение DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr "Проиграть BD"
+msgstr "Воспроизведение BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
@@ -1736,7 +1758,7 @@ msgstr "Скрыть меню"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr "Расширенный"
+msgstr "Расширенные"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
@@ -1803,8 +1825,8 @@ msgid "PnS Dec Height"
msgstr "Уменьшить высоту кадра"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Субтитры загружаются, пожалуйста, подождите."
+msgid "Downloading [%s] \"%s\""
+msgstr "Загрузка [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1820,7 +1842,7 @@ msgstr "%d субтитров доступно."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Вы хотите, чтобы плеер автоматически проверял обновления?\n\nЭту функция может быть отключена в настройках на странице 'Разное'."
+msgstr "Вы хотите, чтобы плеер сам проверял наличие обновлений?\n\nЭту функция может быть отключена в настройках на странице \"Разное\"."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1836,11 +1858,11 @@ msgstr "200%"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
-msgstr "Вписать"
+msgstr "Подогнать"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr "Вписать (только большие)"
+msgstr "Подогнать (только большие)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
@@ -1852,7 +1874,7 @@ msgstr "Масштаб: Авто (только большие)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
-msgstr "Дважды кликните, чтобы открыть папку"
+msgstr "Кликните дважды, чтобы открыть папку"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
@@ -1860,7 +1882,7 @@ msgstr "Переключение между прошедшим и оставши
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
-msgstr "Некорректный интервал"
+msgstr "Некорректная задержка"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
@@ -1904,11 +1926,11 @@ msgstr "Сдвинуть кадр вниз/вправо"
msgctxt "IDS_AG_VOLUME_UP"
msgid "Volume Up"
-msgstr "Увеличить громкость"
+msgstr "Повысить громкость"
msgctxt "IDS_AG_VOLUME_DOWN"
msgid "Volume Down"
-msgstr "Уменьшить громкость"
+msgstr "Понизить громкость"
msgctxt "IDS_AG_VOLUME_MUTE"
msgid "Volume Mute"
@@ -1916,11 +1938,11 @@ msgstr "Отключить звук"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
-msgstr "DVD - заглавное меню"
+msgstr "Заглавное меню DVD"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr "DVD - корневое меню"
+msgstr "Корневое меню DVD"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
@@ -1932,11 +1954,11 @@ msgstr "DVD - меню аудио"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "DVD - меню углов"
+msgstr "Меню углов DVD"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
-msgstr "DVD - меню сцен"
+msgstr "Меню глав DVD"
msgctxt "IDS_AG_DVD_MENU_LEFT"
msgid "DVD Menu Left"
@@ -1956,15 +1978,15 @@ msgstr "DVD меню - вниз"
msgctxt "IDS_MPLAYERC_73"
msgid "DVD Menu Activate"
-msgstr "DVD меню - активировать"
+msgstr "Меню DVD - активировать"
msgctxt "IDS_AG_DVD_MENU_BACK"
msgid "DVD Menu Back"
-msgstr "DVD меню - назад"
+msgstr "Меню DVD - назад"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "DVD меню - покинуть"
+msgstr "Меню DVD - покинуть"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
@@ -1984,59 +2006,59 @@ msgstr "Меню фильтров"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
-msgstr "Опции"
+msgstr "Настройки"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr "Следующий трек"
+msgstr "Следующая дорожка аудио"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr "Предыдущий трек"
+msgstr "Предыдущая дорожка аудио"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr "Следующие субтитры"
+msgstr "Следующая дорожка субтитров"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr "Предыдущие субтитры"
+msgstr "Следующая дорожка субтитров"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
-msgstr "Субтитры Вкл/Откл"
+msgstr "Вкл/откл субтитры"
msgctxt "IDS_MPLAYERC_86"
msgid "Reload Subtitles"
-msgstr "Перезагрузить субтитры"
+msgstr "Перезапустить субтитры"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
-msgstr "Следующий угол (DVD)"
+msgstr "След. угол (DVD)"
msgctxt "IDS_MPLAYERC_92"
msgid "Prev Angle (DVD)"
-msgstr "Предыдущий угол (DVD)"
+msgstr "Пред. угол (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr "Следующий трек (DVD)"
+msgstr "Следующая дорожка аудио (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr "Предыдущий трек (DVD)"
+msgstr "Предыдущая дорожка аудио (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr "Следующие субтитры (DVD)"
+msgstr "Следующая дорожка субтитров (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr "Предыдущие субтитры (DVD)"
+msgstr "Предыдущая дорожка субтитров (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "Субтитры Вкл/Откл (DVD)"
+msgstr "Вкл/откл субтитры (DVD)"
msgctxt "IDS_OSD_DISPLAY_CURRENT_TIME"
msgid "OSD: Display Current Time"
@@ -2066,11 +2088,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Зашифрованный"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Да"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Нет"
@@ -2104,7 +2126,7 @@ msgstr "Субтитры сохранены"
msgctxt "IDS_MAINFRM_4"
msgid "Cannot save subtitles"
-msgstr "Не удаётся сохранить субтитры."
+msgstr "Не удается сохранить субтитры."
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
@@ -2116,11 +2138,11 @@ msgstr "записано: %d, потеряно: %d"
msgctxt "IDS_AG_FRAMES"
msgid "Frames"
-msgstr "Кадров"
+msgstr "Кадры"
msgctxt "IDS_AG_BUFFERS"
msgid "Buffers"
-msgstr "Буферов"
+msgstr "Буферы"
msgctxt "IDS_MAINFRM_9"
msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
@@ -2144,11 +2166,11 @@ msgstr "Воспроизвести в MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr "MPC-HC не имеет достаточно прав для изменения ассоциаций с файлами. Нажмите \"Запуск от имени администратора\"."
+msgstr "MPC-HC не имеет достаточно прав для изменения файловых ассоциаций. Нажмите кнопку «Запуск от имени администратора»."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC - это чрезвычайно легкий, с открытым исходным кодом медиа-плеер для Windows. Он поддерживает все распространенные форматы видео и аудио файлов, доступных для воспроизведения. Мы гарантируем 100% свободу от шпионских программ, рекламы или тулбаров."
+msgstr "MPC-HC - это чрезвычайно легкий и открытый медиаплеер для Windows. Он поддерживает все распространенные форматы видео- и аудиофайлов, доступные для воспроизведения. Мы гарантируем 100% свободу от шпионских программ, рекламы или панелей инструментов."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2156,7 +2178,7 @@ msgstr "канал"
msgctxt "IDS_MAINFRM_13"
msgid "channels"
-msgstr "каналов"
+msgstr "каналы"
msgctxt "IDS_AG_TITLE"
msgid "Title %u"
@@ -2164,11 +2186,11 @@ msgstr "Раздел %u"
msgctxt "IDS_MAINFRM_16"
msgid "DVD: Unexpected error"
-msgstr "DVD: Непредвиденная ошибка."
+msgstr "DVD: Непредвиденная ошибка"
msgctxt "IDS_MAINFRM_17"
msgid "DVD: Copy-Protect Fail"
-msgstr "DVD: проблема с защитой от копирования."
+msgstr "DVD: проблема с защитой от копирования"
msgctxt "IDS_MAINFRM_18"
msgid "DVD: Invalid DVD 1.x Disc"
@@ -2176,27 +2198,27 @@ msgstr "DVD: Неправильный диск DVD 1.x"
msgctxt "IDS_MAINFRM_19"
msgid "DVD: Invalid Disc Region"
-msgstr "DVD: Неправильный регион диска."
+msgstr "DVD: Неправильный регион диска"
msgctxt "IDS_MAINFRM_20"
msgid "DVD: Low Parental Level"
-msgstr "DVD: Низкий уровень родительского контроля."
+msgstr "DVD: Низкий уровень родительского контроля"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
-msgstr "DVD: Проблема с Macrovision."
+msgstr "DVD: Сбой Macrovision"
msgctxt "IDS_MAINFRM_22"
msgid "DVD: Incompatible System And Decoder Regions"
-msgstr "DVD: Несовместимые регионы декодера и системы."
+msgstr "DVD: Несовместимые регионы декодера и системы"
msgctxt "IDS_MAINFRM_23"
msgid "DVD: Incompatible Disc And Decoder Regions"
-msgstr "DVD: Несовместимые регионы декодера и диска."
+msgstr "DVD: Несовместимые регионы декодера и диска"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Эта опция служит для устранения дрожания, однако её включение препятствует отображению контекстного меню и диалогов.\n\nВы действительно хотите активировать опцию?"
+msgstr "Эта опция служит для устранения разрывов, однако ее включение препятствует отображению контекстного меню и диалогов во время воспроизведения.\n\nВы действительно хотите активировать эту опцию?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2212,27 +2234,19 @@ msgstr "Имя файла содержит недопустимые символ
msgctxt "IDS_THUMB_ROWNUMBER"
msgid "Rows:"
-msgstr "Строк:"
+msgstr "Строки:"
msgctxt "IDS_THUMB_COLNUMBER"
msgid "Columns:"
-msgstr "Столбцов:"
+msgstr "Колонки:"
msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Ширина"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Введённый URL верный!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Версия протокола не совпадает. Пожалуйста, обновите ваш плеер или выберите другой адрес!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "Пропорции"
+msgstr "Соотношение сторон"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
@@ -2240,23 +2254,23 @@ msgstr ", Всего: %ld, Потеряно: %ld"
msgctxt "IDS_MAINFRM_38"
msgid ", Size: %I64d KB"
-msgstr ", Размер: %I64dКб"
+msgstr ", Размер: %I64d Кб"
msgctxt "IDS_MAINFRM_39"
msgid ", Size: %I64d MB"
-msgstr ", Размер: %I64dМб"
+msgstr ", Размер: %I64d Мб"
msgctxt "IDS_MAINFRM_40"
msgid ", Free: %I64d KB"
-msgstr ", Свободно: %I64dКб"
+msgstr ", Свободно: %I64d Кб"
msgctxt "IDS_MAINFRM_41"
msgid ", Free: %I64d MB"
-msgstr ", Свободно: %I64dМб"
+msgstr ", Свободно: %I64d Мб"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr ", Свободно буферов: %03d/%03d"
+msgstr ", Свободные буферы: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2264,7 +2278,7 @@ msgstr "Ошибка"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
-msgstr "Субтитры: отключены"
+msgstr "Субтитры: откл"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
@@ -2292,7 +2306,7 @@ msgstr "Проблема с GetCurrentImage, hr = %08x"
msgctxt "IDS_SCREENSHOT_ERROR"
msgid "Cannot create file"
-msgstr "Не удаётся создать файл"
+msgstr "Не удается создать файл"
msgctxt "IDS_THUMBNAILS_NO_DURATION"
msgid "Cannot create thumbnails for files with no duration"
@@ -2300,11 +2314,11 @@ msgstr "Невозможно создать миниатюры для файло
msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
msgid "Failed to get video frame size"
-msgstr "Не удаётся получить размер видеокадра"
+msgstr "Не удается получить размер видеокадра"
msgctxt "IDS_OUT_OF_MEMORY"
msgid "Out of memory, go buy some more!"
-msgstr "Не хватает памяти, купите ещё!"
+msgstr "Не хватает памяти!"
msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
@@ -2320,11 +2334,11 @@ msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Имя файла: %s\\N%sР
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr "Невозможно создать файл со столь небольшими миниатюрами.\n\nПопробуйте уменьшить количество миниатюр или увеличить общий размер."
+msgstr "Невозможно создать файл со столь малыми миниатюрами.\n\nПопробуйте уменьшить количество миниатюр или увеличить общий размер."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Для загрузки субтитров необходимо изменить тип рендерера и открыть файл заново.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync или madVR\n- RealMedia: специалный рендерер для RealMedia, или открывайте через DirectShow\n- QuickTime: DX7 или DX9 рендерер для QuickTime\n- ShockWave: не поддерживается"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Для открытия субтитров вы должны изменить тип рендера видео и открыть файл заново.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR или Haali\n- RealMedia: специальный рендер для RealMedia (или откройте его через DirectShow напрямую)\n- QuickTime: DX7 или DX9-рендер для QuickTime\n- ShockWave: -"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2332,15 +2346,15 @@ msgstr "Файлы субтитров"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
-msgstr "Пропорции: %ld:%ld"
+msgstr "Соотношение сторон: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Пропорции: стандартные"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Соотношение сторон: по умолчанию (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
-msgstr "Задержка аудио: %I64dмс"
+msgstr "Задержка аудио: %I64d мс"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2352,15 +2366,15 @@ msgstr "Не хватает памяти"
msgctxt "IDS_MAINFRM_77"
msgid "Error: Adobe Flash Player for Internet Explorer is required"
-msgstr "Ошибка: требуется Flash для Internet Explorer"
+msgstr "Ошибка: требуется Adobe Flash Player для Internet Explorer"
msgctxt "IDS_MAINFRM_78"
msgid "QuickTime not yet supported for X64 (apple library not available)"
-msgstr "QuickTime пока не поддерживается для X64 (библиотеки от Apple недоступны)"
+msgstr "QuickTime еще не поддерживается X64 (библиотека Apple недоступна)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "Не удаётся создать граф фильтра"
+msgstr "Не удается создать граф фильтра"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2368,15 +2382,11 @@ msgstr "Неверный аргумент"
msgctxt "IDS_MAINFRM_82"
msgid "Opening aborted"
-msgstr "Открытие прервано"
+msgstr "Открытие отменено"
msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
-msgstr "Не удаётся воспроизвести файл"
-
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL неверный, невозможно обнаружить базу субтитров!"
+msgstr "Не удалось обработать файл"
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
@@ -2400,11 +2410,11 @@ msgstr "Текущий"
msgctxt "IDS_MAINFRM_DIR_TITLE"
msgid "Select Directory"
-msgstr "Выберите папку"
+msgstr "Выбор папки"
msgctxt "IDS_MAINFRM_DIR_CHECK"
msgid "Include subdirectories"
-msgstr "Вкл. подпапки"
+msgstr "Вкл подпапки"
msgctxt "IDS_AG_PAUSE"
msgid "Pause"
@@ -2412,15 +2422,15 @@ msgstr "Пауза"
msgctxt "IDS_AG_TOGGLE_CAPTION"
msgid "Toggle Caption&Menu"
-msgstr "Вкл/Откл заголовок и меню"
+msgstr "Вкл/откл отображение заголовка и меню"
msgctxt "IDS_AG_TOGGLE_SEEKER"
msgid "Toggle Seek Bar"
-msgstr "Вкл/Откл полосу прокрутки"
+msgstr "Вкл/откл отображение ползунка"
msgctxt "IDS_AG_TOGGLE_CONTROLS"
msgid "Toggle Controls"
-msgstr "Вкл/Откл управление"
+msgstr "Вкл/откл отображение элементов управления"
msgctxt "IDS_MAINFRM_84"
msgid "Invalid file name"
@@ -2428,11 +2438,11 @@ msgstr "Неверное имя файла"
msgctxt "IDS_MAINFRM_86"
msgid "Cannot connect the filters"
-msgstr "Не удаётся подключить фильтры"
+msgstr "Не удается подключить фильтры"
msgctxt "IDS_MAINFRM_87"
msgid "Cannot load any source filter"
-msgstr "Не удаётся загрузить ни одного фильтра источников"
+msgstr "Не удается загрузить ни один фильтр-источник"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
@@ -2456,11 +2466,11 @@ msgstr "Неподдерживаемый поток"
msgctxt "IDS_MAINFRM_93"
msgid "Cannot find DVD directory"
-msgstr "Не удаётся найти каталог DVD"
+msgstr "Не удается найти каталог DVD"
msgctxt "IDS_MAINFRM_94"
msgid "Can't create the DVD Navigator filter"
-msgstr "Не удаётся создать фильтр DVD-навигатора"
+msgstr "Не удается создать фильтр-навигатор DVD"
msgctxt "IDS_AG_FAILED"
msgid "Failed"
@@ -2468,19 +2478,19 @@ msgstr "Неудачно"
msgctxt "IDS_MAINFRM_96"
msgid "Can't create video capture filter"
-msgstr "Не удаётся создать фильтр видеозахвата"
+msgstr "Не удается создать фильтр видеозахвата"
msgctxt "IDS_MAINFRM_98"
msgid "No capture filters"
-msgstr "Фильтры видеозахвата отсутствуют"
+msgstr "Отсутствуют фильтры видеозахвата "
msgctxt "IDS_MAINFRM_99"
msgid "Can't create capture graph builder object"
-msgstr "Не удаётся создать объект построителя графа видеозахвата"
+msgstr "Не удается создать объект построителя графа видеозахвата"
msgctxt "IDS_MAINFRM_108"
msgid "Couldn't open any device"
-msgstr "Не удаётся открыть ни одного устройства"
+msgstr "Не удается открыть ни одно устройство"
msgctxt "IDS_AG_SOUND"
msgid "Sound"
@@ -2500,7 +2510,7 @@ msgstr "&Свойства..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr " (pin) свойства..."
+msgstr " Свойства (pin) ..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2524,7 +2534,7 @@ msgstr " (Комментарии режиссера 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "Включить DVD субтитры"
+msgstr "Включить субтитры DVD"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2544,7 +2554,7 @@ msgstr "Уменьшить сдвиг VSync"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
-msgstr "MPC-HC Полноэкранный D3D"
+msgstr "MPC-HC полноэкранный D3D-режим"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
@@ -2552,7 +2562,7 @@ msgstr "Неизвестный формат"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Смещение субтитров: %ld"
+msgstr "Сдвиг субтитров: %ld"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
@@ -2571,40 +2581,40 @@ msgid "Volume boost Max"
msgstr "Усиление громкости - Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Использование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог для загрузки (разрешены \n\t\tмаски, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл со смещением XXмс\n\t\t(если файл содержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноэкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные субтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маски)\n/dvd\t\tЗапуск в режиме DVD, \"путь\" означает каталог\n\t\tс DVD (опционально)\n/dvdpos T#C\tНачать воспроизведение с title T, chapter C\n/dvdpos T#hh:mm\tНачать воспроизведение с title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить все дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диску (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tНачинать воспроизведение сразу после запуска\n/close\t\tЗакрыть по окончании воспроизведения\n\t\t(работает только с ключем /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоспроизведения\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуск в полноэкранном режиме\n/minimized\tЗапуск в свернутом виде\n/new\t\tИспользовать новую копию проигрывателя\n/add\t\tДобавить \"путь\" в плейлист, можно совместно\n\t\tс ключами /open и /play\n/randomize\tRandomize the playlist\n/regvid\t\tРегистрировать видеоформаты\n/regaud\t\tРегистрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегистрировать все форматы\n/start ms\t\tВоспроизводить с позиции \"ms\"\n\t\t(миллисекунды)\n/startpos hh:mm:ss\tВоспроизводить с позиции hh:mm:ss\n/fixedsize w,h\tУстановить фиксированный размер окна\n/monitor N\tЗапускаться на мониторе N, где N\n\t\tотсчитывается с 1\n/audiorenderer N\tИспользовать аудиорендер N, где N\n\t\tотсчитывается с 1 (смотрите настройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tВостановить настройки по умолчанию\n/help /h /?\tПоказывает эту справку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Использование: mpc-hc.exe \"путь\" [ключи]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "В командной строке найдены нераспознанные переключатели: \n\n"
+msgstr "В командной строке найдены неопознанные переключатели: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "Вкл/Откл информацию"
+msgstr "Вкл/откл отображение информации"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
-msgstr "Вкл/Откл статистику"
+msgstr "Вкл/откл отображение статистики"
msgctxt "IDS_AG_TOGGLE_STATUS"
msgid "Toggle Status"
-msgstr "Вкл/Откл статусную строку"
+msgstr "Вкл/откл отображение статусной строки"
msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
msgid "Toggle Subresync Bar"
-msgstr "Вкл/Откл окно синхронизации субтитров"
+msgstr "Вкл/откл отображение окна синхронизации субтитров"
msgctxt "IDS_AG_TOGGLE_PLAYLIST"
msgid "Toggle Playlist Bar"
-msgstr "Вкл/Откл плейлист"
+msgstr "Вкл/откл отображение плейлиста"
msgctxt "IDS_AG_TOGGLE_CAPTURE"
msgid "Toggle Capture Bar"
-msgstr "Вкл/Откл окно захвата"
+msgstr "Вкл/откл отображение окна захвата"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr "Вкл/Откл отладку шейдеров"
+msgstr "Вкл/откл отладку шейдеров"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2620,15 +2630,15 @@ msgstr "Масштаб 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
-msgstr "Следующая предустановка пропорций"
+msgstr "След. предустановка пропорций"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "Видеокадр. Растянуть до размера экрана"
+msgstr "Растянуть видеокадр до размеров экрана"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
-msgstr "Видеокадр. Вписать в размер экрана"
+msgstr "Вписать видеокадр в размер экрана"
msgctxt "IDS_AG_VIDFRM_OUTSIDE"
msgid "VidFrm Outside"
@@ -2636,43 +2646,35 @@ msgstr "Видеокадр. Заполнить экран и обрезать к
msgctxt "IDS_AG_PNS_RESET"
msgid "PnS Reset"
-msgstr "Сбросить настройки положения кадра"
+msgstr "Положение кадра по умолчанию"
msgctxt "IDS_AG_PNS_ROTATEX_P"
msgid "PnS Rotate X+"
-msgstr "Повернуть кадр по X+"
+msgstr "Вращение кадра X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr "Видеокадр. Zoom 1"
+msgstr "Масштаб видеокадра 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr "Видеокадр. Zoom 2"
+msgstr "Масштаб видеокадра 2"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
-msgstr "Видеокадр. Изменить масштаб"
+msgstr "Изменить масштаб видеокадра"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Включить все фильтры"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Настройка тюнера"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Субтитры не загружены либо неподдерживаемый видео-рендер."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
-msgstr "Свяжитесь c разработчиком, если это ваш логотип!"
+msgstr "Автор неизвестен. Свяжитесь c нами, если вы сделали этот логотип!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "Воспроизведение медиа-файлов из каталога закончено"
+msgstr "В текущей папке больше нет медиафайлов."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
@@ -2696,7 +2698,7 @@ msgstr "Передний центр"
msgctxt "IDS_LOW_FREQUENCY"
msgid "Low Frequency"
-msgstr "Сабвуфер"
+msgstr "Низкая частота"
msgctxt "IDS_BACK_LEFT"
msgid "Back Left"
@@ -2756,11 +2758,11 @@ msgstr "Верх. задний правый"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seek bar"
-msgstr "над полосой прокрутки"
+msgstr "Над полосой прокрутки"
msgctxt "IDS_TIME_TOOLTIP_BELOW"
msgid "Below seek bar"
-msgstr "под полосой прокрутки"
+msgstr "Под полосой прокрутки"
msgctxt "IDS_VIDEO_STREAM"
msgid "Video: %s"
@@ -2776,7 +2778,7 @@ msgstr "Очистить"
msgctxt "IDS_CANCEL"
msgid "Cancel"
-msgstr "Отменить"
+msgstr "Отмена"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
@@ -2784,7 +2786,7 @@ msgstr "Размешение"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
-msgstr "Пикселей:"
+msgstr "Пиксели:"
msgctxt "IDS_TEXTFILE_ENC"
msgid "Encoding:"
@@ -2796,23 +2798,23 @@ msgstr "&Отключить все фильтры"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr "Включить все аудио декодеры"
+msgstr "Включить все декодеры аудио"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr "Отключить все аудио декодеры"
+msgstr "Отключить все декодеры аудио"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
-msgstr "Включить все видео декодеры"
+msgstr "Включить все декодеры видео"
msgctxt "IDS_DISABLE_VIDEO_FILTERS"
msgid "Disable all video decoders"
-msgstr "Отключить все видео декодеры"
+msgstr "Отключить все декодеры видео"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
-msgstr "Растянуть до размера экрана"
+msgstr "Растянуть до размера окна"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
@@ -2868,7 +2870,7 @@ msgstr "MP4"
msgctxt "IDS_MFMT_MOV"
msgid "QuickTime Movie"
-msgstr "QuickTime фильм"
+msgstr "QuickTime Movie"
msgctxt "IDS_MFMT_3GP"
msgid "3GP"
@@ -2880,7 +2882,7 @@ msgstr "3G2"
msgctxt "IDS_MFMT_FLV"
msgid "Flash Video"
-msgstr "Flash видео"
+msgstr "Flash Video"
msgctxt "IDS_MFMT_OGM"
msgid "Ogg Media"
@@ -2896,15 +2898,15 @@ msgstr "Real Script"
msgctxt "IDS_MFMT_WMV"
msgid "Windows Media Video"
-msgstr "Windows Media видео"
+msgstr "Windows Media Video"
msgctxt "IDS_MFMT_BINK"
msgid "Smacker/Bink Video"
-msgstr "Smacker/Bink видео"
+msgstr "Smacker/Bink Video"
msgctxt "IDS_MFMT_FLIC"
msgid "FLIC Animation"
-msgstr "FLIC анимация"
+msgstr "FLIC Animation"
msgctxt "IDS_MFMT_DSM"
msgid "DirectShow Media"
@@ -2912,7 +2914,7 @@ msgstr "DirectShow Media"
msgctxt "IDS_MFMT_IVF"
msgid "Indeo Video Format"
-msgstr "Indeo Video формат"
+msgstr "Indeo Video Format"
msgctxt "IDS_MFMT_OTHER"
msgid "Other"
@@ -2936,7 +2938,7 @@ msgstr "AIFF"
msgctxt "IDS_MFMT_ALAC"
msgid "Apple Lossless"
-msgstr "Apple Lossless (без потерь)"
+msgstr "Apple Lossless"
msgctxt "IDS_MFMT_WAV"
msgid "WAV"
@@ -2964,7 +2966,7 @@ msgstr "AMR"
msgctxt "IDS_MFMT_APE"
msgid "Monkey's Audio"
-msgstr "Monkey аудио"
+msgstr "Monkey's Audio"
msgctxt "IDS_MFMT_AU"
msgid "AU/SND"
@@ -2972,7 +2974,7 @@ msgstr "AU/SND"
msgctxt "IDS_MFMT_CDA"
msgid "Audio CD track"
-msgstr "Дорожка аудио CD"
+msgstr "Audio CD track"
msgctxt "IDS_MFMT_FLAC"
msgid "FLAC"
@@ -2980,7 +2982,7 @@ msgstr "FLAC"
msgctxt "IDS_MFMT_M4A"
msgid "MPEG-4 Audio"
-msgstr "MPEG-4 аудио"
+msgstr "MPEG-4 Audio"
msgctxt "IDS_MFMT_MIDI"
msgid "MIDI"
@@ -2988,7 +2990,7 @@ msgstr "MIDI"
msgctxt "IDS_MFMT_MKA"
msgid "Matroska audio"
-msgstr "Matroska аудио"
+msgstr "Matroska audio"
msgctxt "IDS_MFMT_MP3"
msgid "MP3"
@@ -2996,7 +2998,7 @@ msgstr "MP3"
msgctxt "IDS_MFMT_MPA"
msgid "MPEG audio"
-msgstr "MPEG аудио"
+msgstr "MPEG audio"
msgctxt "IDS_MFMT_MPC"
msgid "Musepack"
@@ -3028,11 +3030,11 @@ msgstr "Плейлист"
msgctxt "IDS_MFMT_BDPLS"
msgid "Blu-ray playlist"
-msgstr "Blu-ray плейлист"
+msgstr "Плейлист Blu-ray"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
-msgstr "RAR архив"
+msgstr "RAR-архив"
msgctxt "IDS_DVB_CHANNEL_FPS"
msgid "FPS"
@@ -3048,67 +3050,67 @@ msgstr "Соотношение сторон"
msgctxt "IDS_OSD_RS_VSYNC_ON"
msgid "VSync: On"
-msgstr "VSync: включен"
+msgstr "VSync: вкл"
msgctxt "IDS_OSD_RS_VSYNC_OFF"
msgid "VSync: Off"
-msgstr "VSync: выключен"
+msgstr "VSync: откл"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr "Аккуратный VSync: включен"
+msgstr "Точная VSync: вкл"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr "Аккуратный VSync: отключен"
+msgstr "Точная VSync: откл"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
-msgstr "Синхронизировать видео с дисплеем: включено"
+msgstr "Синхронизировать видео с дисплеем: вкл"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
msgid "Synchronize Video to Display: Off"
-msgstr "Синхронизировать видео с дисплеем: отключено"
+msgstr "Синхронизировать видео с дисплеем: откл"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
msgid "Synchronize Display to Video: On"
-msgstr "Синхронизировать дисплей с видео: включено"
+msgstr "Синхронизировать дисплей с видео: вкл"
msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
msgid "Synchronize Display to Video: Off"
-msgstr "Синхронизировать дисплей с видео: отключено"
+msgstr "Синхронизировать дисплей с видео: откл"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
msgid "Present at Nearest VSync: On"
-msgstr "Представлять с ближайшим VSync: включено"
+msgstr "Вывод на ближайшей VSync: вкл"
msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
msgid "Present at Nearest VSync: Off"
-msgstr "Представлять с ближайшим VSync: отключено"
+msgstr "Вывод на ближайшей VSync: откл"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
-msgstr "Управление цветом: включено"
+msgstr "Управление цветом: вкл"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr "Управление цветом: отключено"
+msgstr "Управление цветом: откл"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
-msgstr "Тип входа: Автоопределение"
+msgstr "Тип ввода: Автоопределение"
msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
msgid "Input Type: HDTV"
-msgstr "Тип входа: HDTV"
+msgstr "Тип ввода: HDTV"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
msgid "Input Type: SDTV NTSC"
-msgstr "Тип входа: SDTV NTSC"
+msgstr "Тип ввода: SDTV NTSC"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
msgid "Input Type: SDTV PAL"
-msgstr "Тип входа: SDTV PAL"
+msgstr "Тип ввода: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
@@ -3124,7 +3126,7 @@ msgstr "Окружающий свет: Темный (гамма 2.4)"
msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
msgid "Rendering Intent: Perceptual"
-msgstr "Метод пересчета: Восприятие"
+msgstr "Метод пересчета: Перцептуальный"
msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
msgid "Rendering Intent: Relative Colorimetric"
@@ -3144,127 +3146,127 @@ msgstr "Диапазон вывода: %s"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
msgid "Flush GPU before VSync: On"
-msgstr "Заполнить GPU перед VSync: включено"
+msgstr "Опустошить GPU перед VSync: вкл"
msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
msgid "Flush GPU before VSync: Off"
-msgstr "Заполнить GPU перед VSync: отключено"
+msgstr "Опустошить GPU перед VSync: откл"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
msgid "Flush GPU after Present: On"
-msgstr "Заполнить GPU после представления: включено"
+msgstr "Опустошить GPU после вывода: вкл"
msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
msgid "Flush GPU after Present: Off"
-msgstr "Заполнить GPU после представления: отключено"
+msgstr "Опустошить GPU после вывода: откл"
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
-msgstr "Заполнить GPU перед VSync: включено"
+msgstr "Ожидать опустошения GPU: вкл"
msgctxt "IDS_OSD_RS_WAIT_OFF"
msgid "Wait for GPU Flush: Off"
-msgstr "Заполнить GPU перед VSync: отключено"
+msgstr "Ожидать опустошения GPU: откл"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
-msgstr "Полноэкранный D3D: включен"
+msgstr "Полноэкранный D3D: вкл"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
msgid "D3D Fullscreen: Off"
-msgstr "Полноэкранный D3D: отключен"
+msgstr "Полноэкранный D3D: откл"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
-msgstr "эффекты рабочего стола (Aero): отключены"
+msgstr "Эффекты рабочего стола: вкл."
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr "эффекты рабочего стола (Aero): включены"
+msgstr "Эффекты рабочего стола: откл."
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr "Альтернативный VSync: включен"
+msgstr "Альтернативная VSync: вкл"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr "Альтернативный VSync: отключен"
+msgstr "Альтернативная VSync: откл"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
-msgstr "Настройки рендеринга по умолчанию"
+msgstr "Установлены настройки рендера по умолчанию"
msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
msgid "Renderer settings reset to optimal"
-msgstr "Настройки рендеринга оптимальные"
+msgstr "Установлены оптимальные настройки рендера"
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
msgid "D3D Fullscreen GUI Support: On"
-msgstr "Полноэкранный D3D с поддержкой GUI: включен"
+msgstr "Поддержка интерфейса в полноэкранном режиме: вкл."
msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
msgid "D3D Fullscreen GUI Support: Off"
-msgstr "Полноэкранный D3D с поддержкой GUI: отключен"
+msgstr "Поддержка интерфейса в полноэкранном режиме: откл"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
msgid "10-bit RGB Output: On"
-msgstr "10-битный RGB вывод: включен"
+msgstr "10-битный RGB-вывод: вкл"
msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
msgid "10-bit RGB Output: Off"
-msgstr "10-битный RGB вывод: отключен"
+msgstr "10-битный RGB-вывод: откл"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
msgid "Force 10-bit RGB Input: On"
-msgstr "Форсированный 10-битный RGB вход: включен"
+msgstr "Принудительный 10-битный RGB-ввод: вкл"
msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
msgid "Force 10-bit RGB Input: Off"
-msgstr "Форсированный 10-битный RGB вход: отключен"
+msgstr "Принудительный 10-битный RGB-ввод: откл"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
msgid "Full Floating Point Processing: On"
-msgstr "Точные расчеты в числах с плавающей точкой: Вкл"
+msgstr "Полные расчеты чисел с плавающей точкой: вкл"
msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
msgid "Full Floating Point Processing: Off"
-msgstr "Точные расчеты в числах с плавающей точкой: Выкл"
+msgstr "Полные расчеты чисел с плавающей точкой: откл"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
msgid "Half Floating Point Processing: On"
-msgstr "Быстрые расчеты в числах с плавающей точкой: Вкл"
+msgstr "Половинчатые расчеты в числах с плавающей точкой: вкл"
msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
msgid "Half Floating Point Processing: Off"
-msgstr "Быстрые расчеты в числах с плавающей точкой: Выкл"
+msgstr "Половинчатые расчеты в числах с плавающей точкой: откл"
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
-msgstr "Яркость уменьшить"
+msgstr "Уменьшить яркость"
msgctxt "IDS_CONTRAST_INC"
msgid "Contrast increase"
-msgstr "Контраст увеличить"
+msgstr "Увеличить контрастность"
msgctxt "IDS_CONTRAST_DEC"
msgid "Contrast decrease"
-msgstr "Контраст уменьшить"
+msgstr "Уменьшить контрастность"
msgctxt "IDS_HUE_INC"
msgid "Hue increase"
-msgstr "Увеличение цв. тона"
+msgstr "Увеличить тон"
msgctxt "IDS_HUE_DEC"
msgid "Hue decrease"
-msgstr "Уменьшение цв. тона"
+msgstr "Уменьшить тон"
msgctxt "IDS_SATURATION_INC"
msgid "Saturation increase"
-msgstr "Насыщенность увеличить"
+msgstr "Увеличить насыщенность"
msgctxt "IDS_SATURATION_DEC"
msgid "Saturation decrease"
-msgstr "Насыщенность уменьшить"
+msgstr "Уменьшить насыщенность"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
@@ -3276,15 +3278,15 @@ msgstr "\nВы используете последнюю стабильную в
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr "Ваша текущая версия v%s.\n\nПоследняя стабильная версия v%s."
+msgstr "Ваша текущая версия: v%s.\n\nПоследняя стабильная версия: v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "Доступна новая версия %s. Вы используете %s.\n\nВы хотите посетить сайт MPC-HC, чтобы скачать её ?"
+msgstr "Доступен MPC-HC версии %s. Вы используете версию %s.\n\nЖелаете ли вы посетить сайт MPC-HC для загрузки?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Сервер обновлений не найден.\n\nПожалуйста, проверьте связь с интернетом и попробуйте снова."
+msgstr "Сервер обновлений не найден.\n\nПожалуйста, проверьте ваше интернет-соединение и попробуйте снова."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3300,51 +3302,51 @@ msgstr "Масштаб: Авто"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
-msgstr "Пользовательское распределение каналов Вкл/Откл"
+msgstr "Вкл/откл пользовательское распределение каналов"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
-msgstr "Пользовательское распределение каналов: включено"
+msgstr "Пользовательское распределение каналов: вкл"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
msgid "Custom channel mapping: Off"
-msgstr "Пользовательское распределение каналов: отключено"
+msgstr "Пользовательское распределение каналов: откл"
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
-msgstr "Нормализация Вкл/Откл"
+msgstr "Вкл/откл нормализацию"
msgctxt "IDS_OSD_NORMALIZE_ON"
msgid "Normalization: On"
-msgstr "Нормализация: включена"
+msgstr "Нормализация: вкл"
msgctxt "IDS_OSD_NORMALIZE_OFF"
msgid "Normalization: Off"
-msgstr "Нормализация: отключена"
+msgstr "Нормализация: откл"
msgctxt "IDS_REGAIN_VOLUME"
msgid "Toggle regain volume"
-msgstr "Восстанавливать громкость Вкл/Откл"
+msgstr "Вкл/откл восстановление громкости"
msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
msgid "Regain volume: On"
-msgstr "Восстанавливать громкость: включено"
+msgstr "Восстановление громкости: вкл"
msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
-msgstr "Восстанавливать громкость: отключено"
+msgstr "Восстановление громкости: откл"
msgctxt "IDS_SIZE_UNIT_BYTES"
msgid "bytes"
-msgstr "байт"
+msgstr "б"
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
-msgstr "КБ"
+msgstr "Кб"
msgctxt "IDS_SIZE_UNIT_M"
msgid "MB"
-msgstr "МБ"
+msgstr "Мб"
msgctxt "IDS_SIZE_UNIT_G"
msgid "GB"
@@ -3352,75 +3354,71 @@ msgstr "ГБ"
msgctxt "IDS_SPEED_UNIT_K"
msgid "KB/s"
-msgstr "КБ/с"
+msgstr "Кб/с"
msgctxt "IDS_SPEED_UNIT_M"
msgid "MB/s"
-msgstr "МБ/с"
+msgstr "Мб/с"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
-msgstr "Невозможно создать тюнер."
+msgstr "Не удалось создать тюнер."
msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
msgid "Could not create the receiver."
-msgstr "Невозможно создать приемник."
+msgstr "Не удалось создать приемник."
msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
msgid "Could not connect the network and the tuner."
-msgstr "Невозможно подключиться к сети и тюнеру."
+msgstr "Не удалось связать сеть и тюнер."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
msgid "Could not connect the tuner and the receiver."
-msgstr "Невозможно подключиться к тюнеру и приемнику."
+msgstr "Не удалось связать тюнер и приемник."
msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
msgid "Could not connect the tuner."
-msgstr "Невозможно подключиться к тюнеру."
+msgstr "Не удалось подключить тюнер."
msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
msgid "Could not create the demultiplexer."
-msgstr "Невозможно создать демультиплексор."
+msgstr "Не удалось создать демультиплексор."
msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
msgid "Error parsing the entered time!"
-msgstr "Время написано некорректно!"
+msgstr "Ошибка при обработке введенного времени!"
msgctxt "IDS_GOTO_ERROR_PARSING_TEXT"
msgid "Error parsing the entered text!"
-msgstr "Текст написан некорректно!"
+msgstr "Ошибка при обработке текста!"
msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
msgid "Error parsing the entered frame rate!"
-msgstr "Количество кадров в секунду записаны некорректно!"
+msgstr "Ошибка при обработке введенной частоты кадров!"
msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
msgid "Cannot frame-step, try a different video renderer."
-msgstr "Покадровый просмотр невозможен, попробуйте другой видеорендерер."
+msgstr "Покадровый просмотр невозможен, попробуйте другой рендер видео."
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Функции 'Сохранить изображение' и 'Сохранить миниатюры' не работают с системным рендерером для RealMedia.\nВыберите один из DirectX рендереров для RealMedia и вновь откройте файл."
+msgstr "Функции \"Сохранить изображение\" и \"Сохранить миниатюры\" не работают с рендером для RealMedia по умолчанию.\nВыберите один из рендеров DirectX для RealMedia и откройте файл заново."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Функции 'Сохранить изображение' и 'Сохранить миниатюры' не работают с системным рендерером для QuickTime.\nВыберите один из DirectX рендереров для QuickTime и вновь откройте файл."
+msgstr "Функции \"Сохранить изображение\" и \"Сохранить миниатюры\" не работают с рендером для QuickTime по умолчанию.\nВыберите один из рендеров DirectX для QuickTime и откройте файл заново."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
-msgstr "Функции 'Сохранить изображение' и 'Сохранить миниатюры' не работают для Shockwave файлов."
+msgstr "Функции \"Сохранить изображение\" и \"Сохранить миниатюры\" не работают для файлов Shockwave."
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Функции 'Сохранить изображение' и 'Сохранить миниатюры' не работают с рендерером Overlay Mixer.\nИзмените видеорендерер и вновь откройте файл."
-
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Не удается подключиться к базе субтитров."
+msgstr "Функции \"Сохранить изображение\" и \"Сохранить миниатюры\" не работают с Overlay Mixer video renderer.\nИзмените рендер видео и откройте файл заново."
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
-msgstr "Вы хотите активировать EDL редактор?"
+msgstr "Вы хотите активировать редактор EDL?"
msgctxt "IDS_CAPTURE_ERROR"
msgid "Capture Error"
@@ -3436,11 +3434,11 @@ msgstr "аудио"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
-msgstr "Невозможно добавить буферный фильтр %s к графу."
+msgstr "Невозможно добавить буферный фильтр (%s) к графу."
msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
msgid "Can't connect the %s buffer filter to the graph."
-msgstr "Невозможно подключить буферный фильтр %s к графу."
+msgstr "Невозможно подключить буферный фильтр (%s) к графу."
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
@@ -3460,11 +3458,11 @@ msgstr "Невозможно подключить поток %s фильтру-
msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
msgid "No video capture pin was found."
-msgstr "Не найден пин для видео захвата."
+msgstr "Не найден поток видео захвата."
msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
msgid "No audio capture pin was found."
-msgstr "Не найден пин для аудио захвата."
+msgstr "Не найден поток аудио захвата."
msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
msgid "Error initializing the output file."
@@ -3476,15 +3474,15 @@ msgstr "Ошибка инициализации выходного аудиоф
msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
-msgstr "Правильный формат времени [-]hh:mm:ss.ms (например, 01:23:45.678)."
+msgstr "Правильный формат времени: [-]чч:мм:сс.мс (например, 01:23:45.678)."
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
-msgstr "Такой тип уже есть в списке!"
+msgstr "Этот тип уже есть в списке!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr "Вы должны применить новые настройки перед их использованием"
+msgstr "Вы должны применить новые настройки перед их использованием."
msgctxt "IDS_AFTERPLAYBACK_EXIT"
msgid "After Playback: Exit"
@@ -3512,7 +3510,7 @@ msgstr "По окончании воспроизведения: блокиров
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr "По окончании воспроизведения: выключить монитор"
+msgstr "По окончании воспроизведения: отключить монитор"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
@@ -3548,15 +3546,15 @@ msgstr "Управление цветом не поддерживается"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
-msgstr "Яркость увеличить"
+msgstr "Увеличить яркость"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Введите предпочитаемый язык.\nНапример, наберите: \"eng jap swe rus\""
+msgstr "Введите ваш предпочитаемый язык.\nНапример, наберите \"eng jap rus\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Внешние сплиттеры могут иметь свои настройки языка, поэтому, поведение MPC-HC умолчанию не изменит их изначальный выбор.\nВключите эту опцию, если вы хотите, чтобы MPC-HC управлял внешними сплиттерами."
+msgstr "Внешние сплиттеры могут иметь свои настройки языка, MPC-HC не изменит их изначальный выбор.\nВключите эту опцию, чтобы разрешить MPC-HC управлять внешними сплиттерами."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3580,7 +3578,7 @@ msgstr "&Каналы"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Если выбран \"последний ключевой кадр\", то ищется первый ключевой кадр перед поисковой точкой.\nЕсли выбран \"ближайший ключевой кадр\", то ищется ключевой кадр до или после точки поиска которых ближе всего."
+msgstr "Если выбран \"последний ключевой кадр\", то ищется первый ключевой кадр перед точкой поиска.\nЕсли выбран \"ближайший ключевой кадр\", то ищется ближайший ключевой кадр (до или после точки поиска)."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
@@ -3596,7 +3594,7 @@ msgstr "Ассоциировать только с аудиоформатами"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr "Убрать все ассоциации"
+msgstr "Очистить все ассоциации"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
@@ -3610,3 +3608,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Провайдер"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "С нарушениями слуха"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Загрузки"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Счет"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Онлайн поиск субтитров не удался."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Онлайн поиск субтитров прерван."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Онлайн поиск субтитров завершен, найдено %d субтитров."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Онлайн поиск субтитров завершен, субтитров не найдено."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Загрузить субтитры"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Поиск субтитров онлайн, подождите..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Отмена поиска субтитров онлайн..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Имя пользователя"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Статус"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Готов..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "В разработке."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Размещение..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Субтитры успешно размещены."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Размещение субтитров не удалась."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Размещение субтитров отменено."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Субтитры уже существуют."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Размещение субтитров, подождите..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Размещение завершено."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Размещение отменено."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Размещение не удалось."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Загрузить и открыть"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Установка"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Сброс"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Вверх"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Вниз"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Открыть URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Языки"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ОШИБКА: Интернет соединение не может быть установлено."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Введите данные сайта"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Введите свои данные для подключения:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Соотношение сторон: Assume square pixels (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Загружено [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Разместить субтитры"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Вы уверены, что хотите разместить файл субтитров \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Запрос поддерживаемых языков..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Не удалось авторизоваться в \"%S\" с именем пользователя \"%S\".\n\nПожалуйста, введите верное имя пользователя и пароль или выполните сброс учетных данных для входа в систему в качестве анонимного пользователя."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Автоматический поиск и загрузка будут отключены для всех медиа-файлов, путь которых содержит любой из путей, введенных здесь.\nНапример, \"Личная папка\\Видео\\Работа\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "«путь»\tБудет загружен файл или каталог\n\t\t(допускаются wildcards, «-» обозначает стандартный ввод)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"⇥Загрузить дополнительный звуковой файл"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"имя файла\" - Загрузка дополнительного аудио с ММ:сс (Если файл содержит информацию \"Задержка с минута:секунда\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tРендеринг в полноэкранном D3D-режиме"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"⇥Загрузить дополнительный файл субтитров"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter «имяфильтра»\tЗагрузить фильтры DirectShow из внешней библиотеки (допускаются wildcards)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tЗапуск в режиме DVD, «путь» указывает путь к папке DVD (необязательный)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tЗапустить воспроизведение части T, главы C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tЗапустить воспроизведение части T, позиции P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tЗагрузить все треки аудио CD или (S)VCD,\n\t\t«путь» указывает путь к диску (необязательный)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device⇥⇥Открыть видео устройство по умолчанию"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tОткрыть файл, но не начинать воспроизведение"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tНачать воспроизведение файла сразу после запуска плеера"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tЗакрыть плеер после окончания воспроизведения (работает только в совокупности с /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tВыключить компьютер после окончания воспроизведения"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tПеревести компьютер в спящий режим после окончания воспроизведения"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tГибернация компьютера после окончания воспроизведения"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tЗавершить сеанс после окончания воспроизведения"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tЗаблокировать компьютер после окончания воспроизведения"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tВыключить монитор после окончания воспроизведения"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tОткрыть следующий файл в папке после окончания воспроизведения"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tЗапуск в полноэкранном режиме"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tЗапуск в минимизированном режиме"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tОткрыть плеер в новом окне"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tДобавить «путь» в плейлист, может сочетаться с /open и /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tПлейлист в случайном порядке"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid⇥⇥Создать ассоциации файлов для видео файлов"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud⇥⇥Создать ассоциации файлов для аудио файлов"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl⇥⇥Создать ассоциации файлов для плейлистов"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall⇥⇥Создать ассоциации файлов для всех поддерживаемых форматов"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall⇥⇥Удалить все ассоциации файлов"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tНачать воспроизвдение с \"ms\" (= миллисекунды)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tНачать воспроизвдение с позиции hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tУстановить фиксированный размер окна"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tОткрыть плеер на мониторе N, где N начинается с 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tИспользовать рендеринг N, где N начинается с 1 (см. настройки вывода)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tИспользовать предустановки шейдеров «Pr»"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"имя файла\" - Определяют панорамирование и сканирование заданное к использованию имени файла."
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc - Конвертирование формата иконок."
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus⇥⇥Открыть MPC-HC в фоне"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N(Номер порта) - Использование веб-интерфейса по специальному порту."
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug - Показать информацию об отладке в экранном меню."
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter⇥Отключить отправку отчетов об аварийном завершении программы"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\" - Использовать MPC-HC в качестве дополнительного устройства."
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"индекс\" - Использование индекса GPU для аппаратного ускорения.\nИспользуется только для CUVID и DXVA2"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset⇥⇥Восстановить настройки по умолчанию"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help, /h, /? - Открыть окно помощи."
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Результаты субтитров, которые будут автоматически загружены. Более высокие результаты означают, что будут загружены более точные совпадения субтитров, более низкие результаты могут привести к неправильному отображению субтитров, но нет ничего совершенного. Выберите тот, который лучше подойдет для вас."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Задержка звука (мс)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Размер панели инструментов по умолчанию, в пикселях."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Использовать старую панель инструментов вместо новой, векторной."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
index 76dfc7807..b8d2b4ab8 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013-2014
-# Marián Hikaník <podnety@mojepreklady.net>, 2014-2015
+# Marián Hikaník <podnety@mojepreklady.net>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-21 21:47+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-07 08:11+0000\n"
"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/mpc-hc/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "O programe"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015, pozrite si súbor Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017, pozrite si súbor Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "krát"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Režim opakovania:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Po prehratí"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Výstup"
+msgid "Default zoom"
+msgstr "Predvolené priblíženie"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,8 +570,8 @@ msgid "Warning"
msgstr "Varovanie"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Ak niekde v nastaveniach svojej grafickej karty zapnete antialiasing v režime pre celú obrazovku, vzhľad titulkov sa o nič nezlepší, zvýši sa však zaťaženie procesora."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Ak niekde v nastaveniach grafickej karty manuálne zapnete antialiasing v režime pre celú obrazovku, vzhľad titulkov sa o nič nezlepší, zvýši sa však zaťaženie procesora."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Vykresľovač zvuku"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Nastavenia VMR-7/VMR-9 (bezstratové) a EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Nastavenia VMR-9 (bez vykreslenia) EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Vykresľovač titulkov"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Uložiť skompilované shadery do vyrov. pamäte"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Sledovať port:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Obsluha CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Titulky na internete"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Stiahnuť a otvoriť"
+msgid "Download subtitles"
+msgstr "Stiahnuť titulky"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Nahradiť práve načítané titulky"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Stiahnuť"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Obnoviť"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Prerušiť"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Nastavenia"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Odoslať titulky"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Odoslať"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Prerušiť"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Nastavenia"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Uložiť ako..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Obnoviť"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online-databáza"
+msgid "Online search, download and upload subtitles"
+msgstr "Vyhľadávanie online, stiahnutie a odoslanie titulkov"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Automaticky vyhľadať a stiahnuť titulky, ak sa nenájdu žiadne lokálne"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Preferovať titulky pre nepočujúcich (ak ich poskytovateľ označí)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Ignorovať súbory obsahujúce niektoré z týchto slov:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Základná URL adresa webovej databázy titulkov:"
+msgid "Languages in order of preference:"
+msgstr "Uprednostňované jazyky v poradí:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Automaticky odoslať aktívne titulky na konci prehrávania videa"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
index e6dd73663..c022f8249 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013
-# Marián Hikaník <podnety@mojepreklady.net>, 2014-2015
+# Marián Hikaník <podnety@mojepreklady.net>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-27 14:15+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-01 21:39+0000\n"
"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/mpc-hc/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Uložiť &náhľady obrázkov..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Načítať titulky..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Uložiť ti&tulky..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Data&báza titulkov"
+msgid "S&ubtitles"
+msgstr "Tit&ulky"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Vy&hľadať..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Načítať titul&ky..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Odoslať..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Uložiť tit&ulky..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Sti&ahnuť..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "S&tiahnuť titulky..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Odoslať titulky..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Dotýkať sa okna zv&onku"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "Dod&ržiavať stranový pomer"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Prekročiť str&anový pomer"
+msgid "&Aspect Ratio"
+msgstr "Str&anový pomer"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Pre&dvolený"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "Pre&dvolené (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Predpokladať štvorcové pixely (&SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Upraviť nastavenie AR monitora/Pra&covnej plochy"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "K&rokovanie obrazu"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "O&pakovať"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "Ne&ustále"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Súbor"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Playlist"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Spo&maliť prehrávanie"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "Stopa s &titulkami"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "Stopa s &videom"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
index 863b1c12d..c1f26ada3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013-2014
-# Marián Hikaník <podnety@mojepreklady.net>, 2014-2015
+# Marián Hikaník <podnety@mojepreklady.net>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-22 20:03+0000\n"
+"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/mpc-hc/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Nastavenia"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Súbor"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Pre&dvolený štýl"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Playlist"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Súbory"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Ak zostane cieľ vykresľovania nedefinovaný, titulky SSA/ASS budú vykreslené relatívne k snímke videa, zatiaľ čo všetky ostatné textové titulky budú vykreslené relatívne k oknu."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Režim opakovania: playlist"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Režim opakovania: súbor"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Opakovať neustále: zapnuté"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Opakovať neustále: vypnuté"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Opakovať neustále"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nikdy (najrýchlejší spôsob)"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Vykresľovanie Overlay Mixer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "VMR 7 (v okne)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "VMR 9 (v okne)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "VMR 7 (bez vykreslenia)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "VMR 9 (bez vykreslenia)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Prehrávač::Webové rozhranie"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Titulky::Databáza"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Podrobnosti"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Vždy sa bude vykresľovať prekrývanie. Povolené sú len formáty YUV, ktoré však sú zobrazované priamo, bez konverzie farieb na RGB. Toto je najrýchlejšia metóda vykresľovania. Pri použití tejto metódy si môžete byť istí, že sa video na celú obrazovku zobrazí aj na výstupe TV-out."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Predvolené vykresľovanie systému Windows XP. Tento kodek je veľmi stabilný, je však trochu pomalší ako Overlay mixer. Používa sa funkcia DirectDraw a funkcia Overlay, ak je podporovaná."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Dostupné len ak je v systéme nainštalovaný DirectX 9. Má rovnaké schopnosti ako VMR-7 (s vykresľovaním v okne), ale nikdy sa nepoužíva vykresľovania videa s prekrývaním. Preto môže mať tento kodek pomalšie vykresľovanie ako VMR-7 (s vykresľovaním v okne)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Rovnaké ako VMR-7 (v okne), ale použije sa aj modul Allocator-Presenter, pre podporu titulkovania. Zrkadlenie videa s prekrytím NEBUDE funkčné. Odporúčame nastaviť farby na hodnotu \"True Color\"."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Dostupné, len ak je nainštalovaný DirectX 9. Veľmi stabilné, ale nikdy sa nebude používať vykresľovanie s prekrývaním a preto môže byť tento spôsob pomalší, ako Overlay Mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Vlastné vykresľovanie programu Real. SMIL skripty zostanú funkčné, nebudú však interaktívne. Používa sa DirectDraw a aj funkcia Overlay, ak je podporovaná."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Výstup z engine Real vykresľovaný pomocou Allocator-Presentera na báze DX7 z VMR-7 (bez vykreslenia)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Výstup z engine Real vykresľovaný pomocou Allocator-Presentera na báze DX9 z VMR-9 (bez vykreslenia)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Vlastné vykresľovanie QuickTime. Vykresľovanie sa spomalí pri zmene oblasti s videom alebo pri čiastočnom prekrytí iným oknom. Ak nie je dostupná funkcia Overlay, použije sa GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Výstup z enginu QuickTime vykresľovaný pomocou Allocator-Presentera na báze DX7 z VMR-7 (bez vykreslenia)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Výstup z enginu QuickTime vykresľovaný pomocou Allocator-Presentera na báze DX9 z VMR-9 (bez vykreslenia)."
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Pre zobrazenie vloženého zdroja vo svojom prehliadači spravidla musíte zapnúť webové rozhranie.\n\nPoužite tlačidlo \"Uložiť ako\", ak chcete len uložiť informáciu."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Stiahnuť titulky"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Stiahnuť titulky..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Odoslať titulky..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Zmenšuje trhanie ignorovaím predvol. VSync, zabudovanej do D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Skenovanie tunera"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Titulky nie sú načítané alebo ich vykresľovanie nie je podporované."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Kvôli skráteniu doby načítavania sa uložia skompilované shadery do priečinka AppData."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Ak chcete načítať VTS_xx_x.vob súbory naraz, otvorte VTS_xx_0.ifo"
@@ -946,12 +962,12 @@ msgid "&Organize Favorites..."
msgstr "&Zoradiť obľúbené položky..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Náhodne"
+msgid "Sh&uffle"
+msgstr "Náho&dne"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Otvoriť umiestnenie súboru"
+msgid "Ope&n file location"
+msgstr "Otvoriť umiest&nenie súboru"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1034,8 +1050,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Priblížiť na šírku obrazovky - ultra,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Skryť pri režime na celú obrazovku"
+msgid "&Hide on Fullscreen"
+msgstr "Skryť p&ri režime na celú obrazovku"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1222,8 +1238,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Pridať priečinok s obsahom"
+msgid "Add containing &folder"
+msgstr "Pridať priečino&k s obsahom"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Obrázok bol úspešne uložený"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Načítať titulky"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Načítať titulky…"
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Uložiť titulky"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Uložiť titulky..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,8 +1574,8 @@ msgid "Thumbnails saved successfully"
msgstr "Náhľady boli úspešne uložené"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "Stopa s &videom"
+msgid "Vide&o Track"
+msgstr "Stopa s vide&om"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "PnS - zmenšiť výšku"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Prebieha sťahovanie titulkov, čakajte prosím."
+msgid "Downloading [%s] \"%s\""
+msgstr "Sťahovanie [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Kódované"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Áno"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nie"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Šírka obrázka"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL adresa je pravdepodobne správna!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Nesprávna verzia protokolu, aktualizujte prehrávač alebo zadajte inú adresu!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Stranový pomer"
@@ -2314,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Náhľady by boli príliš malé, nie je možné vytvoriť súbor.\n\nSkúste zmenšiť počet náhľadov alebo zväčšiť celkovú šírku."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Pre načítanie titulkov musíte zmeniť typ vykresľovača videa a znovu otvoriť súbor.\n- DirectShow: VMR-7/VMR-9 (bez vykreslenia), EVR (CP), Sync, madVR alebo Haali\n- RealMedia: Špeciálne vykresľovanie pre RealMedia, alebo otvorte prostredníctvom DirectShow\n- QuickTime: vykresľovač DX7 alebo DX9 pre QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Pre načítanie titulkov musíte zmeniť typ vykresľovača videa a znovu otvoriť súbor.\n- DirectShow: VMR-9 (bez vykreslenia), EVR (CP), Sync, madVR alebo Haali\n- RealMedia: Špeciálny vykresľovač pre RealMedia, alebo otvorenie prostredníctvom DirectShow\n- QuickTime: vykresľovač DX7 alebo DX9 pre QuickTime\n- ShockWave: neudáva sa"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Stranový pomer: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Stranový pomer: Predvolený"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Stranový pomer: Predvolený (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Nepodarilo sa vykresliť súbor"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Nesprávna URL adresa, databáza titulkov sa nedá nájsť!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Kapitola: "
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Zvýraznenie hlasitosti Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Pouzitie: mpc-hc.exe \"cesta\" [prepinace]\n\n\"cesta\"\tHlavny subor alebo priecinok, ktory sa nacita (zastupne znaky\n\t\tsu povolene, znakom \"-\" oznacite standardny vstup)\n/dub \"zvukova stopa\"\tNacitat dalsi zvukovy subor\n/dubdelay \"subor\"\t Nacitat dalsi zvukovy subor, oneskoreny o XX ms (ak\n\t\tsubor obsahuje \"...DELAY XXms...\")\n/d3dfs\t\tspustit vykreslovanie v rezime na celu obrazovku D3D\n/sub \"nazov titulkov\"\tNacitat dalsi subor s titulkami\n/filter \"nazov filtra\"\t Nacitat filtre DirectShow z dynamicky prepojenej\n\t\tkniznice (zastupne znaky su povolene)\n/dvd\t\tSpustit v rezime DVD, \"cesta\" oznacuje priecinok na\n\t\tDVD (volitelne)\n/dvdpos T#C\tSpustit prehravanie titulu T, kapitoly C\n/dvdpos T#hh:mm\tSpustit prehravanie titulu T, na pozicii hh:mm:ss\n/cd\t\tNacitat vsetky stopy zvukoveho CD alebo (S)VCD,\n\t\t\"cesta\" - cesta k jednotke (volitelne)\n/device\t\tOtvorit predvolene zariadenie pre video\n/open\t\tOtvorit subor, neprehrat automaticky\n/play\t\tSpustit prehravanie ihned po spusteni \n\t\tprehravaca\n/close\t\tZatvorit prehravac po prehrati (funguje len s prepinacom\n\t\t /play)\n/shutdown\tVypnut operacny system po prehrati\n/standby\t\tPrepnut operacny system do pohotovostneho rezimu pre prehrati\n/hibernate\tPrepnut operacny system do rezimu hibernacie po prehrati\n/logoff\t\tPo prehrati odhlasit\n/lock\t\tPo prehrati uzamknut pocitac\n/monitoroff\tPo prehrati vypnut monitor\n/playnext\t\tPo prehrati otvorit dalsi subor v priecinku\n/fullscreen\tSpustit v rezime na celu obrazovku\n/minimized\tSpustiť minimalizovane\n/new\t\tPouzit novu instanciu prehravaca\n/add\t\tPridat \"cestu\" k playlistu, parameter mozno kombinovat s prepinacmi\n\t\t /open a /play\n/randomize\tNahodne prehravanie v playliste\n/regvid\t\tVytvorit asociacie k suborom s videom\n/regaud\t\tVytvorit asociacie k suborom so zvukom\n/regpl\t\tVytvorit asociacie k suborom playlistov\n/regall\t\tVytvorit asociacie k vsetkym podporovanym suborom\n/unregall\t\tOdstranit vsetky asociacie k suborom\n/start ms\t\tSpustit prehravanie na pozicii v \"ms\" (= milisekundach)\n/startpos hh:mm:ss\tSpustit prehravanie na pozicii hh:mm:ss\n/fixedsize w,h\tNastavit fixnu sirku okna\n/monitor N\tSpustit prehravac na monitore N, pricom cislo N zacina na hodnote 1\n/audiorenderer N\tSpustit s pouzitim vykreslovaca zvuku N, pricom N sa zacina na hodnote 1\n\t\t(pozrite si nastavenia v casti \"Vystup\")\n/shaderpreset \"Pr\"\tSpustit s pouzitim prednastavenia shaderov \"Pr\"\n/pns \"name\"\tUrcit prednastavenia funkcie Pan&Scan ktore sa maju pouzit\n/iconsassoc\tZnovu asociovat ikony formatov\n/nofocus\t\tOtvorit program MPC-HC na pozadi\n/webport N\tSpustit webove rozhranie na specifikovanom porte\n/debug\t\tZobrazit informaciu pre ladenie v OSD\n/nocrashreporter\tVypnut oznamovanie padov programu\n/slave \"hWnd\"\tPouzit MPC-HC ako druhotnu aplikaciu\n/hwgpu \"index\"\tNastavit index GPU pouzity pre HW dekodovanie\n\t\tDostupne len pre CUVID a DXVA2 (copy-back)\n/reset\t\tObnovit predvolene nastavenia\n/help /h /?\tZobrazit pomocnika k prepinacom na prikazovom riadku\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Použitie: mpc-hc.exe \"cesta\" [prepínače]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Zapnúť všetky filtre"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Skenovanie tunera"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Titulky nie sú načítané alebo ich vykresľovanie nie je podporované."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Autor neznámy. Ak ste autorom tohto loga, kontaktujte nás!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Funkcie \"Uložiť obrázok\" a \"Uložiť náhľady\" nefungujú s vykresľovaním videa Overlay Mixer.\nZmeňte vykresľovač videa v nastaveniach výstupu MPC a znovu otvorte súbor."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Nemožno sa pripojiť k databáze online-titulkov."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Chcete aktivovať editor EDL?"
@@ -3601,3 +3593,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Poskytovateľ"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Nepočujúci"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Stiahnutia"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Skóre"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Vyhľadávanie titulkov online bolo neúspešné."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Vyhľadávanie titulkov online bolo prerušené."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Vyhľadávanie titulkov online bolo dokončené. Nájdené titulky: %d."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Vyhľadávanie titulkov online bolo dokončené, nenašli sa žiadne titulky."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Stiahnuť titulky"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Vyhľadávanie titulkov online, prosím čakajte..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Prerušuje sa vyhľadávanie titulkov online..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Meno používateľa"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Stav"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Pripravené..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Neimplementované."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Odosiela sa na server..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Titulky boli úspešne odoslané."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Titulky sa nepodarilo odoslať."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Odosielanie titulkov bolo prerušené."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Titulky už existujú."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Prebieha odosielanie titulkov, prosím čakajte..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Odosielanie bolo dokončené."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Odosielanie bolo prerušené."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Odosielanie bolo neúspešné."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Stiahnuť a otvoriť"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Inštalácia"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Obnoviť"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Posunúť hore"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Posunúť dole"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Otvoriť URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Jazyky"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "CHYBA: nepodarilo sa vytvoriť internetové pripojenie."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Zadajte prihlasovacie údaje pre stránku"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Na pripojenie je potrebné zadať prihlasovacie údaje k:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Stranový pomer: Predpokladať štvorcové pixely (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Stiahnutý súbor [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Odoslať titulky"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Naozaj chcete odoslať súbor titulkov \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Preberanie podporovaných jazykov..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Nepodarilo sa prihlásiť na \"%S\" pomocou mena používateľa \"%S\".\n\nProsím zadajte správne meno používateľa a heslo alebo resetujte prihlasovacie údaje, ak sa chcete prihlásiť ako anonymný používateľ."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Automatické vyhľadávanie a stiahnutie bude zablokované pre všetky súbory médií, ktorých cesta obsahuje niektoré zo vzoriek zadaných tu.\nNapríklad napíšte: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"cesta\"\tHlavný súbor alebo priečinok, ktorý sa má načítať\n\t\t(sú povolené zástupné znaky, znak \"-\" označuje štandardný vstup)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"názov_stopy\"\tNačítať doplnkový zvukový súbor"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"súbor\"\tNačítať doplnkový zvukový súbor posunutý o XX ms\n\t\t(ak súbor obsahuje \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tSpustiť vykresľovanie v režime D3D na celú obrazovku"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"názov_titulkov\"\tNačítať doplnkový súbor s titulkami"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"názov_filtra\"\tNačítať filtre DirectShow z dynamicky prepojenej knižnice (sú povolené zástupné znaky)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tSpustiť v režime DVD, \"cesta\" označuje priečinok DVD (voliteľne)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tSpustiť prehrávanie na titule T, v kapitole C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tSpustiť prehrávanie na titule T, pozícii P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tNačítať všetky stopy zvukového CD alebo (S)VCD,\n\t\t\"cesta\" označuje cestu k jednotke (voliteľne)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOtvoriť predvolené zariadenie pre video"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOtvoriť súbor, nespustiť prehrávanie automaticky"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tSpustiť prehrávanie súboru hneď po spustení prehrávača"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tPo prehraní zatvoriť prehrávač (funguje len v spojitosti s prepínačom /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tVypnúť operačný systém po prehraní"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tPrepnúť operačný systém do pohotovostného režimu po prehraní"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tZapnúť hiberáciu operačného systému po prehraní"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tOdhlásiť po prehraní"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tUzamknúť pracovnú stanicu po prehraní"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tVypnúť monitor po prehraní"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tPo prehraní otvoriť ďalší súbor v priečinku"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tSpustiť v režime na celú obrazovku"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tSpustiť minimalizované"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tPoužiť novú inštanciu prehrávača"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tPridať \"cestu\" do playlistu, možno kombinovať s prepínačmi /open a /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tZapnúť náhodné prehrávanie v playliste"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tVytvoriť asociácie pre súbory s videom"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tVytvoriť asociácie pre zvukové súbory"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tVytvoriť asociácie pre súbory s playlistom"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tVytvoriť asociácie pre všetky podporované typy súborov"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tOdstrániť všetky asociácie súborov"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tSpustiť prehrávanie na \"ms\" (= millisekundy)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tSpustiť prehrávanie na pozícii hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tNastaviť fixnú veľkosť okna"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tSpustiť prehrávač na monitore N, pričom N začína od čísla 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tSpustiť s použitím vykresľovača zvuku N, pričom N začína od čísla 1 (pozrite si nastavenia pre \"Výstup\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tSpustiť s použitím prednastavením shadera \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tŠpecifikovať názov používaného prednastavenia Pan&Scan"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tZnovu asociovať formát ikon"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOtvoriť MPC-HC na pozadí"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tSpustiť webové rozhranie na určenom porte"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tZobraziť informácie pre ladenie priamo v OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tZablokovať oznamovanie pádov"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tPoužiť MPC-HC ako slave"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tNastaviť index GPU použitého pre hardvérové dekódovanie.\n\t\tDostupné len pre CUVID a DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tObnoviť predvolené nastavenia"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tZobraziť pomocníka k prepínačom pre príkazový riadok"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Hraničná hodnota pre skóre titulkov, ktoré sa budú sťahovať automaticky. Vyššia hodnota znamená, že budú načítané vhodnejšie titulky, nižšie hodnoty môžu viesť k načítaniu nesprávnych titulkov. Žiadnu hodnotu však nemožno považovať za perfektnú. Vyberte si tú, ktorá sa vám najviac osvedčí."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Oneskorenie zvuku (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Veľkosť predvoleného panela nástrojov v (pix.)."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Použiť pôvodný panel nástrojov namiesto vektorizovaného."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
index 2c861eedb..c179edd72 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# fubuzz <knedlc@gmail.com>, 2014
-# shvala <simon.hvala@hotmail.com>, 2013-2015
+# shvala <simon.hvala@hotmail.com>, 2013-2017
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-19 16:54+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-01-28 17:15+0000\n"
"Last-Translator: shvala <simon.hvala@hotmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/mpc-hc/mpc-hc/language/sl/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Avtorske pravice © 2002-2015, glej Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Avtorske pravice © 2002-2017, glej Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "krat"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Način ponavljanja:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Po predvajanju"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Izhod"
+msgid "Default zoom"
+msgstr "Privzeta povečava"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "Opozorilo"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Če preglasiš in omogočiš celozaslonsko glajenje (antialiasing) kjerkoli v nastavitvah videokartice, podnapisi ne bodo izgledali nič bolje, bo pa CPU zelo obremenjen"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -675,7 +679,7 @@ msgstr "Prepreči minimiziranje predvajalnika v celozaslon. naćinu na neprivzet
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Uporabi napredne značilnosti opravilne vrstice"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Zvočni izvajalnik"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (brez izrisovalnika) in EVR (CP) nastavitve"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (brez izrisovalnika) in EVR (CP) nastavitve"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1167,7 +1171,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Podnapisi"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1183,7 +1187,11 @@ msgstr "Zasuk"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Izrisovalnik podnapisov"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Medpomni prevedene senčilnike"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI upravljalci: (.ext1=pot1;.ext2=pot2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Podnapisi na voljo na spletu"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Prenesi in odpri"
+msgid "Download subtitles"
+msgstr "Prenesi podnapise"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Nadomesti trenutno naložene podnapise"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Prenesi"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Osveži"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Možnosti"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Prenesi podnapise gor"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Prenesi gor"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Prekini"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Možnosti"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Shrani kot..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Ponastavi"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Medmrežna podatkovna zbirka"
+msgid "Online search, download and upload subtitles"
+msgstr "Išči, prenesi podnapise dol in gor"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Samodejno išči in prenesi podnapise če jih lokalno ni"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Uporabi podnapise za slušno prizadete (ko so tako označeni)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Prezri datoteke, ki vsebujejo katero izmed naslednjih besed:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Osnovni URL od medmrežne zbirke podnapisov:"
+msgid "Languages in order of preference:"
+msgstr "Jeziki v želenem vrstnem redu:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Test"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Samodejno prenesi gor aktivne podnapise na koncu predvajanja"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
index 6d97cfdbf..51049b944 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
# fubuzz <knedlc@gmail.com>, 2014
-# shvala <simon.hvala@hotmail.com>, 2013,2015
+# shvala <simon.hvala@hotmail.com>, 2013,2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-05-31 14:58+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-03-08 15:30+0000\n"
"Last-Translator: shvala <simon.hvala@hotmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/mpc-hc/mpc-hc/language/sl/)\n"
"MIME-Version: 1.0\n"
@@ -66,29 +66,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Shrani predo&gledno sličico..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "Podnapisi"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "Na&loži podnapise..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "Shrani pod&napise..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Podatkovna z&birka podnapisov"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "I&skanje..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Prenesi po&dnapise"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Prenesi &gor..."
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Prenesi &dol..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Prenesi &gor podnapise"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -410,17 +406,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "D&otik okna od zunaj"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Zadrži razmerje stranic"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Preglasi r&azmerje stranic"
+msgid "&Aspect Ratio"
+msgstr "R&azmerje stranic"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Privzeto"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Privzeto (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +434,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Predvidevaj kvadratne pik&sle (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Popravi razliko razmerja strani&c Zaslon/Namizje"
@@ -535,9 +531,25 @@ msgid "&Stop"
msgstr "&Stop"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "Slika &korakoma"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Ponovi"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr " Brez k&onca"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Datoteka"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Seznam predvajanja"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Pojdi &na..."
@@ -567,7 +579,7 @@ msgid "Su&btitle Track"
msgstr "Zapis &podnapisov"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video zapis"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
index 71da3bf29..3fc0b4534 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# fubuzz <knedlc@gmail.com>, 2014
-# shvala <simon.hvala@hotmail.com>, 2013-2015
+# shvala <simon.hvala@hotmail.com>, 2013-2017
# Underground78, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-19 17:07+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-01-28 18:27+0000\n"
"Last-Translator: shvala <simon.hvala@hotmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/mpc-hc/mpc-hc/language/sl/)\n"
"MIME-Version: 1.0\n"
@@ -62,10 +62,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Lastnosti"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Datoteka"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "Privz&eti slog"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Seznam predvajanja"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Datoteke"
@@ -118,6 +126,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Če izrisovalni cilj ni določen, bodo SSA/ASS podnapisi izrisani relativno video sliki. Vsi ostali besedilni podnapisi bodo izrisani relativno oknu."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Način ponavljanja: Seznam predvajanja"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Način ponavljanja: Datoteka"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Ponavljaj brez konca: Vklj"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Ponavljaj brez konca: Izklj"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Ponavljaj brez konca"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Nikoli (najhitrejši način)"
@@ -518,18 +546,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Izrisovalnik mešalnik s prekrivanjem"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video mešalni izrisovalnik VMR 7 (okensko)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video mešalni izrisovalnik VMR 9 (okensko)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video mešalni izrisovalnik VMR 7 (brez izrisovanja)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video mešalni izrisovalnik VMR 9 (brez izrisovanja)"
@@ -582,10 +602,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Predvajanje::Mrežni vmesnik"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Podnapisi::Podat. zbirka"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Podrobnosti"
@@ -606,17 +622,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Vedno izrisuje s prekrivanjem. Običajno je dovoljen samo YUV format, vendar so prikazani neposredno brez pretvorbe barv v RGB. To je najhitrejši način izrisovanja in edini, kjer je zagotovljeno celozaslonsko zrcaljenje slike na tv-izhod."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Privzeti izrisovalnik na Windows XP. Zelo stabilen in samo malo počasnejši kot prekrivni mešalnik. Uporablja DirectDraw in deluje v prekrivanju kadar lahko."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Na voljo samo če imate nameščeno DirectX 9. Ima iste zmožnosti kot VMR-7 (okensko), vendar ne bo nikoli uporabljal izrisovanja s prekrivanjem, zato pa bo tudi mogoče malo počasnejši od VMR-7 (okensko)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Enako kot VMR-7 (okensko), vendar z Allocator-Presenter vtičnikom od MPC-HC za podnapise. Video zrcaljenje s prekrivanjem NE BO delalo. \"True Color\" nastavitev barv namizja priporočena."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Na voljo samo če imate nameščeno DirectX 9. Zelo stabilno, vendar ne bo nikoli uporabljen Overlay izrisovalnik in bo zato malo počasnejše kot Overlay mešalnik."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +662,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Lastni izrisovalnik Real. SMIL skripte bodo delale, interakcija pa najbrž ne. Uporablja DirectDraw in teče s prekrivanjem, kadar lahko."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Izhod iz Real izrisan z Allocator-Presenter na osnovi DX7 od VMR-7 (brez izrisovalnika)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Izhod iz Real izrisan z Allocator-Presenter na osnovi DX9 od VMR-9 (brez izrisovalnika)."
@@ -666,10 +670,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Lastni izrisovalnik QuickTime. Postane počasen, ko je velikost video območja spremenjena ali delno prekrito z drugim oknom. Ko prekrivanje ni na voljo najraje preklopi nazaj na GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Izhod iz QuickTime izrisan z Allocator-Presenter na osnovi DX7 od VMR-7 (brez izrisovalnika)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Izhod iz QuickTime izrisan z Allocator-Presenter na osnovi DX9 od VMR-9 (brez izrisovalnika)."
@@ -750,10 +750,14 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Da bi videl vdelane vire v brskalniku, je potrebno omogočiti spletni vmesnik.\n\nUporabi gumb \"Shrani kot\" če želiš samo shraniti informacije."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
msgstr "Prenesi podnapise"
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Prenesi podnapise gor"
+
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
msgstr "Zakasnitev (ms):"
@@ -810,6 +814,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Zmanjšuje trganje tako, da se izogne privzetemu VSync, ki je vgrajen v D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Iskanje s kanalnikom"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Podnapisi niso naloženi ali nepodprt izrisovalnik."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Shrani prevedene senčilnike v lokalni AppData za pohitritev nalaganja."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Odprite VTS_xx_0.ifo, da bi naložili VTS_xx_x.vob datoteke v enem kosu"
@@ -947,11 +963,11 @@ msgid "&Organize Favorites..."
msgstr "&Urejaj priljubljene..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Premešaj"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Odpri lokacijo datoteke"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1035,7 +1051,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Povečaj v Ultra-Širokozaslonsko,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Skrij v celozaslonsko"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1223,7 +1239,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Dodaj cel imenik"
msgctxt "IDS_HW_INDICATOR"
@@ -1404,7 +1420,7 @@ msgstr "Ta možnost se lahko uporabi za predogled predstavnostnih datotek z odda
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "grajeni izrisovalnik za podnapise"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1426,13 +1442,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Slika uspešno shranjena"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
msgstr "Naloži podnapise"
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Shrani podnapis"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Shrani podnapise..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,7 +1575,7 @@ msgid "Thumbnails saved successfully"
msgstr "Predogledne sličice uspešno shranjene"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Video zapis"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1795,8 +1811,8 @@ msgid "PnS Dec Height"
msgstr "PnS Zmanjšaj višino"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Prenašam podnapis(e), prosimo počakajte."
+msgid "Downloading [%s] \"%s\""
+msgstr "Prenašam [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2058,11 +2074,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Šifrirano"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Da"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ne"
@@ -2214,14 +2230,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Širina slike"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL izgleda pravilno!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Verzija protokola neusklajena, prosimo nadgraditev svoj predvajalnik ali izberite drug naslov!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Razmerje stranic"
@@ -2315,8 +2323,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Predogledne sličice bi bile premajhne, nemogoče je izdelati datoteko.\n\nPoskušaj zmanjšati število sličic ali povečati skupno velikost."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Da bi naložili podnapise morate spremeniti vrsto video izrisovalnika in ponovno odpreti datoteko.\n- DirectShow: VMR-7/VMR-9 (brez izrisovalnika), EVR (CP), Sync, madVR or Haali\n- RealMedia: Poseben prikazovalnik za RealMedia, ali pa ga odprite s pomočjo DirectShow\n- QuickTime: DX7 ali DX9 prikazovalnika za QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Da bi naložili podnapise morate spremeniti vrsto video izrisovalnika in ponovno odpreti datoteko.\n- DirectShow: VMR-9 (brez izrisovalnika), EVR (CP), Sync, madVR or Haali\n- RealMedia: Poseben prikazovalnik za RealMedia, ali pa ga odprite s pomočjo DirectShow\n- QuickTime: DX7 ali DX9 prikazovalnika za QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2335,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Razmerje stranic: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Razmerje stranic: Privzeto"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Razmerje stranic: Privzeto (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2374,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Neuspelo izrisovanje datoteke"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Nepravilen URL, ne najdem zbirke podnapisov!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Poglavje: "
@@ -2563,8 +2567,8 @@ msgid "Volume boost Max"
msgstr "Ojačitev glasnosti maks"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uporaba: mpc-hc.exe \"pot\" [stikala]\n\n\"pot\"\t\tGlavna datoteka ali imenik, ki naj bo naložen\n\t\t(nadomestni znaki dovoljeni)\n/dub \"ime\"\tNaloži dodatno zvočno datoteko\n/dubdelay \"ime\"\tNaloži dodatno zvočno datoteko zamaknjeno za XXms\n\t\t(če datoteka vsebuje \"...DELAY XXms...\")\n/d3dfs\t\tZačni izrisovanje v D3D celozaslonskem načinu\n/sub \"ime\"\tNaloži dodatno datoteko podnapisov\n/filter \"ime filtra\"\tNaloži DirectShow filtre iz dinamično povezane\n\t\tknjižnice (nadomestni znaki dovoljeni)\n/dvd\t\tZaženi v dvd načinu, \"pot\" pomeni dvd\n\t\timenik (opcija)\n/dvdpos T#C\tZačni predvajanje z naslovom T, poglavje C\n/dvdpos T#hh:mm\tZačni predvajanje z naslovom T, pozicijo hh:mm:ss\n/cd\t\tNaloži vse zapise zvočnega CDja ali (s)vcd,\n\t\t\"ime datoteke\" pomeni pot pogona (opcija)\n/open\t\tOdpri datoteko, ne začni samodejno predvajati\n/play\t\tZačni predvajati datoteko takoj ko se predvajalnik\n\t\tzažene\n/close\t\tZapri prevajalnik po predvajanju (deluje samo ko\n\t\tje uporabljen skupaj s /play)\n/shutdown\tZaustavi operacijski sistem po predvajanju\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tZačni v celozaslonskem načinu\n/minimized\tZačni minimirano\n/new\t\tUporabi novo inačico predvajalnika\n/add\t\tDodaj \"pot\" v seznam predvajanja, lahko je\n\t\tkombinirano z /open in /play\n/randomize\tRandomize the playlist\n/regvid\t\tUstvari povezave za video datoteke\n/regaud\t\tUstvari povezave za zvočne datoteke\n/regpl\t\tUstvari povezave za datoteke seznama predvajanja\n/regall\t\tustvari povezave za vse podprte vrste datotek\n/unregall\t\tOdstrani vse povezave datotek\n/start ms\t\tZačni predvajanje pri \"ms\" (= milisekund)\n/startpos hh:mm:ss\tZačni predvajanje pri poziciji hh:mm:ss\n/fixedsize w,h\tNastavi okno fiksne velikosti\n/monitor N\tZačni predvajalnik na zaslonu N, N se začne z 1\n/audiorenderer N\tZačni uporabljati zvočni predvajalnik N, N se začne z 1\n\t\t(glej nastavitve \"Izhod\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tPonastavi privzete nastavitve\n/help /h /?\tPrikaži pomoč glede stikal ukazne vrstice\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Uporaba: mpc-hc.exe \"pot\" [stikala]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2654,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Omogoči vse filtre"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Iskanje s kanalnikom"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Podnapisi niso naloženi ali nepodprt izrisovalnik."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Avtor neznan. Obrnite se na nas, če ste naredili ta logo!"
@@ -3406,10 +3402,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Funkciji \"Shrani sliko\" in \"Shrani predogledno sličico\" ne delujeta v video izrisovalniku - mešalniku s prekrivanjem.\nSpremeni video izrisovalnik v MPC izhodnih nastavitvah in ponovno odpri datoteko."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Ne morem se povezati s spletno zbirko podnapisov."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Želiš aktivirati EDL urejevalnik?"
@@ -3596,9 +3588,377 @@ msgstr "Nastavitve"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
-msgstr ""
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Ponudnik"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Slušno prizadeti"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Prenosi"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Ocena"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "iskanje podnapisov na spletu neuspešno."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "iskanje podnapisov na spletu prekinjeno."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "iskanje podnapisov na spletu končano. Najdenih %d podnapisov."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "iskanje podnapisov na spletu končano, podnapisi niso bili najdeni."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Prenesi podnapise"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Iščem podnapise na spletu, prosimo počakajte..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Prekinjam iskanje podnapisov na spletu..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Uporabniško ime"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Stanje"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Pripravljen..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Ni izvedeno."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Prenašam gor..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Podnapisi uspešno prenešeni gor."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Prenos podnapisov gor spodletel."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Prenos podnapisov gor prekinjen."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Podnapisi že obstajajo."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Prenašanje podnapisov gor, prosimo počakajte..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Prenos gor končan."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Prenos gor prekinjen."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Prenos gor spodletel."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Prenesi in odpri"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Nastavitev"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Ponastavi"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Premakni gor"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Premakni dol"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Odpri Url"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Jeziki"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "NAPAKA: Internetne povezave ni moč vzpostaviti."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Vnesi poverilnice spletne strani"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Vnesi svoje poverilnice za povezavo na:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Razmerje stranic: Predvidevaj kvadratne piksle (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Prenešeno [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Prenesi podnapise gor"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Ste prepričani, da želite prenesti gor datoteko podnapisov \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Pridobivam podprte jezike..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Neuspela prijava v \"%S\" kot uporabnik \"%S\".\n\nProsim vnesi pravilno uporabniško ime in geslo ali ponastavi poverilnice za anonimno prijavo."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Samodejno iskanje in prenos bo onemogočen za vse multimedijske datoteke katerih pot vsebuje vpisan vzorec.\nVpiši na primer: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pot\"\tGlavna datoteka ali mapa za prenos\n\t\t(nadomestni znaki dovoljeni, \"-\" pomeni standarden vnos)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"ime\"\tNaloži dodatno zvočno datoteko"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"datoteka\"\tNaloži dodatno zvočno datoteko zamaknjeno za XXms\n\t\t(če datoteka vsebuje \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tZačni izrisovati v D3D celozaslonskem načinu"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"ime\"\tNaloži dodatno datoteko podnapisov"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"ime\"\tNaloži DirectShow filtre iz dinamično povezane knjižnice(nadomestni znaki dovoljeni)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tZaženi v DVD načinu, \"ime\" pomeni DVD mapo (opcijsko)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tZačni predvajanje pri naslovu T, poglavju C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tZačni predvajanje pri naslovu T, poziciji P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tNaloži vse posnetke z Audio CD ali (S)VCD,\n\t\t\"ime\" pomeni pot pogona (opcijsko)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tOdpri privzeto video napravo"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tOdpri datoteko, ne začni samodejno s predvajanjem"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tZačni predvajanje datoteke takoj po zagonu predvajalnika"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tZapri predvajalnik po predvajanju (deluje samo pri uporabi s /play)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tZaustavi operacijski sistem po predvajanju"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tOperacijski sistem v stanje pripravljenosti po predvajanju"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tOperacijski sistem v spanje po predvajanju"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tOdjavi se po predvajanju"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tZakleni računalnik po predvajanju"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tIzključi monitor po predvajanju"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tOdpri naslednjo datoteko po predvajanju"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tZaženi v celozaslonskem načinu"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tZaženi pomanjšano"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tUporabi nov primerek predvajlnika"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tDodaj \"ime poti\" v seznam predvajanja, možno kombiniranje z /open in /play"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tSeznam predvajanja naj bo naključen"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tUstvari povezave za video datoteke"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tUstvari povezave za zvočne datoteke"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tUstvari povezave za datoteke seznama predvajanja"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tUstvari povezave za vse podprte vrste datotek"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tOdstrani povezave za vse datoteke"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tZačni predvajanje pri \"ms\" (= milisekunde)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tZačni predvajanje pri poziciji hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tDoloči fiksno velikost okna"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tZačni predvajalnik na zaslonu N, kjer se N začne pri 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tZačni z zvočnim predvajalnikom N, kjer se N začne pri 1 (glej \"Izhod\" nastavitve)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tZačni z uporabo nastavitve senčilnika \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tDoloči ime nastavitve Premakni&Spremeni"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tPonovno poveži sličice formata"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tOdpri MPC-HC v ozadju"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tZaženi spletni vmesnik na določenih vratih"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tPrikaži informacije razhroščevalnika na OSD"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tIzključi poročanje o sesutju"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tUporabi MPC-HC podrejeno"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tNastavi indeks GPU za strojno dekodiranje.\n\t\tNa voljo samo za CUVID in DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tObnovi na privzete nastavitve"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tPrikaži pomoč glede stikal ukazne vrstice"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Mejna vrednost za oceno podnapisov, ki bodo samodejno preneseni. Višja vrednost pomeni, da bodo preneseni bolj točni podnapisi, nižja pa, da bodo morda preneseni nepravilni podnapisi, vendar ne obstaja idealna vrednost. Izberite tisto, ki vam najbolj ustreza."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Zakasnitev zvoka (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Velikost privzete orodne vrstice v pikah."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Uporabi staro orodno vrstico namesto nove vektorske."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po
index 7f03891a9..24e3de9f4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rancher <djordje.vasiljevich@gmail.com>, 2014-2015
-# vBm <the.vbm@gmail.com>, 2014
-# vBm <the.vbm@gmail.com>, 2014
+# Rancher, 2014-2015
+# Rancher, 2016
+# Goran Džaferi <the.vbm@gmail.com>, 2014
+# Goran Džaferi <the.vbm@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-03-16 18:09:30+0000\n"
-"PO-Revision-Date: 2015-03-24 22:12+0000\n"
-"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
-"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Serbian (http://www.transifex.com/mpc-hc/mpc-hc/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -48,7 +49,7 @@ msgstr "Излаз"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Снимање видео-записа"
+msgstr "Сними видео"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
@@ -80,7 +81,7 @@ msgstr "Уграђени филтер за промену звука (захте
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
-msgstr "Нормализуј"
+msgstr "Нормализација"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
@@ -100,15 +101,15 @@ msgstr "Појачање:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
-msgstr "Претвори у 44100 Hz"
+msgstr "Смањи квалитет на 44100 Hz"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Померање времена звука (мс):"
+msgstr "Померање звука (мс):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Мапирање прилагођених канала"
+msgstr "Прилагођено мапирање канала"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
@@ -120,7 +121,7 @@ msgstr "улазна канала:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
-msgstr "Држите Shift да бисте измене видели одмах након клика."
+msgstr "Држите Shift за тренутни приказ измена након клика."
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
@@ -128,7 +129,7 @@ msgstr "Прелазак на…"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "Унесите време у формату [hh:]mm:ss.ms да бисте прескочили на одређено време. Разделнике није потребно уносити."
+msgstr "Унесите време у формату чч:мм:сс.мс да бисте прешли на одређено време."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -140,7 +141,7 @@ msgstr "&Пређи"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Унесите два броја ради прескакања на одређени кадар: први је број кадра а други његова брзина."
+msgstr "Унесите два броја ради преласка на одређени кадар: први је број кадра а други његова брзина."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -156,7 +157,7 @@ msgstr "Отварање"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Унесите адресу аудио или видео датотеке (на рачунару или интернету) и програм ће је отворити."
+msgstr "Унесите адресу аудио или видео датотеке (на рачунару или интернету)."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -191,12 +192,12 @@ msgid "About"
msgstr "О програму"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Ауторска права © 2002–2015 погледајте Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Ауторска права © 2002-2017; погледајте датотеку Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Овај програм је бесплатан и издат је под GNU-овом општом јавном лиценцом."
+msgstr "Овај програм је бесплатан и издат је под лиценцом GNU GPL."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
@@ -220,7 +221,7 @@ msgstr "Не користи се"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr "Датум издања:"
+msgstr "Датум израде:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
@@ -260,19 +261,19 @@ msgstr "Насловна трака"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
msgid "Display full path"
-msgstr "Прикажи пуну путању"
+msgstr "Пуна путања"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
-msgstr "Само име датотеке"
+msgstr "Име датотеке"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "Не стављај префикс"
+msgstr "Ништа"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Замени име датотеке са насловом"
+msgstr "Замени име датотеке насловом"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -292,7 +293,7 @@ msgstr "Пропорције прозора сразмерне видео-кад
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
-msgstr "Прилепи за углове радне површине"
+msgstr "Прилепи уз ивице екрана"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
@@ -304,7 +305,7 @@ msgstr "Онемогући мени „Отвори диск“"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "Приоритет процеса изнад нормале"
+msgstr "Повишени приоритет процеса"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
@@ -316,7 +317,7 @@ msgstr "Историја"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
msgid "Keep history of recently opened files"
-msgstr "Задржи историју скорашњих датотека"
+msgstr "Чувај историју отворених датотека"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
@@ -332,19 +333,19 @@ msgstr "Запамти позицију DVD-а"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
-msgstr "Запамти позицију последњег прозора"
+msgstr "Запамти положај прозора"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
-msgstr "Запамти величину последњег прозора"
+msgstr "Запамти величину прозора"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Запамти последњи зум"
+msgstr "Запамти поставке зума"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
-msgstr "Понашање команде „Отвори DVD/BD“"
+msgstr "Понашање команде „Отвори DVD/BD…“"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
@@ -420,15 +421,19 @@ msgstr "Понављај"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
msgid "time(s)"
-msgstr "време"
+msgstr "пута"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Понављање:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Након репродукције"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Излаз"
+msgid "Default zoom"
+msgstr "Подразумевани зум"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -468,7 +473,7 @@ msgstr "Користи радну нит за израду графикона ф
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Пријави пинове који не могу да се обраде"
+msgstr "Пријави неисправне пинове"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
@@ -536,7 +541,7 @@ msgstr "Никад не анимирај титлове"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "Рендеруј"
+msgstr "Рендеровање"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -544,7 +549,7 @@ msgstr "% анимације"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr "Анимирај"
+msgstr "Анимација"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
@@ -552,7 +557,7 @@ msgstr "% учесталости кадрова"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Дозволи испуштање подслика ако ред касни"
+msgstr "Дозволи испуштање подслика при кашњењу"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -560,15 +565,15 @@ msgstr "Распоред рендерера"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
-msgstr "Компензуј однос ширина/висина за анаморфне видео-записе"
+msgstr "Компензуј пропорције за анаморфне видео-записе"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Warning"
msgstr "Упозорење"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Ако негде у поставкама графичке картице омогућите уклањање назубљености у режиму целог екрана, титлови неће изгледати боље, већ ћете само оптеретити процесор."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Опција уклањања назубљености у режиму приказа преко целог екрана не доприноси квалитету титлова, већ само оптерећује процесор. Препоручујемо вам да је искључите у поставкама графичке картице."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -576,7 +581,7 @@ msgstr "Наставци датотека"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
msgid "Default"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
msgid "Set"
@@ -596,11 +601,11 @@ msgstr "Покрени као &администратор"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr "Постави као &подразумевани програм"
+msgstr "Постави као &подразум. програм"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Руковалац Real-Time Streaming Protocol-а (за rtsp:// адресе)"
+msgstr "Руковалац Real-Time Streaming Protocol-ом (за rtsp:// адресе)"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -648,15 +653,15 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "Audio CD"
+msgstr "Аудио CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
-msgstr "Интервал прескока (мали, средњи и велики; у милисекундама)"
+msgstr "Интервал преласка у милисекундама (мали, средњи и велики)"
msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
msgid "Default"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
@@ -668,19 +673,19 @@ msgstr "Ознаке поглавља у траци за премотавање"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "Информација „Репродукује се“ на статусу Skype-а"
+msgstr "Прикажи име датотеке која се репродукује на статусу Skype-а"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "Спречи умањивање плејера у режиму целог екрана на секундарном монитору"
+msgstr "Спречи умањивање плејера на секундарном монитору у режиму целог екрана"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Проширене функције траке задатака"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Отвори претходну/следећу датотеку у фасцикли при коришћењу опције „Прескочи уназад/унапред“ када је у плеј-листи само једна датотека"
+msgstr "Отвори претходну/следећу датотеку у фасцикли дугмадима „Унапред/уназад“ када је у плеј-листи само једна датотека"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Show time tooltip:"
@@ -696,7 +701,7 @@ msgstr "Подршка за Logitech LCD (експериментално)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
-msgstr "Сакриј курсор миша при репродукцији у режиму приказа у прозору"
+msgstr "Сакриј курсор миша при репродуковању у прозору"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
@@ -728,15 +733,15 @@ msgstr "&Доле"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
msgid "Add Media Type..."
-msgstr "Додај тип &медија…"
+msgstr "Додај &тип…"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
msgid "Add Sub Type..."
-msgstr "Додај тип &титла…"
+msgstr "Додај &подтип…"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
-msgstr "&Обриши"
+msgstr "&Избриши"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
@@ -760,7 +765,7 @@ msgstr "Резолуција:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
-msgstr "Креирано:"
+msgstr "Направљено:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Clip:"
@@ -828,7 +833,7 @@ msgstr "Помери на&доле"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
-msgstr "&Обриши"
+msgstr "&Избриши"
msgctxt "IDD_FAVORGANIZE_IDOK"
msgid "OK"
@@ -836,7 +841,7 @@ msgstr "&У реду"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "Шаблони размера и положаја"
+msgstr "Шаблони размере и положаја"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -844,7 +849,7 @@ msgstr "&Ново"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON3"
msgid "Delete"
-msgstr "&Обриши"
+msgstr "&Избриши"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
msgid "Up"
@@ -868,11 +873,11 @@ msgstr "&Сачувај"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Pos: 0.0 -> 1.0"
-msgstr "Позиција: 0.0 -> 1.0"
+msgstr "Позиција: 0.0 → 1.0"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Zoom: 0.2 -> 3.0"
-msgstr "Зум: 0.2 -> 3.0"
+msgstr "Размера: 0.2 → 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
@@ -892,11 +897,11 @@ msgstr "Упозорење"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC не може да обради неке од пинова у графикону. Вероватно немате потребне кодеке или филтере на систему."
+msgstr "MPC-HC не може да обради неке од пинова у графикону. Вероватно немате потребне кодеке или филтере."
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
-msgstr "Следећи пинови не могу да пронађу филтер с којим би се повезали:"
+msgstr "За следеће пинове није пронађен одговарајући филтер:"
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
@@ -1020,19 +1025,19 @@ msgstr "Поравнање и маргине"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Left"
-msgstr "Лево"
+msgstr "Лева"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Right"
-msgstr "Десно"
+msgstr "Десна"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Top"
-msgstr "Врх"
+msgstr "Горња"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Bottom"
-msgstr "Дно"
+msgstr "Доња"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
@@ -1068,15 +1073,15 @@ msgstr "Повежи алфа канале"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Ако желите да користите самосталне верзије ових филтера или желите замену, овде их онемогућите."
+msgstr "Ако желите да користите самосталну верзију ових филтера или другу алтернативу, овде их онемогућите."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
-msgstr "Филтери извора"
+msgstr "Филтери за изворе"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Transform Filters"
-msgstr "Декодери"
+msgstr "Филтери за трансформацију"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
@@ -1123,8 +1128,8 @@ msgid "Audio Renderer"
msgstr "Аудио-рендерер"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Поставке рендерера VMR-7/VMR-9 (без рендера) и EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Поставке рендерера VMR-9 (renderless) и EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1136,11 +1141,11 @@ msgstr "Интерполација:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Изабери D3D9 уређај за рендер."
+msgstr "Изабери D3D9 уређај за рендеровање"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Поново покрени при промени приказа"
+msgstr "Поново покрени при промени екрана"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
@@ -1152,11 +1157,11 @@ msgstr "Алтернативна верт. синхр."
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
-msgstr "VMR-9 миксер"
+msgstr "Режим VMR-9 Mixer"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
msgid "YUV Mixing"
-msgstr "YUV миксовање"
+msgstr "YUV Mixing"
msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
msgid "EVR Buffers:"
@@ -1168,7 +1173,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Титлови"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1184,7 +1189,11 @@ msgstr "Ротација"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Рендерер титлова"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Кеширај компилиране модуле за сенчење"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1196,7 +1205,7 @@ msgstr "Покрени у веб-прегледачу…"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
-msgstr "Компримирање"
+msgstr "Компримовање"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
@@ -1204,7 +1213,7 @@ msgstr "Дозволи приступ само са локалног хоста"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "Омогући преглед"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1231,16 +1240,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI руковаоци (.ext1=path1;.ext2=path2;…):"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Преузимање титлова са интернета"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "&Преузми и отвори"
+msgid "Download subtitles"
+msgstr "Преузми титл"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Замени тренутно учитане титлове"
+msgstr "Замени учитане титлове"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Преузми"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Освежи"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Прекини"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Опције"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Отпремање титлова"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Отпреми"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Прекини"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Опције"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1268,7 +1305,7 @@ msgstr "Засићеност"
msgctxt "IDD_PPAGEMISC_IDC_RESET"
msgid "Reset"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
@@ -1292,15 +1329,15 @@ msgstr "Управљање поставкама"
msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
msgid "Reset"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
msgid "Export"
-msgstr "Извези"
+msgstr "Извези…"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr "Извези тастере"
+msgstr "Извези тастере…"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
@@ -1308,7 +1345,7 @@ msgstr "Скенирање тјунера"
msgctxt "IDD_TUNER_SCAN_ID_START"
msgid "Start"
-msgstr "Покрени"
+msgstr "&Покрени"
msgctxt "IDD_TUNER_SCAN_IDCANCEL"
msgid "Cancel"
@@ -1316,7 +1353,7 @@ msgstr "&Откажи"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. Start"
-msgstr "Учесталост покретања"
+msgstr "Почетна учесталост"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Bandwidth"
@@ -1324,7 +1361,7 @@ msgstr "Пропусни опсег"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. End"
-msgstr "Учесталост завршавања"
+msgstr "Завршна учесталост"
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
msgid "Ignore encrypted channels"
@@ -1404,7 +1441,7 @@ msgstr "Заустави граф. филт."
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
-msgstr "Синхронизуј видео са приказом"
+msgstr "Синхронизуј видео са екраном"
msgctxt "IDD_PPAGESYNC_IDC_STATIC1"
msgid "Frequency adjustment:"
@@ -1412,7 +1449,7 @@ msgstr "Учесталост:"
msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
msgid "Sync display to video"
-msgstr "Синхронизуј приказ са видеом"
+msgstr "Синхронизуј екран са видеом"
msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
msgid "Frequency adjustment:"
@@ -1456,7 +1493,7 @@ msgstr "Измене ступају на снагу након што понов
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
msgid "Launch files in fullscreen"
-msgstr "Покрени датотеке преко целог екрана"
+msgstr "Покрећи датотеке преко целог екрана"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
msgid "Hide controls in fullscreen"
@@ -1476,11 +1513,11 @@ msgstr "Изађи из режима целог екрана на крају р
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
-msgstr "Монитор за цео екран"
+msgstr "Монитор за режим целог екрана"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
msgid "Use autochange fullscreen monitor mode"
-msgstr "Режим монитора у режиму целог екрана"
+msgstr "Аутоматска промена монитора у режиму целог екрана"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
@@ -1488,7 +1525,7 @@ msgstr "&Додај"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
-msgstr "&Обриши"
+msgstr "&Избриши"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
msgid "Up"
@@ -1524,35 +1561,47 @@ msgstr "Скенирај"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "Преферирај наметнуте или подразумеване титлове"
+msgstr "Приоритет имају унутрашњи титлови уместо спољних"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Преферирај спољне титлове над уграђеним"
+msgstr "Приоритет имају спољни титлови уместо унутрашњих"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Занемари уграђене титлове"
+msgstr "Занемари унутрашње титлове"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
-msgstr "Путање за аутоматско учитавање"
+msgstr "Путања за спољне титлове"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Базе на мрежи"
+msgid "Online search, download and upload subtitles"
+msgstr "Интернет претрага, преузимање и отпремање титлова"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Аутоматски тражи и преузимај титлове ако нису пронађени локално"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Приоритет имају титлови за особе са оштећеним слухом (ако их извор наводи)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Занемари датотеке које садрже следеће речи:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL базе са титловима:"
+msgid "Languages in order of preference:"
+msgstr "Језици по жељеном редоследу:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Тестирај"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Аутоматски отпреми активне титлове по завршетку репродукције"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1560,7 +1609,7 @@ msgstr "Потражња ажурирања"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
msgid "&Download now"
-msgstr "&Преузми сад"
+msgstr "&Преузми"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
@@ -1604,7 +1653,7 @@ msgstr "&Сачувај"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON5"
msgid "Delete"
-msgstr "&Обриши"
+msgstr "&Избриши"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
@@ -1652,51 +1701,51 @@ msgstr "Нетачно"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
-msgstr "Подразумевано"
+msgstr "Подразум."
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "Уређај"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "Искључиви режим"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "Битстриминг"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Опције"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "Стапање стерео-канала (за слушалице)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Праг:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Ниво:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "Напомена"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "У циљу смањења изобличења, препоручена јачина звука при репродуковању гласног компримираног материјала је око 85%."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1712,37 +1761,37 @@ msgstr "&У реду"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr ""
+msgstr "Пријава грешака"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "Нажалост, MPC-HC је отказао."
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "Пошаљите нам извештај о грешци како бисмо пронашли и уклонили проблем."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "Необавезне информације"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
-msgstr ""
+msgstr "Е-адреса:"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC3"
msgid "Your email address is optional and will only be used if the developers need to contact you for more information."
-msgstr ""
+msgstr "Е-адреса није обавезна, али се може користити ради комуницирања са програмерима."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr ""
+msgstr "Опис проблема (само на енглеском):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Поново покрени MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Изађи из MPC-HC-а"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po
index 39a596aae..f10bdfad6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rancher <djordje.vasiljevich@gmail.com>, 2014
-# vBm <the.vbm@gmail.com>, 2014
-# Zlatan Vasović <legospace9876@gmail.com>, 2014
+# Rancher, 2014
+# Rancher, 2016
+# Goran Džaferi <the.vbm@gmail.com>, 2014
+# Zlatan Vasović <inactive+ZDroid@transifex.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
-"PO-Revision-Date: 2014-12-11 19:01+0000\n"
-"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
-"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-06-16 15:35+0000\n"
+"Last-Translator: Rancher\n"
+"Language-Team: Serbian (http://www.transifex.com/mpc-hc/mpc-hc/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -66,30 +67,26 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Сачувај с&личице…"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Учитај титл…"
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "Титлови"
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "С&ачувај титл…"
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Учитај…"
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "База тит&лова"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Сачувај…"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Претражи…"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Преузми…"
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
msgstr "&Отпреми…"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Пр&еузми…"
-
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
msgstr "С&војства"
@@ -200,15 +197,15 @@ msgstr "&Тест на цепање слике"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
-msgstr ""
+msgstr "&Статистика"
msgctxt "ID_VIEW_OSD_DISPLAY_TIME"
msgid "Display Current T&ime"
-msgstr ""
+msgstr "&Тренутно време"
msgctxt "ID_VIEW_OSD_SHOW_FILENAME"
msgid "Show &File Name"
-msgstr ""
+msgstr "&Име датотеке"
msgctxt "POPUP"
msgid "&Output Range"
@@ -410,17 +407,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Додирни прозор &споља"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Задржи однос ширина/висина"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "По&тисни однос ширина/висина"
+msgid "&Aspect Ratio"
+msgstr "П&ропорције"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Подразумевано"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Подразумевано (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +435,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Претпостави да су &пиксели у облику квадрата (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Исправи разлику размере слике на монитору/радној површини"
@@ -535,9 +532,25 @@ msgid "&Stop"
msgstr "З&аустави"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "По &кадровима"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Понављање"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&у недоглед"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&датотеке"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&плеј-листе"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "У&спори"
@@ -548,7 +561,7 @@ msgstr "У&брзај"
msgctxt "ID_PLAY_RESETRATE"
msgid "R&eset Rate"
-msgstr "&Првобитна брзина"
+msgstr "Пр&вобитна брзина"
msgctxt "ID_FILTERS"
msgid "&Filters"
@@ -560,15 +573,15 @@ msgstr "Модули за &сенчење"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
-msgstr ""
+msgstr "&Аудио-запис"
msgctxt "ID_SUBTITLES"
msgid "Su&btitle Track"
-msgstr ""
+msgstr "&Титл"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&Видео-запис"
msgctxt "POPUP"
msgid "&Volume"
@@ -592,7 +605,7 @@ msgstr "&Након репродукције"
msgctxt "ID_AFTERPLAYBACK_DONOTHING"
msgid "Do no&thing"
-msgstr ""
+msgstr "&Не ради ништа"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po
index 3d9750f3f..cedeed39a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Rancher <djordje.vasiljevich@gmail.com>, 2014-2015
-# vBm <the.vbm@gmail.com>, 2014
-# vBm <the.vbm@gmail.com>, 2014
+# Rancher, 2014-2015
+# Rancher, 2016
+# Goran Džaferi <the.vbm@gmail.com>, 2014
+# Goran Džaferi <the.vbm@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-03-03 21:51:04+0000\n"
-"PO-Revision-Date: 2015-03-24 22:12+0000\n"
-"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
-"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
+"Last-Translator: JellyFrog\n"
+"Language-Team: Serbian (http://www.transifex.com/mpc-hc/mpc-hc/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -62,10 +63,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Својства"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Датотека"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "По&дразумевани стил"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Плеј-листа"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Датотеке"
@@ -118,6 +127,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Ако не наведете циљ рендеровања, SSA/ASS титлови ће бити рендеровани у односу на видео-кадар, док ће се сви други текстуални титлови приказивати у односу на прозор."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Понављање: плеј-листа"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Понављање: датотека"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Понављање у недоглед: укључено"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Понављање у недоглед: искључено"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Понављање у недоглед"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Никад (брзо)"
@@ -492,7 +521,7 @@ msgstr "Репродукција::Цео екран"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Унутрашњи филтери::Аудио-рендерер"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -518,18 +547,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (у прозору)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (у прозору)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (без рендера)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (без рендера)"
@@ -582,10 +603,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Плејер::Веб-интерфејс"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Титлови::База"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Подаци"
@@ -606,17 +623,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Увек рендерује методом прекривања. Обично су доступни само YUV формати, али су они приказани директно, без претварања боје у RGB. Ово је најбржи начин рендеровања од свих и једини који гарантује ваљано пресликавање видео-записа у режиму целог екрана на друге уређаје."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Подразумевани рендерер Windows XP-а. Веома стабилан и мало спорији од Overlay Mixer-а. Користи DirectDraw и прекривање, када је то могуће."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Доступно само ако инсталирате DirectX 9. Има исте могућности као VMR-7 (у прозору), али никад не рендерује методом прекривања. Због тога може бити спорији од рендерера VMR-7 (у прозору)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Исто као VMR-7 (у прозору), али са додатком додељивач-излагач за титловање. Пресликавање прекривајућег видео-записа неће радити. Препоручује се да активирате пун спектар боја."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +663,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Сопствени рендерер RealMedia формата. SMIL скрипти ће радити, али интеракција вероватно неће. Користи DirectDraw и прекривање, када је то могуће."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Излаз модула RealMedia који је обрађен помоћу додатка додељивач-излагач у VMR-7 (без рендера)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Излаз модула RealMedia који је обрађен помоћу додатка додељивач-излагач у VMR-9 (без рендера)."
@@ -666,10 +671,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Сопствени рендерер QuickTime формата. Може успорити приликом промене величине прозора за видео или његовог делимичног покривања. Када није доступан Overlay, користи се GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Излаз модула QuickTime-а који је обрађен помоћу додатка додељивач-излагач у VMR-7 (без рендера)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Излаз модула QuickTime-а који је обрађен помоћу додатка додељивач-излагач у VMR-9 (без рендера)."
@@ -736,7 +737,7 @@ msgstr "Null (без компримирања)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "Унутрашњи аудио-рендерер"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -750,9 +751,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Да бисте видели уграђени ресурс у прегледачу, потребно је да омогућите веб-интерфејс.\n\nКликните на дугме „Сачувај као“ ако само желите да сачувате информацију."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Преузми титл"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Преузми титл…"
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Отпреми титл…"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +815,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Смањује цепање слике заобилажењем вертикалне синхронизације уграђене у D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Скенирање тјунера"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Титлови нису учитани или је рендерер неподржан."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Отвори VTS_xx_0.ifo ради учитавања VTS_xx_x.vob датотека из једног дела"
@@ -947,11 +964,11 @@ msgid "&Organize Favorites..."
msgstr "&Организуј…"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Ме&шање"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Отвори &локацију датотеке"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -976,7 +993,7 @@ msgstr "&Очисти списак"
msgctxt "IDS_RECENT_FILES_QUESTION"
msgid "Are you sure that you want to delete recent files list?"
-msgstr "Заиста желите да обришете списак скорашњих датотека?"
+msgstr "Заиста желите да избришете списак скорашњих датотека?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
@@ -1035,7 +1052,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Зумирај за ултрашироки екран,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Сакриј у режиму &целог екрана"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1223,7 +1240,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Додај &фасциклу са садржајем"
msgctxt "IDS_HW_INDICATOR"
@@ -1352,7 +1369,7 @@ msgstr "Уклони све"
msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
msgid "Are you sure you want to remove all channels from the list?"
-msgstr "Заиста желите да обришете све канале са списка?"
+msgstr "Заиста желите да избришете све канале са списка?"
msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
msgid "No information available"
@@ -1372,19 +1389,19 @@ msgstr ""
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
-msgstr ""
+msgstr "Преостало време"
msgctxt "IDS_TIMER_HIGH_PRECISION"
msgid "High precision"
-msgstr ""
+msgstr "Велика прецизност"
msgctxt "IDS_AFTERPLAYBACK_REWIND"
msgid "After Playback: Rewind current file"
-msgstr ""
+msgstr "Након репродукције: премотај датотеку уназад"
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Close"
-msgstr ""
+msgstr "Након репродукције: затвори"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
@@ -1404,7 +1421,7 @@ msgstr ""
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Унутрашњи рендерер титлова"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1426,13 +1443,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Слика је успешно сачувана"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Учитај титл"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Учитај титл…"
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Сачувај титл"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Сачувај титл…"
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,8 +1576,8 @@ msgid "Thumbnails saved successfully"
msgstr "Сличице су успешно сачуване"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr ""
+msgid "Vide&o Track"
+msgstr "&Видео-запис"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1568,7 +1585,7 @@ msgstr "&Угао видео-записа"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
-msgstr "Врати подразумеване поставке"
+msgstr "Враћање подразумеваних поставки"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
@@ -1688,19 +1705,19 @@ msgstr "Пређи на почетак"
msgctxt "IDS_OSD_SHOW_FILENAME"
msgid "OSD: Show File Name"
-msgstr ""
+msgstr "OSD: прикажи име датотеке"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "Репродукуј DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "Репродукуј BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
-msgstr ""
+msgstr "OSD: прикажи статистику рендерера"
msgctxt "IDS_OSD_RESET_RENDERER_STATS"
msgid "OSD: Reset Renderer Statistics"
@@ -1720,7 +1737,7 @@ msgstr "Само кадар"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Прикажи &наслов и мени"
+msgstr "&Наслов и мени"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
@@ -1795,8 +1812,8 @@ msgid "PnS Dec Height"
msgstr "Смањи висину кадра"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Преузимам титл…"
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2036,7 +2053,7 @@ msgstr ""
msgctxt "IDS_PPAGEWEBSERVER_0"
msgid "Select the directory"
-msgstr "Изабери фасциклу"
+msgstr "Избор фасцикле"
msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
msgid "Quick add favorite"
@@ -2058,11 +2075,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Шифровано"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Да"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Не"
@@ -2214,14 +2231,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Ширина слике"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL је исправан."
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Верзија протокола се не подудара. Ажурирајте плејер или изаберите другу адресу."
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Однос ширина/висина"
@@ -2315,8 +2324,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Не могу да креирам сличице јер би биле премале.\n\nПробајте да смањите број сличица или повећате укупну величину."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Да бисте могли да учитате титл, потребно је да промените видео-рендерер и поново покренете датотеку.\n– DirectShow: VMR-7/VMR-9 (без рендера), EVR (CP), Sync, madVR или Haali\n– RealMedia: посебан рендерер за RealMedia формат; могуће је отварање и кроз DirectShow\n– QuickTime: DX7 или DX9 рендерер за QuickTime\n– ShockWave: недоступно"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Да бисте могли да учитате титл, потребно је да промените видео-рендерер и поново покренете датотеку.\n– DirectShow: VMR-9 (без рендера), EVR (CP), Sync, madVR или Haali\n– RealMedia: посебан рендерер за RealMedia формат; могуће је отварање и кроз DirectShow\n– QuickTime: DX7 или DX9 рендерер за QuickTime\n– ShockWave: недоступно"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2336,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Однос ширина/висина: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Однос ширина/висина: подразумевано"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2375,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Не могу да обрадим датотеку"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Неисправан URL. Не могу да пронађем базу титлова одатле."
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Поглавље: "
@@ -2563,8 +2568,8 @@ msgid "Volume boost Max"
msgstr "Максимално појачање звука"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Употреба: mpc-hc.exe „pathname“ [прекидачи]\n\n„pathname“\tДатотека или фасцикла за отварање (дозвољени су џокери; цртица (-) означава стандардни улаз)\n/dub „dubname“\tУчитајте додатну аудио-датотеку\n/dubdelay „file“\tУчитајте додатну аудио-датотеку уз померање за XX мс (ако датотека садржи „…DELAY XXms…“)\n/d3dfs\t\tПокрени рендеровање у D3D режиму целог екрана\n/sub „subname“\tУчитајте додатну датотеку титла\n/filter „filtername“\tУчитајте филтере DirectShow-а из DLL-а (дозвољени су џокери)\n/dvd\t\tПокрените у режиму DVD-а; „pathname“ означава фасциклу DVD-а (необавезно)\n/dvdpos T#C\tРепродукујте од наслова Н, поглавља П\n/dvdpos T#hh:mm\tРепродукујте од наслова Н, позиције hh:mm:ss\n/cd\t\tУчитајте све записе аудио CD-а или (S)VCD-а;\n\t\t„pathname“ означава путању погонске јединице (необавезно)\n/device\t\tОтворите подразумевани видео-уређај\n/open\t\tОтворите датотеку без покретања репродукције\n/play\t\tЗапочните репродукцију одмах по покретању плејера\n/close\t\tЗатворите плејер након репродукције (ради само у комбинацији са „/play“)\n/shutdown\tИскључите рачунар након репродукције\n/standby\t\tПребаците рачунар у стање приправности након репродукције\n/hibernate\tПребаците рачунар у хибернацију након репродукције\n/logoff\t\tОдјавите се након репродукције\n/lock\t\tЗакључајте рачунар након репродукције\n/monitoroff\tИскључите монитор након репродукције\n/playnext\t\tОтворите следећу датотеку у фасцикли након репродукције\n/fullscreen\tЗапочните у режиму целог екрана\n/minimized\tЗапочните у режиму приказа у прозору\n/new\t\tОтворите нови примерак плејера\n/add\t\tДодајте „pathname“ у плеј-листу; може да се комбинује са „/open“ и „/play“\n/randomize\tRandomize the playlist\n/regvid\t\tПовежите програм са датотекама видео-записа\n/regaud\t\tПовежите програм са датотекама аудио-записа\n/regpl\t\tПовежите програм са датотекама плеј-листи\n/regall\t\tПовежите програм са свим подржаним форматима\n/unregall\t\tУклоните повезаност са свим датотекама\n/start ms\t\tЗапочните репродукцију у милисекундама\n/startpos hh:mm:ss\tЗапочните репродукцију на позицији hh:mm:ss\n/fixedsize w,h\tПоставите фиксну величину прозора\n/monitor N\tПокрените плејер на монитору N, где је N – 1 па навише\n/audiorenderer N\tКористите аудио-рендерер N, где је N – 1 па навише\n\t\t(погледајте излазне опције)\n/shaderpreset „Pr“\tКористите шаблон „Pr“ модула за сенчење\n/pns „name“\tИзаберите име шаблона за размеру и положај кадра\n/iconsassoc\tПоново повежите иконе са форматима\n/nofocus\t\tОтворите MPC-HC у позадини\n/webport N\tПокрените веб-интерфејс на наведеном порту\n/debug\t\tПрикажите извод модула за отклањање грешака у OSD-у\n/nocrashreporter\tDisable the crash reporter\n/slave „hWnd“\tКористите MPC-HC као роба\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tУспоставите почетне вредности\n/help /h /?\tПрикажите помоћ у вези са прекидачима командне линије\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2655,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Омогући све филтере"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Скенирање тјунера"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Титлови нису учитани или је рендерер неподржан."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Аутор је непознат. Контактирајте нас ако сте то ви!"
@@ -3406,10 +3403,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Функције „Сачувај слику“ и „Сачувај сличице“ не раде са видео-рендерером Overlay Mixer.\nПромените га у MPC-HC-овим излазним опцијама и поново отворите датотеку."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Не могу да се повежем са базом титлова на мрежи."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Желите ли да активирате EDL уређивач?"
@@ -3602,3 +3595,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Преузми титл"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "&Преузми и отвори"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Подразумевано"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Помери на&горе"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Помери на&доле"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Отпремање титлова"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub „име датотеке“\tУчитајте додатни аудио-запис."
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay „датотека“\tУчитајте додатни аудио-запис са кашњењем од XX мс\n\t\t(ако име датотеке садржи „DELAY XXms…“)."
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tПокрените рендеровање у D3D режиму целог екрана."
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub „име титла“\tУчитајте додатни титл."
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter „име филтера“\tУчитајте DirectShow филтере из DLL-а (дозвољени су џокери)."
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tПокрените у DVD режиму; „pathname“ означава фасциклу DVD-а (необавезно)."
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos Н#П\tПокрените репродукцију од наслова Н, поглавље П."
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tУчитајте све записе са аудио CD-а или (S)VCD-а;\n\t\t„pathname“ означава путању диска (необавезно)."
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tОтворите подразумевани видео-уређај."
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tОтворите датотеку без аутоматског покретања репродукције."
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tРепродукујте датотеку одмах по покретању плејера."
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tЗатворите плејер након репродукције (ради само уз /play)."
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tИскључите рачунар након репродукције."
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tУкључите стање приправности након репродукције."
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tУкључите хибернацију након репродукције."
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tОдјавите се са рачунара након репродукције."
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tЗакључајте рачунар након репродукције."
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tИскључите монитор након репродукције."
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tОтворите следећу датотеку у фасцикли након репродукције."
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tПокрените у режиму целог екрана."
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tПокрените у умањеном прозору."
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tКористите нови примерак плејера."
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tДодајте „pathname“ на плеј-листу; може се комбиновати са /open и /play."
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
index 9d9de567d..e5911e74b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,10 +57,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr ""
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr ""
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr ""
@@ -113,6 +121,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr ""
@@ -513,18 +541,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr ""
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr ""
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr ""
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr ""
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr ""
@@ -577,10 +597,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr ""
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr ""
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr ""
@@ -601,16 +617,8 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr ""
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr ""
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr ""
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
msgstr ""
msgctxt "IDC_DSVMR9REN"
@@ -649,10 +657,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr ""
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr ""
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr ""
@@ -661,10 +665,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr ""
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr ""
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr ""
@@ -745,8 +745,12 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr ""
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
@@ -805,6 +809,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr ""
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr ""
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr ""
@@ -942,11 +958,11 @@ msgid "&Organize Favorites..."
msgstr ""
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr ""
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr ""
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1030,7 +1046,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr ""
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr ""
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1218,7 +1234,7 @@ msgid "+%d%%"
msgstr ""
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr ""
msgctxt "IDS_HW_INDICATOR"
@@ -1421,12 +1437,12 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr ""
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
msgstr ""
msgctxt "IDS_AG_PROPERTIES"
@@ -1554,7 +1570,7 @@ msgid "Thumbnails saved successfully"
msgstr ""
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1790,7 +1806,7 @@ msgid "PnS Dec Height"
msgstr ""
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
+msgid "Downloading [%s] \"%s\""
msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
@@ -2053,11 +2069,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr ""
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr ""
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr ""
@@ -2209,14 +2225,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr ""
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr ""
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr ""
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr ""
@@ -2310,7 +2318,7 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
@@ -2322,7 +2330,7 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr ""
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
+msgid "Aspect Ratio: Default (DAR)"
msgstr ""
msgctxt "IDS_MAINFRM_70"
@@ -2361,10 +2369,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr ""
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr ""
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr ""
@@ -2558,7 +2562,7 @@ msgid "Volume boost Max"
msgstr ""
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
@@ -2645,14 +2649,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr ""
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr ""
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr ""
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr ""
@@ -3401,10 +3397,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr ""
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr ""
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr ""
@@ -3597,3 +3589,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
index 9e4f3cfbd..537dfa2ea 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
@@ -1,15 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# John Smith <rdb95566@foxja.com>, 2015
# JellyFrog, 2013-2015
+# Luna Jernberg <bittin@cafe8bitar.se>, 2016
# Apa <sakcheen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-09-08 19:47:48+0000\n"
-"PO-Revision-Date: 2015-09-24 22:13+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Swedish (http://www.transifex.com/mpc-hc/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +192,8 @@ msgid "About"
msgstr "Om"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 se Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 se Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +424,16 @@ msgid "time(s)"
msgstr "gång(er)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Efter Uppspelning"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Utmatning"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +572,7 @@ msgid "Warning"
msgstr "Varning"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Om du aktiverar helskärmskantutjämning i ditt grafikkorts inställningar kommer undertexter inte se bättre ut, men det kommer troligen att belasta din processor."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1128,8 @@ msgid "Audio Renderer"
msgstr "Ljudrenderare"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderlös)- och EVR (CP)-inställningar"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderlös) och EVR (CP) inställningar"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1167,7 +1173,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Undertexter"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1183,6 +1189,10 @@ msgstr "Rotation"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
+msgstr "Undertextrenderare"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
msgstr ""
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
@@ -1230,17 +1240,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI-hanterare: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Undertexter tillgängliga online"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Ladda ner && Öppna"
+msgid "Download subtitles"
+msgstr "Ladda ner undertexter"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Ersätt aktuell inladdade undertexter"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Ladda ner"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Inställningar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Ladda upp undertext"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Ladda upp"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Inställningar"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Spara Som..."
@@ -1542,16 +1580,28 @@ msgid "Reset"
msgstr "Återställ"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Online-databas"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Webbadress till databasen för undertexter:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Testa"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
index 1a05e9935..189ce1527 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013
# JellyFrog, 2013-2015
+# Luna Jernberg <bittin@cafe8bitar.se>, 2016
# Apa <sakcheen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-04 16:05+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Swedish (http://www.transifex.com/mpc-hc/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -66,29 +67,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Spara Miniat&yrer..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Läs in Undertext..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Spara Underte&xt..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Undertextsdatabas"
+msgid "S&ubtitles"
+msgstr "Undertexter"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "Läs in Undertext..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Sök..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Spara Undertext..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Ladda &upp..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "Ladda ner undertexter"
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Ladda &ner..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "Ladda upp undertext"
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -410,17 +407,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Berör Fönstret Från &Utsidan"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Behåll bildförhållandet"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Manuellt bildförhållande"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Standard"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -442,6 +435,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Korrigera bildförhållandet mellan skärm/skrivbord"
@@ -535,9 +532,25 @@ msgid "&Stop"
msgstr "&Stoppa"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Bildrutesteg"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "Arkiv"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "Spelningslista"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Långsammare Uppspelning"
@@ -567,7 +580,7 @@ msgid "Su&btitle Track"
msgstr "&Undertextspår"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospår"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
index aa6f3fa49..14574f31b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
@@ -1,14 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# John Smith <rdb95566@foxja.com>, 2015
# JellyFrog, 2013-2015
+# Luna Jernberg <bittin@cafe8bitar.se>, 2016
# Apa <sakcheen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-24 22:04+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Swedish (http://www.transifex.com/mpc-hc/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -61,10 +63,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Egenskaper"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Fil"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Standardinställningar"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Spelningslista"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Filer"
@@ -117,6 +127,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Om renderingsmålet lämnas odefinierat kommer SSA/ASS-undertexter att renderas relativt till videobildrutan medans alla andra textbaserade undertexter kommer renderas relativt till fönstret."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Aldrig (Snabbast)"
@@ -517,18 +547,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (fönsterläge)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (fönsterläge)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderlös)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderlös)"
@@ -581,10 +603,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Spelare::Webbgränssnitt"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Undertexter::Databas"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Detaljer"
@@ -605,17 +623,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Renderar alltid i överlägg. Generellt sett är bara YUV-format tillåtna, men de presenteras direkt utan färgkonvertering till RGB. Detta är den snabbaste renderingsmetoden av alla och den enda där man kan vara säker på att skärmbildsdubblering i helskärm aktiveras på TV-utgång."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Standardrenderaren för Windows XP. Mycket stabil och bara lite långsammare än Overlay-mixern. Använder DirectDraw och körs i överlägg när den kan."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Endast tillgänglig om du har DirectX 9 installerat. Har samma egenskaper som VMR-7 (fönsterläge), men kommer aldrig att använda överläggsrendering och på grund av detta kan den vara lite långsammare än VMR-7 (fönsterläge)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Samma som VMR-7 (fönsterläge), men använder Allokerar-Presentatör-insticksmodulen från MPC-HC för undertexter. Överläggsskärmbildsdubblering kommer INTE att fungera. \"True Color\"-skrivbordsfärgdjup rekommenderas."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Endast tillgänglig om du har DirectX 9 installerat. Väldigt stabilt men den kommer aldrig att använda Overlay rendering och på grund av detta kommer den att vara lite långsammare än Overlay mixer."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +663,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Reals egna renderare. SMIL-skript kommer att fungera, men interaktivitet är inte troligt. Använder DirectDraw och körs i överlägg när den kan."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Utmatningen av Reals motor renderad av den DX7-baserade Allokering-Presentatören från VMR-7 (renderlös)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Utmatningen av Reals motor renderad av den DX9-baserade Allokering-Presentatören från VMR-9 (renderlös)."
@@ -665,10 +671,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTimes egna renderare. Blir aningen långsam när videostorleken ändrads eller när videon blir delvis övertäckt av ett annat fönster. När Overlay inte är tillgänglig kommer den att falla tillbaka till GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Utmatningen av QuickTimes motor renderad av den DX7-baserade Allokering-Presentatören från VMR-7 (renderlös)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Utmatningen av QuickTimes motor renderad av den DX9-baserade Allokering-Presentatören från VMR-9 (renderlös)."
@@ -749,10 +751,14 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "För att kunna se en inbäddad resurs i din webbläsare måste du aktivera webbgränssnittet.\n\nAnvänd \"Spara Som\"-knappen om du bara vill spara informationen."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
msgstr "Ladda ner undertexter"
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Ladda upp undertext"
+
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
msgstr "Fördröjning (ms):"
@@ -809,6 +815,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Reducerar \"tearing\" genom att kringgå standard-VSync inbyggt i D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Tuner sökning"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Undertexter är inte laddade eller ej stött renderare."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Öppna VTS_xx_0.ifo för att ladda VTS_xx_x.vob filer i ett stycke"
@@ -946,11 +964,11 @@ msgid "&Organize Favorites..."
msgstr "&Ordna Favoriter..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Blanda"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Öppna filens sökväg"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1034,7 +1052,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Zoom Till Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Göm i Helskärm"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1222,7 +1240,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Hämta alla filer i mappen"
msgctxt "IDS_HW_INDICATOR"
@@ -1399,11 +1417,11 @@ msgstr "Förhandsvisningen är avstängd, du kan aktivera den i MPC-HCs inställ
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "Detta alternativ kan användas för att förhandsvisa media filer från en nätverks location. Använd endast på ett säkert nätverk.\n\nVill du verkligen aktivera detta alternativ?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Intern undertextrenderare"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1425,13 +1443,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Bilden sparades framgångsrikt"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Läs in Undertext"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Spara Undertext"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1576,7 @@ msgid "Thumbnails saved successfully"
msgstr "Miniatyrerna har sparats"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Videospår"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1794,8 +1812,8 @@ msgid "PnS Dec Height"
msgstr "PnS Minska Höjd"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Laddar ner undertext(er), vänta."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2057,11 +2075,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Krypterad"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Ja"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Nej"
@@ -2213,14 +2231,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Bildbredd"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL:en verkar vara korrekt!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Protokollversionerna matchar inte. Var vänlig uppdatera din spelare eller välj en annan adress!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Bildförhållande"
@@ -2314,8 +2324,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Miniatyrbilderna skulle bli för små, omöjligt att skapa filen.\n\nFörsök att minska antalet miniatyrbilder eller att öka den totala storleken."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "För att ladda undertexter måste du byta videorenderartyp och öppna filen igen.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR eller Haali\n- RealMedia: Specialrenderare för RealMedia, eller öppna filen via DirectShow\n- QuickTime: DX7 eller DX- rendererare för QuickTime\n- ShockWave: Fungerar ej"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "För att ladda undertexter måste du byta videorenderartyp och öppna filen igen.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR eller Haali\n- RealMedia: Specialrenderare för RealMedia, eller öppna filen via DirectShow\n- QuickTime: DX7 eller DX- rendererare för QuickTime\n- ShockWave: Fungerar ej"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2336,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Bildförhållande: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Bildförhållande: Standard"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2375,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Misslyckades att rendera filen"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Felaktig URL, kunde inte hitta en undertextdatabas där!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Kapitel: "
@@ -2562,8 +2568,8 @@ msgid "Volume boost Max"
msgstr "Volym-boost Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Användning: mpc-hc.exe \"sökväg\" [växlar]\n\n\"sökväg\"\t\tHuvudfilen eller katalog för att ladda (jokertecken\n\t\tstödjs, \"-\" denotes standard input)\n/dub \"fil\"\t\tLägg till ytterligare en ljudfil\n/dubdelay \"fil\"\tLägg till ytterligare en ljudfil skiftat med XXms (om\n\t\tfilen innehåller \"...DELAY XXms...\")\n/d3dfs\t\tBörja rendering i D3D helskärmsläge\n/sub \"fil\"\t\tLägg till ytterligare en undertextfil\n/filter \"filternamn\"\tLadda DirectShow filter från ett dynamiskt länk\n\t\tbibliotek (jokertecken stödjs)\n/dvd\t\tKör i DVD-läge, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStarta uppspelningen vid titel T, kapitel C\n/dvdpos T#hh:mm\tStarta uppspelningen vid titel T, tid hh:mm:ss\n/cd\t\tLadda alla spår av en ljud-CD eller (S)VCD,\n\t\t\"pathname\" innebär att enhetssökväg (valfritt)\n/device\t\tOpen the default video device\n/open\t\tÖppna filen, börja inte spela automatiskt\n/play\t\tBörja spela filen så fort spelaren\n\t\tstartar\n/close\t\tStäng spelaren efter uppspelningen (fungerar bara när\n\t\tanvänds med /play)\n/shutdown\tStänga av operativsystemet efter uppspelningen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStarta i fullskärmsläge\n/minimerad\tStarta i minimerat läge\n/ny\t\tAnvänd en ny instans av spelaren\n/add\t\tLägg till \"pathname\" i spelningslista, kan kombineras\n\t\tmed /open och /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tSkapa filassociationer för ljudfiler\n/regpl\t\tSkapa filassociationer för spelningslista\n/regall\t\tSkapa filassociationer för för alla filtyper som stödjs\n/unregall\t\tTa bort alla filassociationer \n/start ms\t\tBörja spela vid \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tBörja spela vid tid hh:mm:ss\n/fixedsize w,h\tSätt fast fönsterstorlek\n/monitor N\tStart på bildskärm N, där N börjar från 1\n/ljudrenderare N\tBörja användaljudrenderare N, där N börjar från 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tÅterställ standardinställningar\n/help /h /?\tVisa hjälp för kommandoradsväxlar\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2655,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Aktivera alla filter"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Tuner sökning"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Undertexter är inte laddade eller ej stött renderare."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Författare okänd. Kontakta oss om du har gjort den här loggan!"
@@ -3405,10 +3403,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"Spara skärmdump\"- och \"Spara miniatyrer\"-funktionerna fungerar inte med Overlay Mixer-videorenderaren.\nÄndra videorenderare i MPC:s utmatningsinställningar och öppna filen igen."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Kan inte ansluta till online undertextdatabasen."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Vill du aktivera EDL-redigeraren?"
@@ -3595,9 +3589,377 @@ msgstr "Inställningar"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Nerladdningar"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Ladda ner undertexter"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Användarnamn"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Ladda ner && Öppna"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Återställ"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Flytta upp"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Flytta ned"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Ladda upp undertext"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
index f2faae8e7..50372f0d1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# M. Somsak, 2014-2015
+# M. Somsak, 2014-2016
# M. Somsak, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-21 11:14+0000\n"
-"Last-Translator: M. Somsak\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/mpc-hc/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "เกี่ยวกับ"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "สงวนลิขสิทธิ์ © 2002-2015 ดูที่ Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "สงวนลิขสิทธิ์ © 2002-2017 ดูที่ Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "ครั้ง"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "โหมดวนซ้ำ:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "หลังเล่นจบ"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "ขาออก"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +570,7 @@ msgid "Warning"
msgstr "คำเตือน"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "ถ้าคุณฝืนและใช้งานการลดรอยหยักในโหมดเต็มจอบางที่ที่การตั้งค่าการ์ดจอของคุณ ศัพท์บรรยายจะไม่ได้ดูดีขึ้นแต่จะเปลือง CPU ของคุณ"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "ตัวแปลผลเสียง"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "การตั้งค่า VMR-7/VMR-9 (renderless) และ EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "การตั้งค่า VMR-9 (renderless) และ EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1185,6 +1189,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "ตัวแปลผลศัพท์บรรยาย"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "ฟังบนพอร์ต:"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "ตัวจัดการ CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "มีศัพท์บรรยายออนไลน์"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "ดาวน์โหลด และเปิด"
+msgid "Download subtitles"
+msgstr "ดาวน์โหลดศัพท์บรรยาย"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "แทนที่ศัพท์บรรยายที่โหลดอยู่ปัจจุบัน"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "ดาวน์โหลด"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "เรียกใหม่"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "ยกเลิก"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "ตัวเลือก"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "อัพโหลดศัพท์บรรยาย"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "อัพโหลด"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "ยกเลิก"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "ตัวเลือก"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "บันทึกเป็น...."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "คืนค่า"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "ฐานข้อมูลออนไลน์"
+msgid "Online search, download and upload subtitles"
+msgstr "ค้นหา, ดาวน์โหลด และอัพโหลดศัพท์บรรยายออนไลน์"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "ค้นหาและดาวน์โหลดศัพท์บรรยายอัตโนมัติ ถ้าค้นหาในท้องถิ่นแล้วไม่มี"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "ศัพท์บรรยายที่ชอบสำหรับผู้บกพร่องทางการได้ยิน (เมื่อได้ระบุไว้โดยผู้จัดหาศัพท์บรรยาย)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "ไม่สนใจไฟล์ที่ประกอบด้วยคำใดก็ตามต่อไปนี้:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL พื้่นฐานของฐานข้อมูลศัพท์บรรยายออนไลน์:"
+msgid "Languages in order of preference:"
+msgstr "ภาษาตามลำดับความชอบ:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "ทดสอบ"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "อัพโหลดศัพท์บรรยายที่แอ็คทีฟอัตโนมัติ เมื่อจบการเล่นวิดีโอ"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1687,7 +1735,7 @@ msgstr ""
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "ระดับ:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
index 09eb14634..bb32d5984 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# M. Somsak, 2014-2015
+# M. Somsak, 2014-2016
# M. Somsak, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-03 10:50+0000\n"
-"Last-Translator: M. Somsak\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/mpc-hc/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "บันทึกรูป&ย่อ..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "โห&ลดศัพท์บรรยาย..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "บันทึกศัพท์&บรรยาย..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "ฐาน&ข้อมูลศัพท์บรรยาย"
+msgid "S&ubtitles"
+msgstr "ศัพท์บรรยาย"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "โห&ลดศัพท์บรรยาย..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&ค้นหา..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&บันทึกศัพท์บรรยาย..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&อัพโหลด..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&ดาวน์โหลดศัพท์บรรยาย..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&ดาวน์โหลด..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&อัพโหลดศัพท์บรรยาย..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "สัมผัสหน้าต่างจากด้านนอ&ก"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&คงอัตราส่วนภาพ"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&ฝืนอัตราส่วนภาพ"
+msgid "&Aspect Ratio"
+msgstr "อัตราส่วน&ภาพ"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "ค่า&ตั้งต้น"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&ค่าตั้งต้น (ค่าแสดงผล)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "แ&ก้ไขค่าต่างอัตราส่วนฯ จอภาพ/เดสก์ท็อป"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "ห&ยุด"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "เดินเ&ฟรม"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "การวนซ้ำ"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&ตลอดไป"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "ไ&ฟล์"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&บัญชีการเล่น"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&ลดอัตรา"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "แทร็คศัพท์&บรรยาย"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "แทร็ค&วิดีโอ"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
index d8347cc8e..a14d05179 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# M. Somsak, 2014-2015
+# M. Somsak, 2014-2016
# M. Somsak, 2014
# M. Somsak, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/mpc-hc/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -62,10 +62,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "คุณสมบัติ"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "ไฟล์"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&ลักษณะตั้งต้น"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "บัญชีการเล่น"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "ไฟล์"
@@ -118,6 +126,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "ถ้าเป้าหมายการแปลผลไม่ถูกระบุ, ศัพท์บรรยาย SSA/ASS จะถูกแปลผลสัมพันธ์กับเฟรมวิดีโอ ในขณะที่ศัพท์ฯข้อความอื่นๆ จะถูกแปลผลสัมพันธ์กับหน้าต่าง"
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "โหมดวนซ้ำ: บัญชีการเล่น"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "โหมดวนซ้ำ: ไฟล์"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "วนซ้ำตลอดไป: เปิด"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "วนซ้ำตลอดไป: ปิด"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "วนซ้ำตลอดไป"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "ไม่ต้อง (วิธีที่เร็วสุด)"
@@ -518,18 +546,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -582,10 +602,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "เครื่องเล่น::ส่วนประสานเว็บ"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "ศัพท์บรรยาย::ฐานข้อมูล"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "รายละเอียด"
@@ -606,17 +622,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "แปลผลใน overlay เสมอ โดยทั่วไปรูปแบบ YUV เท่านั้นที่ได้รับอนุญาต, แต่พวกมันจะถูกนำเสนอโดยตรงปราศจากการแปลงสีใดๆเป็น RGB นี่คือวิธีการแปลผลทั้งหมดที่เร็วที่สุด และเป็นที่เดียวที่คุณสามารถมั่นใจการทำภาพกระจกวิดีโอแบบเต็มจอ สู่การกระตุ้นโทรทัศน์ขาออก"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "ตัวแปลผลตั้งต้นสำหรับ Windows XP เสถียรมากและช้ากว่า Overlay mixer เล็กน้อยเท่านั้น ใช้ DirectDraw และรันใน Overlay เมื่อมันสามารถ"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "ใช้ได้เฉพาะถ้าคุณมีการติดตั้ง DirectX 9 ไว้แล้ว มีความสามารถเหมือน VMR-7 (windowed), แต่จะไม่ใช้การแปลผล Overlay ด้วยเหตุนี้มันจึงอาจช้ากว่า VMR-7 (windowed)"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "เหมือนกับ VMR-7 (windowed) เว้นแต่ปลั๊กอิน Allocator-Presenter ของ MPC-HC สำหรับการทำศัพท์บรรยาย, ส่วนการทำภาพกระจกวิดีโอ Overlay จะใช้งานไม่ได้, พิกัดสีเดสก์ท็อปแบบ \"สีจริง\" ถูกแนะนำ"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "จะมีพร้อมใช้ถ้าคุณได้การติดตั้ง DirectX 9 ไว้เท่านั้น เสถียรมากแต่จะไม่มีการใช้การแปลผล Overlay เพราะสิ่งนี้อาจช้ากว่า Overlay mixer"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -654,10 +662,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "ตัวแปลผลของ Real เอง สคริปต์ SMIL จะใช้งานได้ แต่ปฏิกิริยาไม่น่าใช่, ใช้ DirectDraw และรันใน Overlay เมื่อมันสามารถ"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ขาออกของ Real's engine ถูกแปลผลโดย DX7-based Allocator-Presenter ของ VMR-7 (renderless)"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "ขาออกของ Real's engine ถูกแปลผลโดย DX9-based Allocator-Presenter ของ VMR-9 (renderless)"
@@ -666,10 +670,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "ตัวแปลผลของ QuickTime เอง ช้ากว่าเล็กน้อยเมื่อพื้นที่วิดีโอของมันถูกปรับขนาดหรือบางส่วนถูกทับโดยหน้าต่างอื่น, เมื่อไม่มี Overlay มันมักจะกลับไปที่ GDI"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ขาออกของ QuickTime's engine ถูกแปลผลโดย DX7-based Allocator-Presenter ของ VMR-7 (renderless)"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "ขาออกของ QuickTime's engine ถูกแปลผลโดย DX9-based Allocator-Presenter ของ VMR-9 (renderless)"
@@ -750,9 +750,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "เพื่อที่จะดูทรัพยากรที่ฝังไว้ในเบราว์เซอร์ของคุณ คุณต้องเลือกใช้งานส่วนประสานเว็บ\n\nใช้ปุ่ม \"บันทึกเป็น\" ถ้าคุณเพียงต้องการบันทึกข้อมูลเท่านั้น"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "ดาวน์โหลดศัพท์บรรยาย"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "ดาวน์โหลดศัพท์บรรยาย..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "อัพโหลดศัพท์บรรยาย..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -810,6 +814,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "ลดการฉีกของภาพโดยลัด VSync ตั้งต้นที่สร้างไปยัง D3D"
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "สแกนตัวจูน"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "ศัพท์บรรยายไม่ถูกโหลด หรือตัวแปลผลไม่ถูกรองรับ"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "เปิด VTS_xx_0.ifo เพื่อโหลดไฟล์ VTS_xx_x.vob เป็นชิ้นเดียว"
@@ -947,11 +963,11 @@ msgid "&Organize Favorites..."
msgstr "&จัดระเบียบรายการโปรด..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "เล่นสุ่ม"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "เปิดที่ตั้งไฟล์"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1035,7 +1051,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "ซูมเป็นจอกว้างพิเศษ,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "ซ่อนเมื่อเต็มจอ"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1223,7 +1239,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "เพิ่มโฟลเดอร์ที่บรรจุอยู่"
msgctxt "IDS_HW_INDICATOR"
@@ -1426,13 +1442,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "รูปภาพถูกบันทึกสำเร็จ"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "โหลดศัพท์บรรยาย"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "บันทึกศัพท์บรรยาย"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1559,7 +1575,7 @@ msgid "Thumbnails saved successfully"
msgstr "รูปย่อถูกบันทึกสำเร็จ"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "แทร็ค&วิดีโอ"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1795,8 +1811,8 @@ msgid "PnS Dec Height"
msgstr "ส่องกวาด ลดสูง"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "กำลังดาวน์โหลดศัพท์บรรยาย, โปรดรอ"
+msgid "Downloading [%s] \"%s\""
+msgstr "กำลังดาวน์โหลด [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2058,11 +2074,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "ถูกใส่รหัส"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "ใช่"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "ไม่"
@@ -2214,14 +2230,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "ความกว้างรูปภาพ"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL ดูเหมือนจะถูกต้อง!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "เวอร์ชันโปรโตคอลไม่ตรงกัน โปรดปรับปรุงรุ่นเครื่องเล่นของคุณ หรือเลือกที่อยู่อื่น!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "อัตราส่วนภาพ"
@@ -2315,8 +2323,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "รูปย่ออาจจะเล็กมาก จึงเป็นไปไม่ได้ที่จะสร้างไฟล์\n\nลองลดจำนวนของรูปย่อ หรือเพิ่มขนาดโดยรวม"
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "เพื่อโหลดศัพท์บรรยาย คุณต้องเปลี่ยนชนิดตัวแปลผลวิดีโอและเปิดไฟล์อีกครั้ง\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR หรือ Haali\n- RealMedia: ตัวแปลผลพิเศษสำหรับr RealMedia, หรือเปิดมันผ่าน DirectShow\n- QuickTime: ตัวแปลผล DX7 หรือ DX9 สำหรับ QuickTime\n- ShockWave: ไม่มีข้อมูล"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "เพื่อโหลดศัพท์บรรยายคุณจำเป็นต้องเปลี่ยนชนิดตัวแปลผลวิดีโอและเปิดไฟล์ใหม่อีกครั้ง\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR หรือ Haali\n- RealMedia: Special renderer สำหรับ RealMedia, หรือเปิดมันผ่าน DirectShow\n- QuickTime: DX7 หรือ DX9 renderer สำหรับ QuickTime\n- ShockWave: ไม่มีอยู่"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2327,8 +2335,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "อัตราส่วนภาพ: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "อัตราส่วนภาพ: ตั้งต้น"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "อัตราส่วนภาพ: ค่าตั้งต้น (ค่าแสดงผล)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2366,10 +2374,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "ล้มเหลวในการแปลผลไฟล์"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL ที่แย่, ไม่สามารถหาที่ตั้งฐานข้อมูลศัพท์บรรยายที่นั่นได้!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "ตอน:"
@@ -2563,8 +2567,8 @@ msgid "Volume boost Max"
msgstr "เสริมความดัง สูงสุด"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "วิธีใช้: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2650,14 +2654,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "ใ&ช้งานตัวกรองทั้งหมด"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "สแกนตัวจูน"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "ศัพท์บรรยายไม่ถูกโหลด หรือตัวแปลผลไม่ถูกรองรับ"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "ไม่ทราบผู้สร้างสรรค์ ติดต่อเราหากคุณทำโลโก้นี้!"
@@ -3406,10 +3402,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "ฟังก์ชัน \"บันทึกรูปภาพ\" และ \"บันทึกรูปย่อ\" ไม่ทำงานกับตัวแปลผลวิดีโอ Overlay Mixer\nจงเปลี่ยนตัวแปลผลวิดีโอในตัวเลือกขาออกของ MPC และเปิดไฟล์อีกครั้ง"
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "ไม่สามารถเชื่อมต่อฐานข้อมูลศัพท์บรรยายออนไลน์"
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "คุณต้องการกระตุ้นตัวแก้ไข EDL หรือไม่?"
@@ -3602,3 +3594,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "ผู้จัดหา"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "ผู้บกพร่องการได้ยิน"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "ดาวน์โหลด"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "คะแนน"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "การค้นหาศัพท์บรรยายออนไลน์ล้มเหลว"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "การค้นหาศัพท์บรรยายออนไลน์ถูกยกเลิก"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "การค้นหาศัพท์บรรยายออนไลน์เสร็จสิ้น, พบ %d ศัพท์บรรยาย"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "ดาวน์โหลดศัพท์บรรยาย"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "กำลังค้นหาศัพท์บรรยายออนไลน์, โปรดรอ..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "กำลังยกเลิกการค้นหาศัพท์บรรยายออนไลน์..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "ชื่อผู้ใช้"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "สถานะ"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "พร้อม..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "กำลังอัพโหลด..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "ศัพท์บรรยายถูกอัพโหลดสำเร็จแล้ว"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "ศัพท์บรรยายอัพโหลดล้มเหลว"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "ศัพท์บรรยายถูกยกเลิกการอัพโหลด"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "ศัพท์บรรยายมีอยู่แล้ว"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "กำลังอัพโหลดศัพท์บรรยาย, โปรดรอ..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "อัพโหลดเสร็จแล้ว"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "ยกเลิกอัพโหลดแล้ว"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "อัพโหลดล้มเหลว"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "ดาวน์โหลด และเปิด"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "คืนค่า"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "ย้ายขึ้น"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "ย้ายลง"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "ภาษา"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "ผิดพลาด; ไม่สามารถสร้างการเชื่อมต่ออินเตอร์เน็ต"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "ดาวน์โหลดแล้ว [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "อัพโหลดศัพท์บรรยาย"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "คุณต้องการอัพโหลดไฟล์ศัพท์บรรยาย \"%s\" หรือไม่?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
index 1b40bf55c..8723fffbf 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Burak <burakgarci@gmail.com>, 2013
# Mesut Aktaş <mesuthan_42@hotmail.com>, 2015
-# Sinan H., 2014-2015
+# Sinan H., 2014-2016
# Sinan H., 2013
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-11-02 19:07+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2017-02-11 20:33+0000\n"
"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/mpc-hc/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -192,8 +192,8 @@ msgid "About"
msgstr "Hakkında"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Telif Hakkı © 2002-2015, Authors.txt dosyasına bakınız"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Telif Hakkı © 2002-2017, Authors.txt dosyasına bakınız"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -424,12 +424,16 @@ msgid "time(s)"
msgstr "kez oynat"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Tekrar kipi:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Oynatmadan Sonra"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Çıkış"
+msgid "Default zoom"
+msgstr "Varsayılan yakınlaştırma"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -449,7 +453,7 @@ msgstr "Varsayılan parça seçimi"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
-msgstr "Alt Yazı :"
+msgstr "Alt Yazılar:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio:"
@@ -568,7 +572,7 @@ msgid "Warning"
msgstr "Uyarı"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Ekran kartınızın ayarlarından Tam ekran keskinlik yumuşatması seçeneğini açarsanız, alt yazılar düzgün görülmeyecek ve daha fazla işlemci kullanımına neden olacaktır."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1124,8 +1128,8 @@ msgid "Audio Renderer"
msgstr "Ses İşleyicisi"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VKI-7/VKI-9 (çevrilmeden) ve GVI (CP) ayarları"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VKI-9 (çevrilmeden) ve GVI (CP) ayarları"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1187,6 +1191,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "Alt Yazı İşleyicisi"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Derlenmiş Tonlayıcıları önbellekle"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Bağlantı noktasını dinle:"
@@ -1232,16 +1240,44 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI komutları: (.uzantı1=yol1;.uzantı2=yol2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Çevrimiçi bulunabilen alt yazılar"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "innDir && Aç"
+msgid "Download subtitles"
+msgstr "Alt yazı indir"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Geçerli alt yazıları değiştir"
+msgstr "Geçerli alt yazıyı değiştir"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "İndir"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Yenile"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Durdur"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Ayarlar"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Alt yazı gönder"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Gönder"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Durdur"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Ayarlar"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
@@ -1544,16 +1580,28 @@ msgid "Reset"
msgstr "Sıfırla"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Çevrimiçi veritabanı"
+msgid "Online search, download and upload subtitles"
+msgstr "Çevrimiçi alt yazı arama, indirme ve gönderme"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Geçerli konumda bulunmuyorsa alt yazıları otomatik olarak ara ve indir"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "İşitme engelliler için hazırlanmış alt yazıları tercih et (sağlayıcı tanımlamışsa)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Belirtilen kelime(leri) içeren dosyaları göz ardı et:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Çevrimiçi alt yazı veritabanı adresi:"
+msgid "Languages in order of preference:"
+msgstr "Tercih edilen dil sıralaması:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Dene"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Oynatmanın sonunda mevcut alt yazıları otomatik olarak gönder"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
index e8dbb4334..1fcfc2c1c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
@@ -1,17 +1,17 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Burak <burakgarci@gmail.com>, 2013
# Devrim, 2013
# kasper93, 2013
-# Sinan H., 2014-2015
+# Sinan H., 2014-2016
# Sinan H., 2013
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-02 20:41+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-04 22:27+0000\n"
"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/mpc-hc/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -68,29 +68,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Küçük &Resim Kaydet..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Alt Yazı Yükle..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Alt Yazı K&aydet..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Alt Ya&zı Veritabanı"
+msgid "S&ubtitles"
+msgstr "A&lt Yazılar"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Alt Yazı Yükle..."
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "A&ra..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "Alt Yazı K&aydet.."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Gönder..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Alt Yazı İndir..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&İndir..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Alt Yazı Gönder..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -412,17 +408,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "Pencereye Dışarıdan U&yarla"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Taraf Oranını Koru"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Taraf Oranını &Kilitle"
+msgid "&Aspect Ratio"
+msgstr "&Taraf Oranı"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Varsayılan"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Varsayılan (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -444,6 +436,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "Kare &çerçeve oranını kullan (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Monitör/Masaüstü AR Farkını &Düzelt"
@@ -514,7 +510,7 @@ msgstr "&Her zaman"
msgctxt "ID_ONTOP_WHILEPLAYING"
msgid "While &Playing"
-msgstr "O&ynatılırken"
+msgstr "Medya o&ynatılırken"
msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
msgid "While Playing &Video"
@@ -537,9 +533,25 @@ msgid "&Stop"
msgstr "&Durdur"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "G&örüntü Atlaması"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Tekrarla"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "S&ürekli"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Dosya"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Oynatma listesi"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Oranı Azalt"
@@ -569,8 +581,8 @@ msgid "Su&btitle Track"
msgstr "Al&t Yazı Parçası"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "&Video Parçası"
+msgid "Vide&o Track"
+msgstr "Vide&o Parçası"
msgctxt "POPUP"
msgid "&Volume"
@@ -598,11 +610,11 @@ msgstr "Bir &İşlem Yapma"
msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
msgid "Play &next file in the folder"
-msgstr "Klasördeki &sıradaki dosyayı yürüt"
+msgstr "Klasördeki &Sıradaki Dosyayı Yürüt"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "E&kranı kapat"
+msgstr "E&kranı Kapat"
msgctxt "ID_AFTERPLAYBACK_EXIT"
msgid "&Exit"
@@ -626,7 +638,7 @@ msgstr "Oturumu &Kapat"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "&Kilitle"
+msgstr "&Bilgisayarı Kilitle"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
index c446d66b0..8f7ef232a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
@@ -1,17 +1,19 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Ali Kömesöğütlü <byzlo685@gmail.com>, 2017
# Burak <burakgarci@gmail.com>, 2013
+# Kul Kuls <kul942849611@hotmail.com>, 2016
# Mesut Aktaş <mesuthan_42@hotmail.com>, 2015
-# Sinan H., 2014-2015
+# Sinan H., 2014-2017
# Sinan H., 2013
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-02-11 20:38+0000\n"
+"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/mpc-hc/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,10 +65,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Özellikler"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Dosya"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Görünüm"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Oynatma listesi"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Dosya"
@@ -119,6 +129,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "İşleyici seçimi tanımlanmamışsa, SSA/ASS alt yazıları video çerçevesine, diğer tüm alt yazılar ise pencere çerçevesine sığacak şekilde uyarlanacaktır."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Tekrarlama Yöntemi: Oynatma listesi"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Tekrarlama Yöntemi: Dosya"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Sürekli Tekrar: Açık"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Sürekli Tekrar: Kapalı"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Sürekli Tekrarla"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Hiçbir zaman (en hızlı yöntem)"
@@ -519,18 +549,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Ters Süzme İşleyicisi"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Karıştırma İşleyicisi 7 (pencerede)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Karıştırma İşleyicisi 9 (pencerede)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Karıştırma İşleyicisi 7 (çevrilmeden)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Karıştırma İşleyicisi 9 (çevrilmeden)"
@@ -583,10 +605,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Oynatıcı::İnternet Arabirimi"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Alt Yazılar::Veritabanı"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Ayrıntılar"
@@ -607,17 +625,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Daima ters süzme olarak dönüştürülür. Genellikle sadece YUV biçimleri geçerlidir, ancak renkler RGB 'ye dönüştürülmez. Tüm yöntemler içinde en hızlısı ve TV çıkışı ile Tam ekran aynalama için kullanabileceğiniz en uygunudur."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP için varsayılan dönüştürücüdür. Oldukça kararlı ve Üst süzme dönüştürücüsünden çok az daha yavaştır. DirectDraw ve yapabildiğinde Üst süzmeyi kullanır."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Sadece DirectX 9 yüklüyse çalışır. VKI-7 (pencerede) ile aynı özelliklere sahiptir, ancak Üst süzme kipini kullanmaz ve bu yüzden VKI-7 'den (pencere) biraz daha yavaştır."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "VKI-7 (pencerede) ile aynıdır, ancak alt yazı için MPC-HC yerleşim yöneticisi ile beraberdir. Üst süzme video yansılaması ÇALIŞMAZ. 'Gerçek Renk' masaüstü renk kalitesi önerilir."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Sadece DirectX 9 yüklüyse çalışır. Oldukça uyumludur, ancak Üst süzme işleyicisini kullanmaz. Bu yüzden Üst süzme karıştırıcısından biraz daha yavaştır."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -655,10 +665,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real 'in kendi dönüştürücüsüdür. SMIL senaryoları çalışacak, ancak etkileşimli olmayacaktır. DirectDraw ve mevcutsa Üst Süzme kullanılır."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "VKI-7 'nin (çevrilmeden) DX7 tabanlı yerleşim yöneticisince çevrilen Real 'in çıktı motorudur."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "VKI-9 'un (çevrilmeden) DX9 tabanlı yerleşim yöneticisince çevrilen Real 'in çıktı motorudur."
@@ -667,10 +673,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime 'ın kendi dönüştürücüsüdür. Video alanı boyutlandırılınca veya başka bir pencerenin arkasında kalınca yavaşlar. Üst süzme mevcut değilse GDI 'ye çevrilir."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTime motoru çıkışı DX7-tabanlı VKI-7 (çevrilmeden) Ayırıcısı-Sunucusu tarafından çevrilir."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTime motoru çıkışı DX9-tabanlı VKI-9 (çevrilmeden) Ayırıcısı-Sunucusu tarafından çevrilir."
@@ -751,9 +753,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Bütünleşik bir kaynağı internet tarayıcınızda görüntüleyebilmek için internet arabirimini açmanız gerekmektedir.\n\nGeçerli bilgiyi kaydetmek için \"Farklı kaydet\" tuşuna basabilirsiniz."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Altyazı indir"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Alt Yazı İndir..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Alt Yazı Gönder..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -811,6 +817,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "D3D içine gömülü VEşzam. özelliğini atlayarak kopuklukları azaltır."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Kanal taraması"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Alt yazılar yüklü değil veya çevirici desteklenmiyor."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Yüklenme süresini hızlandırmak için derlenmiş tonlayıcıları yerel AppData klasöründe saklar."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "VTS_xx_x.vob dosyalarını açmak için VTS_xx_0.ifo dosyasını yükleyiniz"
@@ -948,12 +966,12 @@ msgid "&Organize Favorites..."
msgstr "&Sık Kullanılanları Düzenle..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Rastgele sırala"
+msgid "Sh&uffle"
+msgstr "Rastgele s&ırala"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Dosya yerleşimini aç"
+msgid "Ope&n file location"
+msgstr "Do&sya yerleşimini aç"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1036,8 +1054,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Çok geniş ekrana sığdır,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Tam ekranda gizle"
+msgid "&Hide on Fullscreen"
+msgstr "&Tam ekranda gizle"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1224,8 +1242,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "İçeren klasörü ekle"
+msgid "Add containing &folder"
+msgstr "İçeren k&lasörü ekle"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1427,13 +1445,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Görüntü başarıyla kaydedildi"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Alt Yazı Yükle"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Alt Yazı Yükle..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Alt Yazı Kaydet"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Alt Yazı Kaydet..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1560,8 +1578,8 @@ msgid "Thumbnails saved successfully"
msgstr "Küçük resim başarıyla kaydedildi"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "&Video Parçası"
+msgid "Vide&o Track"
+msgstr "Vide&o Parçası"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1796,8 +1814,8 @@ msgid "PnS Dec Height"
msgstr "SzT Yük Dah"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Altyazı(lar) indiriliyor, lütfen bekleyiniz."
+msgid "Downloading [%s] \"%s\""
+msgstr "[%s] \"%s\" indiriliyor"
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2059,11 +2077,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Şifreli"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Evet"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Hayır"
@@ -2215,14 +2233,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Görüntü eni"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Adres doğru gözüküyor!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Uyumsuz iletişim kuralı sürümü, lütfen oynatıcınızı güncelleyiniz ya da farklı bir adres deneyiniz!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Taraf Oranı"
@@ -2316,8 +2326,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Küçük resim boyutları çok sınırlı olduğundan dosya yaratılamıyor.\n\nKüçük resim sayısını azaltmayı ya da toplam boyutu arttırmayı deneyiniz."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Altyazıları yüklemek için video işleyicisi biçimini değiştirip, dosyayı yeniden açmanız gerekmektedir.\n- DirectShow: VKI-7/VKI-9 (çevrilmeden), GVI (CP), Senk., madVR veya Haali\n- RealMedia: RealMedia için özel işleyici gereklidir, veya DirectShow üzerinden oynatabilirsiniz\n- QuickTime: Quicktime için DX7 veya DX9 işleyicisi gereklidir\n- ShockWave: boş"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Alt yazıları yüklemek için Video işleyicisini değiştirip, dosyayı yeniden açmanız gerekmektedir.\n- DirectShow: VMR-9 (çevrilmeden), GVI (CP), Senk., madVR veya Haali\n- RealMedia: RealMedia için özel işleyici gereklidir, veya DirectShow üzerinden oynatabilirsiniz\n- QuickTime: Quicktime için DX7 veya DX9 işleyicisi gereklidir\n- ShockWave: boş"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2328,8 +2338,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Taraf Oranı: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Taraf Oranı: Varsayılan"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Taraf Oranı: Varsayılan (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2367,10 +2377,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Dosya çözülemedi"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Hatalı adres, alt yazı veritabanı açılamıyor!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Bölüm: "
@@ -2564,8 +2570,8 @@ msgid "Volume boost Max"
msgstr "Ses yüksekliği en fazla"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Kullanım: mpc-hc.exe \"konum\" [anahtarlar]\n\n\"yol_adı\"\t\tYüklenecek dosya veya klasör (özel\n\t\tkarakterler desteklenir, \"-\" varsayılan girişi gösterir)\n/dub \"dublaj_adı\"\tHarici bir ses dosyası yüklemek için seçilir\n/dubdelay \"dosya\"\tXXms olarak atlanacak harici bir ses dosyası yüklemek\n için (eğer dosya \"...GECİKME_XXms...\" içeriyorsa)\n/d3dfs\t\tTam ekran D3D kipinde oynatmak için kullanılır\n/sub \"alt_yazı\"\t Harici bir alt yazı kullanmak için seçilir\n/filter \"filtre_adı\" Değişken bir bağlantıdan DirectShow süzgeçlerini\n\t\tyüklemek için kullanılır (karakterler desteklenir)\n/dvd\t\tDVD kipinde çalıştırmak için, \"konum\" DVD klasörünü\n gösterir (seçmeli)\n/dvdpos T#C\tOynatma T başlığının, C bölümünden başlar\n/dvdpos T#hh:mm\t Oynatma T başlığının, hh:mm:ss süresinden başlar\n/cd\t\tSes veya (s)vcd'den tüm parçaları yüklemek için,\n\t\t\"konum\" Sürücü yolunu gösterir (seçmeli)\n/device\t\tVarsayılan video aygıtını açar\n/open\t\tDosya açılır, ancak otomatik olarak oynatılmaz\n/play \t\tOynatıcı açılır açılmaz yürütme \n\t\tbaşlatılır\n/close \t\tYürütmeden sonra oynatıcı kapatılır (sadece /play komutuyla\n\t\t kullanılır)\n/shutdown\tOynatmadan sonra bilgisayar kapatılır\n/standby\t\tOynatmadan sonra bilgisayar beklemeye alınır\n/hibernate\tOynatmadan sonra bilgisayar uykuya alınır\n/logoff\t\tOynatmadan sonra oturum kapatılır\n/lock\t\tOynatmadan sonra bilgisayar kilitlenir\n/monitoroff\tOynatmadan sonra ekran kapatılır\n/playnext\t\tOynatmadan sonra klasördeki sıradaki dosyayı yürüt\n/fullscreen \tTam ekran kipinde başlatılır\n/minimized \tSimge durumunda başlatılır\n/new \t\tYeni bir oynatıcı penceresi kullanılır\n/add \t\t\"konum\" oynatma listesine eklenir, bu komutlarla birlikte\n\t\tkullanılabilir: /open ve /play\n/randomize\tOynatma listesini rastgele yürütür\n/regvid\t\tVideo biçimleri ilişkilendirilir\n/regaud \t\tSes biçimleri ilişkilendirilir\n/regpl\t\tOynatma listesi uygulamayla ilişkilendirilir\n/regall\t\tTüm dosya biçimleri uygulamayla ilişkilendirilir\n/unregall\t\tVideo biçimleri geri alınır\n/start ms \t\tOynatmaya \"ms\" (= mili saniye) sonra başlanılır\n/startpos ss:dd:ss \tOynatmaya ss:dd:ss süresinden başlanılır\n/fixedsize w,h\tSabit pencere boyutu kullanılır\n/monitor N\tN monitöründe başlatılır; N, 1'den başlar\n/audiorenderer N \tSes çeviricisi N ile başlanılır; N, 1 ile başlar\n\t\t(\"Çıkış\" ayarlarına bakınız)\n/shaderpreset \"Pr\" \tKomut ile \"Pr\" tonlayıcı hazır ayarı kullanılır\n/pns \"name\"\tKullanılacak Süzme&Tarama varsayılanını ayarlar\n/iconsassoc\tSimgeleri yeniden ilişkilendirir\n/nofocus\t\tUygulamayı arka planda çalıştırır\n/webport N\tİnternet arayüzünü istenen bağlantı noktasında çalıştırır\n/debug\t\tHata ayıklamasını OSD olarak gösterir\n/nocrashreporter\tÇökme bildirimini kapatır\n/slave \"hWnd\"\tProgramın ikincil olarak kullanılabilmesini sağlar\n/hwgpu \"index\"\tDonanımsal çözücü olarak kullanılan GPU 'nun içeriğini ayarlar\n\t\tSadece CUVID ve DXVA2 için kullanılabilir (kopyalama)\n/reset\t\tVarsayılan ayarlara geri dönülür\n/help /h /? \tKomut satırı anahtarları yardımı görüntülenir\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Kullanım: mpc-hc.exe \"dosya yolu\" [anahtarlar]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2651,14 +2657,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Tüm süzgeçleri aç"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Kanal taraması"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Alt yazılar yüklü değil veya çevirici desteklenmiyor."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Yazar bilinmiyor. Bu tasarım size aitse lütfen irtibata geçiniz!"
@@ -3407,10 +3405,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "'Resim Kaydet' ve 'Küçük Resim Kaydet' özellikleri, Ters Süzme Karıştırıcısı video çeviricisi ile çalışmaz.\nMPC-HC çıkış ayarlarından başka bir çevirici seçip, dosyayı yeniden açınız."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Çevrimiçi alt yazı sitesine bağlanılamadı."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "EDL düzenleyicisini kullanmak istiyor musunuz?"
@@ -3603,3 +3597,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Sağlayıcı"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "İşitme engelliler için"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "İndirmeler"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Beğenilme"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Çevrimiçi alt yazı araması yapılamadı."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Çevrimiçi alt yazı araması iptal edildi."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Çevrimiçi alt yazı araması tamamlandı, %d adet alt yazı bulundu."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Çevrimiçi alt yazı araması tamamlandı, bir alt yazı bulunamadı."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Alt yazı indir"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Çevrimiçi alt yazı araması yapılıyor, lütfen bekleyiniz..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Çevrimiçi alt yazı araması iptal ediliyor..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Kullanıcı adı"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Durum"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Hazır..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Henüz mevcut değil."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Gönderiliyor..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Alt yazı başarıyla gönderildi."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Alt yazı gönderilemedi."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Alt yazı gönderimi durduruldu..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Alt yazı zaten mevcut durumda."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Alt yazı gönderiliyor, lütfen bekleyiniz..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Gönderim tamamlandı."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Gönderim iptal edildi."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Gönderim başarısız oldu."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "innDir && Aç"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Ayarlar"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Sıfırla"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Yukarı Taşı"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Aşağı Taşı"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Adres Aç"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Diller"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "HATA: İnternet bağlantısı kurulamadı."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Sunucu kimlik bilgilerini giriniz"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Bağlanmak için kimlik bilgilerinizi giriniz:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Taraf Oranı: Kare çerçeve oranını kullan (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "[%s] \"%s\" indirilidi"
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Alt yazı gönder"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "\"%s\" adlı alt yazı dosyasını göndermek istediğinizden emin misiniz?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Desteklenen dillerdeki alt yazılar alınıyor..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "\"%S\" sunucusuna \"%S\" adıyla giriş yapılamadı.\n\nLütfen geçerli bir kimlik bilgisi ile tekrar deneyiniz veya anonim kullanıcı girişini aktif hale getiriniz."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Otomatik arama ve indirme, bulunduğu sunucu klasörü belirtilen kelimeleri içeren tüm medya dosyaları için atlanacaktır.\nBazı örnek tanımlamalar: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"dosya yolu\"⇥Ana dosya ya da klasör yüklenecek ⇥⇥(joker karakterler kullanılabilir, \"-\" standart girdi belirttir)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dub dosya adı\"⇥İlave ses dosyası yükle"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"dosya\"⇥İlave ses dosyası yükle XXms ile kaydırılacak ⇥⇥(Eğer dosya \"...DELAY XXms...\" içeriyorsa)"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs⇥⇥D3D tam ekran modunda görüntülemeye başla"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"sub dosya adı\"⇥İlave altyazı dosyası ekle"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtre adı\"⇥Dinamik bir bağlantı kitaplığından DirectShow filtreleri yükle(joker karakterler kullanılabilir)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd⇥⇥DVD modunda çalıştır, \"dosya yolu\" DVD klasörü anlamında(isteğe bağlı)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C⇥İsimden başlat T, bölüm C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tYürütmeyi T bölümü ile P konumundan başlat (sa:dk:sn)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd⇥⇥Ses CD'si ya da (S)VCD içerisindeki tüm ses izlerini yükle, ⇥⇥\"dosya yolu\" sürücü yolunu ifade eder(isteğe bağlı)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device⇥⇥Varsayılan video aygıtını aç"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open⇥⇥Dosyayı aç, dosya yürütmesini başlatma"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play⇥⇥Uygulama başlangıcında dosyayı yürütmeye başla"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close⇥⇥Dosyayı yürüttükten sonra uygulamayı kapat(sadece /play seçeği kullanıldığında çalışır)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown⇥Yürütme işlemi sonrasında işletim sistemini kapat"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby⇥⇥Yürütme işlemi sonrasında işletim sistemini bekleme moduna al"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate⇥Yürütme işlemi sonrasında işletim sistemini uyku moduna al"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff⇥⇥Yürütme işlemi sonrasında kullanıcı oturumunu kapat"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock⇥⇥Yürütme işlemi sonrasında kullanıcı oturumunu kilitle"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff⇥Yürütme işlemi sonrasında ekranı kapat"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext⇥⇥Yürütme işlemi sonrasında klasördeki sıradaki dosyayı yürüt"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen⇥Tam ekran modunda başlat"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized⇥Simge durumuna küçültülmüş şekilde başlat"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new⇥⇥Uygulamanın yeni bir kopyasını kullan"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add⇥⇥Birleştirmek ve/veya yürütmek /play için \"dosya yolu\" ekle"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize⇥Yürütme listesini karışık olarak yürüt"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid⇥⇥Vidyo dosyaları için dosya ilişkilendirmeleri oluştur"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud⇥⇥Ses dosyaları için dosya ilişkilendirmeleri oluştur"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl⇥⇥Yürütme listeleri için dosya ilişkilendirmeleri oluştur"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall⇥⇥Desteklenen tüm dosya türleri için dosya ilişkilendirmeleri oluştur"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall⇥⇥Tüm dosya ilişkilendirmelerini kaldır"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms⇥⇥Yürütmeye \"ms\" (= milisaniye)'den başla"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos sa:da:sn⇥Yürütmeyi sa:da:sn'den başlat"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize g,y⇥Sabit pencere boyutu ayarla"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N⇥Uygulamayı N 1'den başlayarak ekran N üzerinde başlat"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N⇥N 1'den başlayarak ses işleyici N kullanımını başlatın (\"Çıkış\" ayarlarına bakınız)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"⇥Önceden ayarlanmış gölgelendirme seçenekleri ile başlat"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"adı\"⇥Önceden ayarlanmış panoramik adını belirtin"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc⇥Biçim simgelerini yeniden ilişkilendirin"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus⇥⇥MPC-HC'yi arkaplanda başlat"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N⇥Belirtilen port üzerinden web arayüzünü başlat"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug⇥⇥Problem inceleme bilgilerini Ekran Üzerindeki Gösterge(OSD) üzerinde görüntüle"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter⇥Hata raporlayıcısını kapat"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"⇥MPC-HC'yi başka bir uygulamaya bağımlı olarak kullanın"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"⇥Donanım çözücüsü için görüntü işlemci(GPU) başlangıç numarasını ayarla.\n⇥⇥Sadece CUVID ve DXVA2 (copy-back) için uygundur"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset⇥⇥Varsayılan ayarlara dön"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?⇥Komut satırı parametleri için yardımı görüntüle"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Otomatik olarak indirilecek altyazı eşik değeri. Yüksek değerler daha doğru uyumlu altyazılar yüklenmiş olacağını, düşük değerler yanlış altyazılar yüklenebileceğine neden olabilir anlamına gelir, ama kesin bir değer yoktur. Sizin için en uygun olanı seçin."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Ses Gecikmesi(ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Varsayılan araç çubuğu piksel boyutu."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Yeni vektörize edilmiş araç çubuğunu kullanmak yerine eski araç çubuğunu kullanın."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
index 0cc55533f..659680f00 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
-"Last-Translator: Underground78\n"
-"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
+"Language-Team: Tatar (http://www.transifex.com/mpc-hc/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "Программа турында"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Барлык хокуклар сакланган © 2002-2015, Authors.txt файлын карагыз"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Барлык хокуклар сакланган © 2002-2017, Authors.txt файлын карагыз"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -423,12 +423,16 @@ msgid "time(s)"
msgstr "тапкыр"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Чыгару"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -567,7 +571,7 @@ msgid "Warning"
msgstr "Игътибар"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Әгәр сез урынны үзгәртсәгез һәм видеокарта көйләүләрендә тулы экранда тигезләүне кушсагыз, субтитрлар яхшырак күренәчәк, ләкин процессор артык төяләчәк."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1123,8 +1127,8 @@ msgid "Audio Renderer"
msgstr "Аудио-рендерер"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (renderless) һәм EVR (CP) өчен көйләүләр)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) һәм EVR (CP) өчен көйләүләр)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1186,6 +1190,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr ""
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr ""
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "Портны тыңларга:"
@@ -1231,17 +1239,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI аңлатма бирүчесе: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Мөмкин булган субтитрлар исемлеге"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Йөкләргә һәм ачарга"
+msgid "Download subtitles"
+msgstr "Субтитрларны йөкләргә"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Ачылган субтитрларны алмаштырырга"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Рәвешләр"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Рәвешләр"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Ничек сакларга..."
@@ -1543,16 +1579,28 @@ msgid "Reset"
msgstr "Ташлау"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Интернетта мәгълүмат нигезе"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "Субтитрлар мәгълүмат нигезе URL:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Тикшерү"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
index 3d8df2262..0683da7fc 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# кери <khazirek@mail.ru>, 2014
@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:01+0000\n"
-"Last-Translator: JellyFrog\n"
-"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-01-31 22:01+0000\n"
+"Last-Translator: Underground78\n"
+"Language-Team: Tatar (http://www.transifex.com/mpc-hc/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "&Миниатюраларны сакларга..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Субтитрларны ачарга..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "&Субтитрларны сакларга..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "Субтитрлар нигезе"
+msgid "S&ubtitles"
+msgstr "Субтитрлар"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Табарга..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Төяргә..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Йөкләргә..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr ""
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "&Экранны тутырырга һәм кадрны кисәргә"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Пропорцияне сакларга"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "Пропорцияне урнаштырырга"
+msgid "&Aspect Ratio"
+msgstr ""
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "Килешү буенча"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr ""
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Монитора/эш өстәле үзенчәлеге аермасын исәпләү"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "&Туктату"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Кадрлар буенча"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr ""
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Тизлекне киметергә"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr ""
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
index a27ebedde..965f4d871 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2015 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
@@ -10,10 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
-"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-19 08:53+0000\n"
"Last-Translator: JellyFrog\n"
-"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
+"Language-Team: Tatar (http://www.transifex.com/mpc-hc/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -64,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Үзлекләр"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr ""
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Килешү буенча стиль"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr ""
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Файллар"
@@ -120,6 +128,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr ""
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Беркайчан (тиз)"
@@ -520,18 +548,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Видео Mixing Renderer 7 (оконный)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Видео Mixing Renderer 9 (оконный)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Видео Mixing Renderer 7 (без рендера)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Видео Mixing Renderer 9 (без рендера)"
@@ -584,10 +604,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Уйнаткыч::Web-интерфейс"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Субтитрлар::Нигез"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Тулырак"
@@ -608,17 +624,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Рендеринг всегда производится в оверлее. Обычно доступны только форматы YUV, но они представляются напрямую, без преобразования в RGB. Это самый быстрый метод из всех, и только здесь стопроцентно работает \"зеркальный\" вывод видео (на TV-OUT)."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Видео рендер по умолчанию для Windows XP. Очень стабильный и лишь немного медленнее метода Overlay mixer. Использует DirectDraw и, по возможности, запускается в оверлее."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Доступен только при установленном DirectX 9. Возможности аналогичны VMR-7 (windowed), но никогда не использует оверлей, а потому может быть немного медленнее, чем VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "То же, что и VMR-7 (windowed),но с плагином MPC-HC Allocator-Presenter для вывода субтитров. \"Зеркальное\" отображение видео в оверлее работать НЕ БУДЕТ. Глубину цвета рекомендуется установить в 'True Color'."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -656,10 +664,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Собственный рендер RealMedia. Скрипты SMIL будут работать, но без интерактивности. Использует DirectDraw и, по возможности, запускается в оверлее."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывод RealMedia обрабатывается с помощью плагина Allocator-Presenter в VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Вывод RealMedia обрабатывается с помощью плагина Allocator-Presenter в VMR-9 (renderless)."
@@ -668,10 +672,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Собственный рендер QuickTime. Замедляется при изменении размера видеокадра или если окно частично закрыто другим окном. Если оверлей недоступен возвращается к методу GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вывод QuickTime обрабатывается с помощью плагина Allocator-Presenter в VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Вывод QuickTime обрабатывается с помощью плагина Allocator-Presenter в VMR-9 (renderless)."
@@ -752,9 +752,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Для того, чтобы просмотреть внедренный ресурс в вашем браузере, необходимо включить веб-интерфейс.\n\nЕсли вы хотите лишь сохранить информацию, используйте кнопку \"Сохранить как\"."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Субтитрларны йөкләргә"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -812,6 +816,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Уменьшает разрывы, работает в обход VSync встроенной в D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Тюнерны көйләргә"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Субтитры не загружены либо неподдерживаемый видео-рендер."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Открывает файлы VTS_xx_0.ifo для загрузки набора файлов VTS_xx_x.vob"
@@ -949,11 +965,11 @@ msgid "&Organize Favorites..."
msgstr "&Тәртипләү..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "Очраклы"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "Папка ачарга"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -1037,7 +1053,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Масштабировать в Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "Тулы экранда яшерергә"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1225,7 +1241,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Булган папканы өстәргә"
msgctxt "IDS_HW_INDICATOR"
@@ -1428,13 +1444,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Сурәт уңышлы сакланды"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Субтитрларны йөкләргә"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Субтитрларны сакларга..."
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1561,7 +1577,7 @@ msgid "Thumbnails saved successfully"
msgstr "Миниатюра уңышлы сакланды"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr ""
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1797,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "Кадр биеклеген киметергә"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Субтитрлар йөкләнә, зинһар көтегез."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2060,11 +2076,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Шифрланган"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Әйе"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Юк"
@@ -2216,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Киңлек"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Кертелгән URL дөрес түгел!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Версия протокола не совпадает. Пожалуйста, обновите ваш плеер или выберите другой адрес!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Пропорция"
@@ -2317,8 +2325,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr ""
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Для загрузки субтитров необходимо изменить тип рендерера и открыть файл заново.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync или madVR\n- RealMedia: специалный рендерер для RealMedia, или открывайте через DirectShow\n- QuickTime: DX7 или DX9 рендерер для QuickTime\n- ShockWave: не поддерживается"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Для загрузки субтитров необходимо изменить тип рендерера и открыть файл заново.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync или madVR\n- RealMedia: специалный рендерер для RealMedia, или открывайте через DirectShow\n- QuickTime: DX7 или DX9 рендерер для QuickTime\n- ShockWave: не поддерживается"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2329,8 +2337,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Пропорция: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Пропорция: стандарт"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr ""
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2368,10 +2376,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Файлны уйнатып булмый"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL неверный, невозможно обнаружить базу субтитров!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Бүлек: "
@@ -2565,8 +2569,8 @@ msgid "Volume boost Max"
msgstr "Тавыш көчен арттыру - Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Использование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог для загрузки (разрешены \n\t\tмаски, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл со смещением XXмс\n\t\t(если файл содержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноэкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные субтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маски)\n/dvd\t\tЗапуск в режиме DVD, \"путь\" означает каталог\n\t\tс DVD (опционально)\n/dvdpos T#C\tНачать воспроизведение с title T, chapter C\n/dvdpos T#hh:mm\tНачать воспроизведение с title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить все дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диску (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tНачинать воспроизведение сразу после запуска\n/close\t\tЗакрыть по окончании воспроизведения\n\t\t(работает только с ключем /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоспроизведения\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуск в полноэкранном режиме\n/minimized\tЗапуск в свернутом виде\n/new\t\tИспользовать новую копию проигрывателя\n/add\t\tДобавить \"путь\" в плейлист, можно совместно\n\t\tс ключами /open и /play\n/randomize\tRandomize the playlist\n/regvid\t\tРегистрировать видеоформаты\n/regaud\t\tРегистрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегистрировать все форматы\n/start ms\t\tВоспроизводить с позиции \"ms\"\n\t\t(миллисекунды)\n/startpos hh:mm:ss\tВоспроизводить с позиции hh:mm:ss\n/fixedsize w,h\tУстановить фиксированный размер окна\n/monitor N\tЗапускаться на мониторе N, где N\n\t\tотсчитывается с 1\n/audiorenderer N\tИспользовать аудиорендер N, где N\n\t\tотсчитывается с 1 (смотрите настройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tВостановить настройки по умолчанию\n/help /h /?\tПоказывает эту справку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2652,14 +2656,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Барлык сөзгечләрне кабызырга"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Тюнерны көйләргә"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Субтитры не загружены либо неподдерживаемый видео-рендер."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Свяжитесь c разработчиком, если это ваш логотип!"
@@ -3408,10 +3404,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "Функции 'Сохранить изображение' и 'Сохранить миниатюры' не работают с рендерером Overlay Mixer.\nИзмените видеорендерер и вновь откройте файл."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Не удается подключиться к базе субтитров."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Вы хотите активировать EDL редактор?"
@@ -3604,3 +3596,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr ""
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Субтитрларны йөкләргә"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Йөкләргә һәм ачарга"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Ташлау"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Өскәрәк"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Аскарак"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr ""
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
index bc4504e02..793461967 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# arestarh1986 <arestarh@ukr.net>, 2014-2015
+# arestarh1986 <arestarh@ukr.net>, 2014-2016
# Денис <denyspokhylenko@gmail.com>, 2015
+# Александр Невидомский <neviksasha@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-05 08:50+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-10-23 10:50+0000\n"
"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/mpc-hc/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +191,8 @@ msgid "About"
msgstr "Про програму"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015, див. файл Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017, див. файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +423,16 @@ msgid "time(s)"
msgstr "раз"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr ""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Після відтворення"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Вивід"
+msgid "Default zoom"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,7 +571,7 @@ msgid "Warning"
msgstr "Увага"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "Якщо Ви зміните положення та увімкнете повноекранне згладжування в налаштуваннях відеокарти, вигляд субтитрів не покращиться, але навантаження процесора збільшиться."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -675,7 +680,7 @@ msgstr "Заблокувати ЗГОРТАННЯ, якщо повноекран
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Використовувати особливості панелі завдань"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -1122,8 +1127,8 @@ msgid "Audio Renderer"
msgstr "DirectShow аудіо"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Налаштування VMR-7/VMR-9 (renderless) і EVR (користув.)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Налаштування VMR-9 (renderless) і EVR (користув.)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1167,7 +1172,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Субтитри"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1183,6 +1188,10 @@ msgstr "Обертання"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
+msgstr "Рендерер субтитрів"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
msgstr ""
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
@@ -1230,17 +1239,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Інтерпретація CGI: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Список доступних субтитрів"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Завантажити та використати"
+msgid "Download subtitles"
+msgstr "Завантажити субтитри"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Заміняти вже відкриті субтитри"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Завантажити"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Оновити"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Перервати"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Опції"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr ""
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Перервати"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Опції"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Зберегти як..."
@@ -1542,16 +1579,28 @@ msgid "Reset"
msgstr "Скинути"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Онлайн база"
+msgid "Online search, download and upload subtitles"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr ""
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL онлайн бази субтитрів:"
+msgid "Languages in order of preference:"
+msgstr ""
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Тест"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr ""
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1667,7 +1716,7 @@ msgstr "Дозволити Потоковий"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Опції"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
@@ -1687,7 +1736,7 @@ msgstr ""
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Рівень:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
@@ -1739,9 +1788,9 @@ msgstr "Описання проблеми (лише англійською):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Перезапустити MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Вийти з MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
index 02ba381b2..c432cbcb6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# arestarh1986 <arestarh@ukr.net>, 2014-2015
+# arestarh1986 <arestarh@ukr.net>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-06-02 09:11+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-10-23 10:53+0000\n"
"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/mpc-hc/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -64,29 +64,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "Зберегти м&ініатюри..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "Відкрити су&бтитри..."
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "Збере&гти субтитри..."
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "База субтитрів"
+msgid "S&ubtitles"
+msgstr "С&убтитри"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "Знайти..."
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr ""
+
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "Відвантажити..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr ""
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "Завантажити..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr ""
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -408,17 +404,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "На &висоту екрану"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Зберегти пропорції"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "В&становити пропорції"
+msgid "&Aspect Ratio"
+msgstr "&Співвідношення сторін"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Авто"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Типово (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -440,6 +432,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr ""
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "Пропорції &монітору та роб. столу різні"
@@ -533,9 +529,25 @@ msgid "&Stop"
msgstr "&Стоп"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "По&кадрово"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Повторювати"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr ""
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Файл"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Список відтворення"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "Пов&ільніше"
@@ -565,7 +577,7 @@ msgid "Su&btitle Track"
msgstr "Доріжка су&бтитрів"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Відеодоріжка"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
index a5933ef00..e9f3344d1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# arestarh1986 <arestarh@ukr.net>, 2014-2015
-# Maksym Kozachenko <symphonicon@gmail.com>, 2015
+# arestarh1986 <arestarh@ukr.net>, 2014-2016
+# Max Kozachenko <symphonicon@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-06 16:46+0000\n"
-"Last-Translator: Underground78\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-23 10:59+0000\n"
+"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/mpc-hc/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Властивості"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Файл"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Стандартний стиль"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Список відтворення"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Файли"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Якщо ціль рендерингу залишилась невизначеною, то субтитри SSA/ASS будуть промальовуватися відносно кадру відео, в той час як інші текстові субтитри - відносно вікна плеєра."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr ""
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr ""
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Ніколи (найшвидший спосіб)"
@@ -491,7 +519,7 @@ msgstr "Відтворення::Повноекранний режим"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Вбудовані фільтри::Аудіорендерер"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Overlay Mixer Renderer"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (windowed)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (windowed)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (renderless)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (renderless)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Програвач::Web-інтерфейс"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Субтитри::База"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Детально"
@@ -605,17 +621,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Рендеринг завжди здійснюється в оверлеї. Зазвичай доступні лише формати YUV, але вони представляються безпосередньо, без перетворення в RGB. Це найшвидший метод, і лише тут ґарантовано працює \"дзеркальний\" вивід відео на TV-OUT."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Відеорендерер зазвичай для Windows XP. Дуже стабільний і лише трохи повільніший за Overlay mixer. Використовує DirectDraw та по-можливості запускається в оверлеї."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Доступний лише при встановленому DirectX 9. По можливостях подібний до VMR-7 (windowed), але ніколи не використовує оверлей, а отже може бути дещо повільнішим, ніж VMR-7 (windowed)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Так само як VMR-7 (windowed), але з плагіном MPC-HC Allocator-Presenter для виводу субтитрів. \"Зеркальне\" відображення відео в оверлеї працювати НЕ БУДЕ. Бажано встановити глибину кольору 'True Color'."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr ""
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Власний рендерер RealMedia. Скрипти SMIL будуть працювати, але без інтерактивності. Використовує DirectDraw і по-можливості запускається в оверлеї."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вивід RealMedia обробляється за допомогою плагіна Allocator-Presenter в VMR-7 (renderless)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Вивід RealMedia обробляється за допомогою плагіна Allocator-Presenter в VMR-9 (renderless)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Власний рендерер QuickTime. Сповільнюється при зміні розміру кадру або якщо вікно частково перекривається іншим вікном. Якщо оверлей недоступний, то використовується метод GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Вивід QuickTime обробляється за допомогою плагіна Allocator-Presenter в VMR-7 (renderless)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Вивід QuickTime обробляється за допомогою плагіна Allocator-Presenter в VMR-9 (renderless)."
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Для відображення вбудованих ресурсів у браузері вам необхідно ввімкнути веб-інтерфейс.\n\nВикористовуйте пункт \"Зберегти як\", якщо ви хочете зберегти лише інформацію."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Завантажити субтитри"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr ""
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr ""
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -809,6 +813,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Зменшує дрижання за допомогою пропуску типового VSync, що є в складі D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Налаштування тюнера"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Субтитри не завантажені або використовується непідтримуваний рендерер."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr ""
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "Відкриває файли VTS_xx_0.ifo для завантаження набору VTS_xx_x.vob"
@@ -946,12 +962,12 @@ msgid "&Organize Favorites..."
msgstr "&Впорядкувати.."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "У випадковому порядку"
+msgid "Sh&uffle"
+msgstr "У &випадковому порядку"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Відкрити місцерозташування файла"
+msgid "Ope&n file location"
+msgstr "Відкрити &місцерозташування файла"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1034,8 +1050,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Збільшити до Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Приховувати якщо 'На весь екран'"
+msgid "&Hide on Fullscreen"
+msgstr "&Приховувати якщо 'На весь екран'"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1222,7 +1238,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "Додати інші файли з теки файла"
msgctxt "IDS_HW_INDICATOR"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Зображення успішно збережено"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Завантажити субтитри"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr ""
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Зберегти субтитри"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr ""
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "Мініатюри успішно збережено"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Відеодоріжка"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1691,11 +1707,11 @@ msgstr "OSD: Показ назви файла"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "Відтворення DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "Відтворення BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "Зменшити висоту кадру"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Йде завантаження субтитрів, будь ласка, зачекайте."
+msgid "Downloading [%s] \"%s\""
+msgstr ""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1979,19 +1995,19 @@ msgstr "Опції"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr ""
+msgstr "Наступна аудіодоріжка"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr ""
+msgstr "Попередня аудіодоріжка"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr ""
+msgstr "Наступна доріжка субтитрів"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr ""
+msgstr "Попередня доріжка субтитрів"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
@@ -2011,19 +2027,19 @@ msgstr "Попередній кут зору (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr ""
+msgstr "Наступна аудіодоріжка (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr ""
+msgstr "Попередня аудіодоріжка (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "Наступна доріжка субтитрів (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "Попередня доріжка субтитрів (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Зашифровано"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Так"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Ні"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Ширина зображення"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "Введено правильний URL (напевно)!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Версія протоколу не співпадає, Обновіть програму або виберіть інший сервер!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Пропорції"
@@ -2314,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Мініатюри були б замалими, неможливо створити файл.\n\nСпробуйте зменшити кількість мініатюр або збільшити сумарний розмір."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Для завантаження субтитрів Вам необхідно змінити тип рендерера та повторно відкрити файл.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (користув.), Sync, madVR або Haali\n- RealMedia: Спеціальний рендерер для RealMedia, або відкривайте файл через DirectShow\n- QuickTime: DX7 або DX9 рендерер для QuickTime\n- ShockWave: недоступно"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Для завантаження субтитрів Вам необхідно змінити тип рендерера та повторно відкрити файл.\n- DirectShow: VMR-9 (renderless), EVR (користув.), Sync, madVR або Haali\n- RealMedia: Спеціальний рендерер для RealMedia, або відкривайте файл через DirectShow\n- QuickTime: DX7 або DX9 рендерер для QuickTime\n- ShockWave: недоступно"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Пропорції: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Пропорції: стандартні"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Співвідношення сторін: Типово (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Помилка відтворення файла"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "Введено неправильний URL, база субтитрів недоступна!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Сцена: "
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Підсилення - Макс."
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Використання: mpc-hc.exe \"шлях\" [перемикачі]\n\n\"шлях\"\tФайл або тека для завантаження (дозволені маски, \"-\" перевизначають стандартне введення)\n/dub \"dubname\"\tЗавантажити додатковий дубляж\n/dubdelay \"file\"\tЗавантажити додатковий дубляж з затримкою XXмс\n(якщо ім'я файлу містить \"...DELAY XXms...\")\n/d3dfs\t\tСтартувати в повноекранному D3D режимі\n/sub \"subname\"\tЗавантажити додаткові субтитри\n/filter \"filtername\"\tЗавантажити фільтри DirectShow з бібліотеки (дозволені маски)\n/dvd\t\tЗапуск в режимі DVD, \"шлях\" вказує на вміст DVD (опціонально)\n/dvdpos T#C\tПочинати відтворення з заголовку T, розділу C\n/dvdpos T#hh:mm\tПочинати відтворення з заголовку T, позиції hh:mm:ss\n/cd\t\tЗавантажити всі доріжки Audio CD або (S)VCD, \"шлях\" вказує на вміст диску (опціонально)\n/device\t\tВідкрити типовий пристрій відображення відео\n/open\t\tЛише відкрити файл, не відтворювати\n/play\t\tПочинати відтворення відразу після запуску\n/close\t\tЗакрити після завершення відтворення (працює лише з /play)\n/shutdown\tВимкнути комп'ютер після завершення відтворення\n/standby\t\tПеревести систему в режим очікування після завершення відтворення\n/hibernate\t\tПеревести систему в режим сну після завершення відтворення\n/logoff\t\tЗавершити сеанс поточного користувача після завершення відтворення\n/lock\t\tЗаблокувати комп'ютер після завершення відтворення\n/monitoroff\tВимкнути монітор після завершення відтворення\n/playnext\t\tВідкрити наступний файл в теці після завершення відтворення\n/fullscreen\t\tЗапуск в повноекранному режимі\n/minimized\tЗапуск в згорнутому вигляді\n/new\t\tЗапускати нову копію програвача\n/add\t\tДодати \"шлях\" в список відтворення, можна спільно з /open та /play\n/randomize\tЗапускати з перемішаними файлами у списку відтворення\n/regvid\t\tЗареєструвати асоціації відеоформатів\n/regaud\t\tЗареєструвати асоціації аудіоформатів\n/regpl\t\tЗареєструвати асоціації для файлів списків відтворення\n/regall\t\tЗареєструвати асоціації для всіх підтримуваних типів файлів\n/unregall\t\tВідмінити реєстрацію асоціацій відеоформатів\n/start ms\t\tВідтворювати починаючи з позиції \"ms\" (= мілісекунди)\n/startpos hh:mm:ss\tПочинати відтворення з позиції hh:mm:ss\n/fixedsize w,h\tВстановити фіксований розмір вікна\n/monitor N\tЗапустити на моніторі N, нумерація з 1\n/audiorenderer N\tЗапустити з аудіорендерером N, нумерація з 1\n\t\t(див. \"Вивід\" в налаштуваннях)\n/shaderpreset \"Pr\"\tЗапустити з використанням \"Pr\" профіля шейдерів\n/pns \"name\"\tЗадати пресет \"name\" Pan&Scan\n/iconsassoc\tПовторно асоціювати іконки форматів\n/nofocus\t\tВідкрити MPC-HC у фоні\n/webport N\tЗапустити веб-інтерфейс на вказаному порті\n/debug\t\tВідображати відлагоджувальну інформацію у OSD\n/nocrashreporter\tЗапустити з вимкненим повідомленням про падіння\n/slave \"hWnd\"\tВикористовувати MPC-HC іншим вікном з дескриптором \"hWnd\"\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tВідновити типові налаштування\n/help /h /?\tПоказати цю довідку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Ввімкнути всі фільтри"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Налаштування тюнера"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Субтитри не завантажені або використовується непідтримуваний рендерер."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Автор невідомий. Зв'яжіться зі мною, якщо це ваш лого!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "'Зберегти зображення' і 'Зберегти мініатюри' не працюють для рендерера відео Overlay Mixer.\nЗмініть рендерер відео у відповідному розділі налаштувань MPC-HC і повторно відкрийте файл."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Неможливо з'єднатися з онлайн-базою субтитрів."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Ви хочете активувати редактор EDL?"
@@ -3595,9 +3587,377 @@ msgstr "Налаштування"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Провайдер"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Завантажити субтитри"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Ім'я користувача"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Статус"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr ""
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "Завантажити && використати"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr ""
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Скинути"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Догори"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Донизу"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Відкрити URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Мови"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr ""
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr ""
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr ""
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr ""
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr ""
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr ""
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr ""
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr ""
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr ""
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr ""
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr ""
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr ""
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr ""
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr ""
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr ""
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr ""
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr ""
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr ""
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr ""
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr ""
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr ""
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr ""
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr ""
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr ""
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr ""
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr ""
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr ""
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr ""
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr ""
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr ""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr ""
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr ""
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr ""
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr ""
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr ""
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr ""
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr ""
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr ""
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr ""
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr ""
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr ""
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
index 01de0fa1a..5c8879070 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Dat Luong Anh <datanhlg@gmail.com>, 2014
-# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2015
+# DatSoft, 2014
+# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-17 20:47:27+0000\n"
-"PO-Revision-Date: 2015-06-05 09:38+0000\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-11-01 01:24+0000\n"
"Last-Translator: TRẦN ANH MINH <anhminhvks@yahoo.com>\n"
-"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
+"Language-Team: Vietnamese (http://www.transifex.com/mpc-hc/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Giới thiệu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Bản quyền © 2002-2015 xem Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Bản quyền © 2002-2017 xem Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -422,12 +422,16 @@ msgid "time(s)"
msgstr "thời gian(s)"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "Kiểu lặp lại:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "Sau khi phát lại"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "Ngõ ra"
+msgid "Default zoom"
+msgstr "Thu phóng mặc định"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -566,8 +570,8 @@ msgid "Warning"
msgstr "Cảnh báo"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
-msgstr "Nếu bạn ghi đè và cho phép chống răng cưa toàn màn hình trong các thiết lập của cạc màn hình, phụ đề không những không xem được tốt hơn, mà nó còn làm hao tốn CPU của bạn."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgstr "Nếu bạn hủy bỏ và cho phép khử răng cưa toàn màn hình trong các thiết lập của cạc màn hình, phụ đề không những sẽ không được xem rõ hơn mà nó còn làm hao tốn CPU của bạn."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -675,7 +679,7 @@ msgstr "Ngăn ngừa trình phát nhạc khi trong toàn màn hình trên một
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "Dùng tính năng thanh nhiệm vụ cao cấp"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -1122,8 +1126,8 @@ msgid "Audio Renderer"
msgstr "Tự động render"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "Thiết lập VMR-7/VMR-9 (Renderless) và EVR (CP)"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "Thiết lập VMR-9 (Renderless) và EVR (CP)"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1167,7 +1171,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "Phụ để"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1175,7 +1179,7 @@ msgstr "Ảnh màn hình"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr "Trình đổ bóng"
+msgstr "Bộ đổ bóng"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
@@ -1183,7 +1187,11 @@ msgstr "Quay"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "Bộ dựng phụ đề"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "Bộ nhớ đệm cho bộ đổ bóng biên dịch"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1203,7 +1211,7 @@ msgstr "Cho phép chỉ truy cập từ localhost"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr ""
+msgstr "Kích hoạt xem trước"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1230,17 +1238,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "Xử lí CGI"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "Phụ đề có sẵn trực tuyến"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "Tải về && Mở "
+msgid "Download subtitles"
+msgstr "Tải phụ đề"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "Thay thế phụ đề hiện đang được nạp"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "Tải xuống"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "Làm mới"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "Hủy bỏ"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "Tùy chọn"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "Tải phụ đề lên "
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "Tải lên"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "Hủy bỏ"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "Tùy chọn"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "Lưu thành..."
@@ -1542,16 +1578,28 @@ msgid "Reset"
msgstr "Đặt lại"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "Dữ liệu trực tuyến"
+msgid "Online search, download and upload subtitles"
+msgstr "Tìm kiếm trực tuyến, tải phụ đề xuống hoặc lên"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "Tự động tìm và tải xuống nếu không tìm thấy phụ đề nào trên máy tính"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "Dùng phụ đề thay thế khi âm thanh nghe không rõ (chỉ khi nguồn cấp phụ đề đã được chỉ ra)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "Bỏ qua những tập tin có chứa bất kỳ từ ngữ sau:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "URL cơ sở của cơ sở dữ liệu phụ đề trực tuyến:"
+msgid "Languages in order of preference:"
+msgstr "Thứ tự ngôn ngữ được ưu tiên:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "Kiểm thử"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "Tự động tải lên các phụ đề phù hợp sau khi phát lại đoạn phim"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1571,11 +1619,11 @@ msgstr "&Bỏ qua cập nhật này"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Bộ đổ bóng có hiệu ứng đặc biệt mà có thể được thêm vào quá trình dựng hình video."
+msgstr "Bộ đổ bóng có các hiệu ứng đặc biệt mà có thể được thêm vào trong quá trình dựng hình."
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "Thêm tập tin đổ bóng"
+msgstr "Thêm tập tin bộ đổ bóng"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1591,7 +1639,7 @@ msgstr "Thêm vào sau thay đổi kích cỡ"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Cài đặt trước bộ đổ bóng"
+msgstr "Cài đặt bộ đổ bóng có sẵn"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1607,11 +1655,11 @@ msgstr "Xóa"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "Hoạt động bóng đổ trước thay đổi kích cỡ"
+msgstr "Hoạt động bóng đổ trước khi thay đổi kích cỡ"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "Hoạt động đổ bóng hậu thay đổi kích cỡ"
+msgstr "Hoạt động đổ bóng sau khi thay đổi kích cỡ"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
@@ -1655,47 +1703,47 @@ msgstr "Mặc định"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Device"
-msgstr ""
+msgstr "Thiết bị"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK1"
msgid "Exclusive mode"
-msgstr ""
+msgstr "Kiểu chuyên dụng"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK2"
msgid "Allow bitstreaming"
-msgstr ""
+msgstr "Cho phép kết nối liên tục"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Options"
-msgstr ""
+msgstr "Tùy chọn"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr ""
+msgstr "Kích hoạt âm thanh nổi (dành cho tai nghe)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy. Được dịch bởi Trần Anh Minh - anhminhvks"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier. Được dịch bởi Trần Anh Minh - anhminhvks"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "Cắt bớt:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
-msgstr ""
+msgstr "Mức độ:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "Note"
-msgstr ""
+msgstr "Ghi chú"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "Để giảm thiểu hiện tượng méo âm, đề nghị chỉnh âm lượng ở mức 85% khi phát lại nội dung được mã hóa theo kiểu mất dữ liệu."
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1715,15 +1763,15 @@ msgstr "Báo cáo lỗi"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
-msgstr ""
+msgstr "Xin lỗi bạn, MPC-HC vừa bị lỗi dừng chương trình. :("
msgctxt "IDD_CRASH_REPORTER_IDC_CHECK1"
msgid "Send a bug report to help us diagnose and fix the problem."
-msgstr ""
+msgstr "Gửi báo cáo lỗi để giúp chúng tôi phân tích và sửa chữa."
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC1"
msgid "Optional information"
-msgstr ""
+msgstr "Thông tin tùy chọn"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC2"
msgid "Email:"
@@ -1739,9 +1787,9 @@ msgstr "Diễn tả vấn đề gặp phải (chỉ dùng tiếng Anh):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
-msgstr ""
+msgstr "Khởi động lại MPC-HC"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON2"
msgid "Quit MPC-HC"
-msgstr ""
+msgstr "Thoát MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
index 09982a5a9..20f915343 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Dat Luong Anh <datanhlg@gmail.com>, 2014
-# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2015
+# DatSoft, 2014
+# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-22 20:53:41+0000\n"
-"PO-Revision-Date: 2015-06-05 09:41+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-26 16:54+0000\n"
"Last-Translator: TRẦN ANH MINH <anhminhvks@yahoo.com>\n"
-"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
+"Language-Team: Vietnamese (http://www.transifex.com/mpc-hc/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -65,29 +65,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "&Lưu hình ảnh thu nhỏ"
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
-msgstr "&Nạp phụ đề"
-
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
-msgstr "&Lưu phụ đề"
-
msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "&Dữ liệu phụ đề"
+msgid "S&ubtitles"
+msgstr "&Phụ đề"
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "&Tìm kiếm"
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
+msgstr "&Nạp phụ đề..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "&Tải lên"
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
+msgstr "&Lưu phụ đề..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "&Tải xuống"
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "&Tải phụ đề xuống..."
+
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "&Tải phụ đề lên..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -409,17 +405,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "&Căng đầy cửa sổ đến lề ngoài"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "&Giữ tỷ lệ hiển thị"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "&Không giữ tỷ lệ hiển thị"
+msgid "&Aspect Ratio"
+msgstr "&Tỉ lệ khung hình"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "&Mặc định"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "&Mặc định (DAR)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -441,6 +433,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "&185:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "&Giả định điểm ảnh vuông (SAR)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "&Hiệu chỉnh tỷ lệ hiển thị"
@@ -534,9 +530,25 @@ msgid "&Stop"
msgstr "&Ngừng"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "&Xem từng khung hình"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "&Lặp lại"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "&Mãi mãi"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "&Tập tin"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "&Danh sách phát"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "&Giảm tốc độ"
@@ -566,7 +578,7 @@ msgid "Su&btitle Track"
msgstr "&Rãnh phụ đề"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Rãnh hình ảnh"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
index f494edd74..125a457bc 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Dat Luong Anh <datanhlg@gmail.com>, 2014
-# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2015
+# DatSoft, 2014
+# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-21 13:30:54+0000\n"
-"PO-Revision-Date: 2015-06-05 10:03+0000\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-11-10 02:40+0000\n"
"Last-Translator: TRẦN ANH MINH <anhminhvks@yahoo.com>\n"
-"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
+"Language-Team: Vietnamese (http://www.transifex.com/mpc-hc/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -19,7 +19,7 @@ msgstr ""
msgctxt "IDS_INFOBAR_LOCATION"
msgid "Location"
-msgstr "Vị trí"
+msgstr "Vị trí lưu"
msgctxt "IDS_INFOBAR_VIDEO"
msgid "Video"
@@ -61,10 +61,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "Thuộc tính"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "Tập tin"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "&Phong cách mặc định"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "Danh sách phát"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "Tệp"
@@ -117,6 +125,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "Nếu loại dựng phụ đề không được xác định, thì phụ đề SSA/ASS sẽ được dựng lại tương đối so với khung hình trong khi tất cả các phụ đề văn bản sẽ được dựng lại tương đối so với cửa sổ."
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "Chế độ lặp lại: Danh sách phát"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "Chế độ lặp lại: Tập tin"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "Lặp lại mãi: Mở"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "Lặp lại mãi: Tắt"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "Lặp lại mãi"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "Không bao giờ (cách tiếp cận nhanh nhất)"
@@ -491,7 +519,7 @@ msgstr "Phát lại::Toàn màn hình"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "Bộ lọc trong::Bộ dựng âm thanh"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -517,18 +545,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "Bộ phủ hòa âm render"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "Video Mixing Renderer 7 (cửa sổ)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "Video Mixing Renderer 9 (cửa sổ)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "Video Mixing Renderer 7 (render ít hơn)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "Video Mixing Renderer 9 (render ít hơn)"
@@ -581,10 +601,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "Trình phát::Giao diện Web"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "Phụ đề::Cơ sở dữ liệu"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "Chi tiết"
@@ -595,27 +611,19 @@ msgstr "Clip"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
-msgstr "Mặc định đoạn bộ lọc video render DirectShow. Những người khác sẽ trở lại một khi họ không thể được nạp cho một số lý do. Trên Windown XP điều này cũng giống như VMR-7 (cửa sổ)."
+msgstr "Bộ lọc dựng hình mặc định cho DirectShow. Bộ lọc này sẽ được sử dụng khi các bộ lọc khác không thể nạp vì lý do nào đó. Trên Windown XP, điều này cũng giống như VMR-7 (ở chế độ cửa sổ)."
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "Đây là dựng hình mặc định của Windows 9x/me/2k. Tùy thuộc vào khả năng hiển thị của cửa sổ video và khả năng video card của bạn, nó sẽ chuyển đổi giữa GDI, DirectDraw, Overlay dựng chế độ tự động."
+msgstr "Đây là bộ dựng hình mặc định của Windows 9x/me/2k. Tùy thuộc vào khả năng hiển thị của cửa sổ hình ảnh và khả năng của cạc màn hình, nó sẽ chuyển đổi tự động giữa các chế độ dựng hình GDI, DirectDraw, Overlay."
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "Luôn luôn ám trong lớp phủ. Thường chỉ định dạng YUV được cho phép, nhưng họ được trình bày trực tiếp mà không cần bất kỳ chuyển đổi màu RGB. Đây là phương pháp dựng hình nhanh nhất của tất cả và duy nhất mà bạn có thể chắc chắn về video toàn màn hình phản chiếu để kích hoạt ngõ ra tv."
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Trình dựng hình mặc định của Windows XP. Rất ổn định và chỉ một chút chậm hơn so với bộ trộn Overlay. Sử dụng DirectDraw và chạy trong Overlay khi nó có thể."
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Chỉ có nếu bạn có cài đặt DirectX 9. Có khả năng tương tự như VMR-7 (cửa sổ), nhưng nó sẽ không bao giờ sử dụng dựng hình Overlay và vì điều này có thể là một chút chậm hơn so với VMR-7 (cửa sổ)."
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Giống như VMR-7 (cửa sổ), nhưng với các plugin cấp phát của MPC-HC cho phụ đề. Lớp phủ phản chiếu phim sẽ không làm việc. \"True Color\" không gian màu máy tính để bàn được khuyến khích."
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "Chỉ có giá trị nếu bạn đã cài đặt DirectX 9. Rất ổn định nhưng nó sẽ không bao giờ sử dụng bộ dựng hình Overlay và điều này có thể gây ra việc xử lý chậm hơn so với bộ trộn Overlay."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -653,10 +661,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Dựng hình của Real. Kịch bản SMIL sẽ làm việc, nhưng không có khả năng tương tác. Sử dụng DirectDraw và chạy trong Overlay khi nó có thể."
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Đầu ra công cụ của Real đưa ra bởi các DX7 dựa trên cấp phát của VMR-7 (ít render hơn)."
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Đầu ra công cụ của Real đưa ra bởi các DX9 dựa trên cấp phát của VMR-9 (ít render hơn)."
@@ -665,10 +669,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "Dựng hình của QuickTime. Được một chút chậm khi khu vực video của nó được thay đổi kích cỡ hoặc phủ một phần bởi một cửa sổ khác. Lớp phủ khi không có nó thích rơi trở lại GDI."
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Đầu ra công cụ của QuickTime kết xuất của DX7 dựa trên cấp phát của VMR-7 (ít render hơn)."
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Đầu ra công cụ của QuickTime kết xuất của DX9 dựa trên cấp phát của VMR-9 (ít render hơn)."
@@ -735,7 +735,7 @@ msgstr "Null (không nén)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "Bộ dựng âm thanh bên trong"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -749,9 +749,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "Để xem một nguồn tài nguyên nhúng trong trình duyệt của bạn, bạn phải kích hoạt giao diện web.\n\nSử dụng \"Lưu dạng nút nếu bạn chỉ muốn để lưu thông tin."
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "Tải phụ đề"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "Tải phụ đề xuống..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "Tải phụ đề lên..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -795,7 +799,7 @@ msgstr "Nếu không có hỗ trợ Pixel Shader 2.0, Bilinear đơn giản đư
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Đặt VMR-9 (ít render hơn) vào chế độ trộn, điều này có nghĩa là hầu hết các điều khiển trên trang thuộc tính của nó sẽ làm việc và nó sẽ sử dụng một sợi nhân viên riêng biệt để dựng hình khung."
+msgstr "Đặt VMR-9 (dựng hình kém hơn) vào chế độ trộn, điều này có nghĩa là hầu hết việc điều khiển trên trang riêng của nó sẽ sử dụng các luồng riêng biệt để dựng các khung hình."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -809,9 +813,21 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "Giảm rách bằng cách bỏ qua mặc định VSync được xây dựng vào D3D."
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Quét"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Phụ đề không được nạp hoặc bộ dựng không được hỗ trợ."
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "Lưu trữ bộ đổ bóng biên dịch vào AppData để tăng tốc nạp."
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
-msgstr "Mở VTS_xx_0.ifo để tải các tập tin VTS_xx_x.vob trong một mảnh"
+msgstr "Mở VTS_xx_0.ifo để nạp toàn bộ các tập tin VTS_xx_x.vob"
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
@@ -823,7 +839,7 @@ msgstr "Sử dụng bộ lọc LAV"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Sử dụng bộ lọc LAV. Tắt theo mặc định từ các bộ lọc Microsoft thường ổn định hơn cho những định dạng.\nNếu bạn chọn để sử dụng các bộ lọc nội bộ, cho phép họ cho cả nguồn và giải mã để có một kinh nghiệm phát lại tốt hơn."
+msgstr "Sử dụng bộ lọc LAV. Được tắt bởi mặc định, vì các bộ lọc Microsoft thường ổn định hơn cho các định dạng đó.\nNếu bạn chọn sử dụng các bộ lọc nội bộ, kích hoạt chúng cho cả nguồn và việc giải mã thì sẽ có một trải nghiệm phát lại tốt hơn."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -946,12 +962,12 @@ msgid "&Organize Favorites..."
msgstr "Tổ &chức ưa thích"
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "Xáo trộn"
+msgid "Sh&uffle"
+msgstr "&Xáo trộn"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "Mở vị trí tệp"
+msgid "Ope&n file location"
+msgstr "&Mở vị trí tập tin"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1034,8 +1050,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "Phóng cho màn hình rộng,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "Ẩn toàn màn hình"
+msgid "&Hide on Fullscreen"
+msgstr "&Ẩn trên toàn màn hình"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1171,7 +1187,7 @@ msgstr "Trình đổ bóng được biên dịch lại tự động khi các t
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr "Không thể tải %s, trình đổ bóng pixel sẽ không làm việc."
+msgstr "Không thể nạp %s, bộ đổ bóng pixel sẽ không làm việc."
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
@@ -1222,8 +1238,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "Thêm thư mục chứa"
+msgid "Add containing &folder"
+msgstr "&Thêm thư mục chứa"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1235,7 +1251,7 @@ msgstr "Phần mềm giải mã"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
-msgstr "&Tốc độ phát"
+msgstr "&Tốc độ phát lại"
msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
msgid "&Copy filters list to clipboard"
@@ -1259,7 +1275,7 @@ msgstr "Chủ đề Giáo dục/Khoa học/Thực tế"
msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
msgid "Hides controls and panels also in windowed mode."
-msgstr "Ẩn các điều chỉnh và cửa sổ trong chế độ cửa sổ."
+msgstr "Ẩn các bảng điều khiển trong chế độ cửa sổ."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
@@ -1319,7 +1335,7 @@ msgstr "Chất lượng (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Kích thước tối đa (NxNpx) của một bìa album được tải trong chế độ âm thanh."
+msgstr "Kích thước tối đa (NxNpx) của một bìa album được nạp trong chế độ chỉ âm thanh."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
@@ -1387,23 +1403,23 @@ msgstr "Sau khi phát xong: Đóng"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr ""
+msgstr "MPC-HC gặp vấn đề trong quá trình khởi động. Với sự giúp đỡ của bạn, chúng tôi có thể sửa lỗi.\n\nBạn có muốn báo cáo lỗi này?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr ""
+msgstr "Nhập giá trị dương nếu âm thanh phát sớm, giá trị âm nếu âm thanh phát trễ."
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr ""
+msgstr "Xem trước đã bị vô hiệu hóa. Bạn có thể kích hoạt lại trong phần Tùy chọn của MPC-HC."
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "Tùy chọn này có thể được sử dụng để xem trước tập tin đa phương tiện từ vị trí lưu từ xa. Chỉ sử dụng tùy chọn này trên một kết nối mạng riêng tư đảm bảo an toàn và chắc chắn.\n\nBạn có thật sự muốn kích hoạt tùy chọn này?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "Bộ dựng phụ đề bên trong"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1425,13 +1441,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "Hình đã được lưu thành công"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "Nạp phụ đề"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "Nạp phụ đề..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "Lưu phụ đề"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "Lưu phụ đề..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1515,7 +1531,7 @@ msgstr "Khung hình gần nhất"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC gặp một vấn đề trong quá trình khởi tạo. Phát lại DVD có thể không hoạt động chính xác. Điều này có thể được gây ra bởi một số không tương thích với các công cụ bảo mật nhất định.\n\nBạn có muốn báo cáo vấn đề này?"
+msgstr "MPC-HC gặp một vấn đề trong quá trình khởi tạo. Phát lại DVD có thể không hoạt động chính xác. Điều này có thể được gây ra bởi một số vấn đề không tương thích với các công cụ bảo mật nhất định.\n\nBạn có muốn báo cáo vấn đề này?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1558,7 +1574,7 @@ msgid "Thumbnails saved successfully"
msgstr "Hình thu nhỏ đã được lưu"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "&Rãnh hình ảnh"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1691,11 +1707,11 @@ msgstr "MHHT: Hiển thị tên tập tin"
msgctxt "IDS_PLAY_DVD"
msgid "Play DVD"
-msgstr ""
+msgstr "Phát DVD"
msgctxt "IDS_PLAY_BD"
msgid "Play BD"
-msgstr ""
+msgstr "Phát BD"
msgctxt "IDS_OSD_DISPLAY_RENDERER_STATS"
msgid "OSD: Display Renderer Statistics"
@@ -1794,8 +1810,8 @@ msgid "PnS Dec Height"
msgstr "Độ rộng PnS Dec"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "Tải phụ đề(s), xin vui lòng chờ đợi."
+msgid "Downloading [%s] \"%s\""
+msgstr "Đang tải xuống [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1979,19 +1995,19 @@ msgstr "Tùy chọn"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio Track"
-msgstr ""
+msgstr "Rãnh âm thanh kế tiếp"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio Track"
-msgstr ""
+msgstr "Rãnh âm thanh trước đó"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr ""
+msgstr "Rãnh phụ đề kế tiếp"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr ""
+msgstr "Rãnh phụ đề trước đó"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
@@ -2011,19 +2027,19 @@ msgstr "Góc trước (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio Track (DVD)"
-msgstr ""
+msgstr "Rãnh âm thanh kế tiếp (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio Track (DVD)"
-msgstr ""
+msgstr "Rãnh âm thanh trước đó (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "Rãnh phụ đề kế tiếp (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "Rãnh phụ đề trước đó (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2057,11 +2073,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "Đã mã hóa"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "Có"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "Không"
@@ -2139,7 +2155,7 @@ msgstr "MPC-HC không có đủ quyền để thay đổi hỗ trợ định d
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC là một phương tiện truyền thông máy nghe nhạc mở nguồn cho Windows. Nó hỗ trợ tất cả các video phổ biến và các định dạng tập tin âm thanh có sẵn để phát lại. Phần mềm này 100% phần mềm miễn phí, không có quảng cáo hoặc các thanh công cụ."
+msgstr "MPC-HC là một trình phát phương tiện truyền thông mã nguồn mở, cực kỳ nhỏ gọn dành cho Windows. Nó hỗ trợ phát lại tất cả các định dạng tập tin âm thanh và phim ảnh phổ biến. Phần mềm này 100% không chứa phần mềm gián điệp, không có quảng cáo hoặc các thanh công cụ đính kèm."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2187,7 +2203,7 @@ msgstr "DVD: Không tương thích đĩa và bộ giải mã vùng"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Tùy chọn này được thiết kế để tránh bị nhiễu. Tuy nhiên, nó cũng sẽ ngăn chặn MPC-HC hiển thị menu ngữ cảnh và bất kỳ hộp thoại trong khi phát.\n\nBạn có thực sự muốn kích hoạt tùy chọn này?"
+msgstr "Tùy chọn này được thiết kế để tránh làm phiền. Tuy nhiên, nó cũng sẽ ngăn chặn MPC-HC trong việc hiển thị trình đơn ngữ cảnh và các hộp thoại trong khi phát lại.\n\nBạn có thực sự muốn kích hoạt tùy chọn này?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2213,14 +2229,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "Bề rộng hình ảnh"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL sẽ xuất hiện là đúng!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "Phiên bản giao thức không phù hợp, hãy nâng cấp máy nghe nhạc của bạn hoặc chọn một địa chỉ khác nhau!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "Tỉ lệ khung hình"
@@ -2314,8 +2322,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "Các hình ảnh thu nhỏ sẽ quá nhỏ, không thể tạo tập tin.\n\nHãy giảm số lượng các hình ảnh thu nhỏ hoặc tăng tổng kích thước."
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "Để nạp phụ đề bạn phải thay đổi loại bộ dựng hình và mở lại tập tin.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR hoặc Haali\n- RealMedia: Bộ dựng hình dành riêng cho RealMedia, hoặc mở nó bằng DirectShow\n- QuickTime: Bộ dựng hình DX7 hoặc DX9 cho QuickTime\n- ShockWave: Không có sẵn"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Để nạp phụ đề bạn phải thay đổi loại bộ dựng hình và mở lại tập tin.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR hoặc Haali\n- RealMedia: Bộ dựng hình dành riêng cho RealMedia, hoặc mở nó bằng DirectShow\n- QuickTime: Bộ dựng hình DX7 hoặc DX9 cho QuickTime\n- ShockWave: Không có sẵn"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2326,8 +2334,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "Tỷ lệ khung hình: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "Tỉ lệ khung hình: Mặc định"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "Tỉ lệ khung hình: Mặc định (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2365,10 +2373,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "Thất bại trong việc dựng các tập tin"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "URL xấu, không thể xác định vị trí cơ sở dữ liệu phụ đề đó!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "Chương:"
@@ -2423,7 +2427,7 @@ msgstr "Không thể kết nối các bộ lọc"
msgctxt "IDS_MAINFRM_87"
msgid "Cannot load any source filter"
-msgstr "Không thể tải bất kỳ bộ lọc nguồn"
+msgstr "Không thể nạp bất kỳ bộ lọc nguồn"
msgctxt "IDS_MAINFRM_88"
msgid "Cannot render the file"
@@ -2562,8 +2566,8 @@ msgid "Volume boost Max"
msgstr "Khối lượng âm lớn nhất"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Cách sử dụng: mpc-hc.exe \"pathname\" [chuyển]\n\n\"pathname\"\tCác tập tin hoặc thư mục chính được nạp (ký tự đại diện\n\t\tcho phép, \"-\" biểu thị đầu vào tiêu chuẩn)\n/dub \"dubname\"\tNạp một tập tin âm thanh khác\n/dubdelay \"file\"\tNạp một tập tin âm thanh thêm dịch chuyển XXms (nếu\n\t\ttệp chứa \"...Độ trễ XX giây...\")\n/d3dfs\t\tBắt đầu dựng hình trong chế độ toàn màn hình D3D\n/sub \"subname\"\tNạp một file phụ đề thêm\n/filter \"filtername\"\tBộ lọc DirectShow tải từ một liên thư viện\n\t\tkết động(ký tự đại diện)\n/dvd\t\tChạy chế độ dvd, \"pathname\" nghĩa là thư mục\n\t\tDVD(tùy chọn)\n/dvdpos T#C\tBắt đầu phát lại tại tiêu đề T, chương C\n/dvdpos T#hh:mm\tPhát lại tại tiêu đề T, vị trí gg:pp:gg\n/cd\t\tTải tất cả các bài hát của một đĩa CD âm thanh hoặc (s) VCD,\n\t\t\"pathname\" nghĩa là đường dẫn cd(tùy chọn)\n/device\t\tMở thiết bị video mặc định\n/open\t\tMở tập tin, không tự động bắt đầu phát lại\n/play\t\tBắt đầu chơi các tập tin ngay sau trình phát nhạc\n\t\tđã chạy\n/close\t\tĐóng trình phát nhạc sau khi phát lại (chỉ hoạt động khi\n\t\tdùng với /phát)\n/shutdown\tTắt máy tính, hệ điều hành sau khi phát lại\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tBắt đầu trong chế độ toàn màn hình\n/minimized\tBắt đầu trong chế độ giảm thiểu\n/new\t\tSử dụng một trường hợp mới của trình phát nhạc\n/add\t\tThêm\"pathname\" vào danh sách phát, sẽ kết hợp\n\t\tvới/mở và/phát\n/randomize\tRandomize the playlist\n/regvid\t\tTạo ra các phần mở rộng cho các tập tin video\n/regaud\t\tTạo ra các phần mở rộng cho các tập tin âm thanh\n/regpl\t\tTạo ra các phần mở rộng cho các tập tin danh sách phát\n/regall\t\tTạo ra các phần mở rộng cho các tất cả các tập tin \n/unregall\t\tLoại bỏ phần mở rộng\n/start ms\t\tBắt đầu phát lúc \"mlg\" (= mili giây)\n/startpos hh:mm:ss\tPhát tại vị trí gg:pp:gg\n/fixedsize w,h\tThiết lập một kích thước cửa sổ cố định\n/monitor N\tBắt đầu chơi trên màn hình N, trong đó N bắt đầu từ 1\n/audiorenderer N\tBắt đầu sử dụng trình âm N, trong đó N bắt đầu từ 1\n\t\t(xem thiết lập\"Ngõ ra\")\n/shaderpreset \"Pr\"\tBắt đầu sử dụng \"Pr\" tạo bóng đặt trước\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tKhôi phục cài đặt mặc định\n/help /h /?\tHiện giúp đỡ về chuyển dòng lệnh\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "Cách sử dụng: \"đường dẫn\" mpc-hc.exe [chuyển đổi]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2649,14 +2653,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "&Kích hoạt bộ lọc"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "Quét"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "Phụ đề không được nạp hoặc render không được hỗ trợ."
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "Tác giả không rõ. Liên hệ với chúng tôi nếu bạn làm logo này!"
@@ -3405,10 +3401,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"Lưu ảnh\" và \"Lưu hình nhỏ\" chức năng không làm việc với video dựng hình bộ trộn.\nThay đổi trình phát video trong các tùy chọn đầu ra của MPC và mở lại tập tin."
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "Không thể kết nối với cơ sở dữ liệu phụ đề trực tuyến."
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "Bạn có muốn kích hoạt  trình soạn thảo EDL?"
@@ -3483,27 +3475,27 @@ msgstr "Sau khi phát xong: Thoát"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr "Sau khi xem lại: Chuyển chế độ"
+msgstr "Sau khi phát xong: Chế độ chờ"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
-msgstr "Sau khi xem lại: Ngủ đông"
+msgstr "Sau khi phát xong: Ngủ đông"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr "Sau khi xem lại: Tắt máy"
+msgstr "Sau khi phát xong: Tắt máy"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
-msgstr "Sau khi xem lại: Đổi"
+msgstr "Sau khi phát xong: Đăng xuất"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr "Sau khi xem lại: Khóa"
+msgstr "Sau khi phát xong: Khóa"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr "Sau khi phát lại: Tắt màn hình"
+msgstr "Sau khi phát xong: Tắt màn hình"
msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
msgid "After Playback: Play next file in the folder"
@@ -3595,9 +3587,377 @@ msgstr "Thiết lập"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
-msgstr ""
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "Nguồn cấp"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "Âm thanh không rõ"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "Tải xuống"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "Bản ghi"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "Việc tìm kiếm phụ đề trực tuyến đã thất bại."
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "Việc tìm kiếm phụ đề trực tuyến đã bị hủy."
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "Việc tìm kiếm phụ đề trực tuyến đã hoàn thành, tìm thấy %d phụ đề."
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "Việc tìm kiếm phụ đề trực tuyến đã hoàn thành, nhưng không tìm thấy phụ đề nào."
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "Tải phụ đề xuống"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "Đang tìm kiếm phụ đề trực tuyến, vui lòng chờ..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "Đang hủy việc tìm kiếm phụ đề trực tuyến..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "Tên người dùng"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "Tình trạng"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "Sẵn sàng..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "Không được thực thi."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "Đang tải lên..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "Phụ đề đã được tải lên thành công."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "Việc tải phụ đề lên đã thất bại."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "Việc tải phụ đề lên đã bị hủy."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "Phụ đề này đã có sẵn."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "Đang tải phụ đề lên, vui lòng chờ..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "Việc tải lên đã hoàn thành."
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "Việc tải lên đã bị hủy."
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "Việc tải lên đã thất bại."
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "&Tải xuống & Mở "
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "Thiết lập"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "Thiết lập lại"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "Chuyển lên"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "Chuyển xuống"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "Mở URL"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "Ngôn ngữ"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "LỖI: Kết nối mạng chưa được thiết lập."
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "Nhập các chứng nhận cho trang web"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "Nhập các chứng nhận của bạn để kết nối đến:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "Tỉ lệ khung hình: Giả định điểm ảnh vuông (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "Đã tải xuống [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "Tải phụ đề lên "
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "Bạn có chắc là muốn tải tập tin phụ đề \"%s\" lên?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "Đang tìm và nạp ngôn ngữ được hỗ trợ..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "Không thể đăng nhập vào \"% S\" bằng tên người dùng \"% S\".\n\nVui lòng nhập tên người dùng và mật khẩu chính xác hoặc thiết lập lại các thông tin đăng nhập như một người dùng vô danh."
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "Tự động tìm kiếm và tải về sẽ bị vô hiệu hóa đối với mọi tập tin đa phương tiện có chứa đoạn đường dẫn như đã nhập vào đây.\nVí dụ, gõ: \"private dir\\videos|work\\\"."
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\tTập tin hoặc thư mục chính được nạp\n\t\t(cho phép ký tự đại diện, ký tự \"-\" được coi là nhập liệu chuẩn)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\tNạp tập tin âm thanh lồng tiếng"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\tNạp tập tin âm thanh lồng tiếng có độ chênh lệch là XXms\n\t\t(Nếu tập tin có chứa \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\tKhởi động bộ dựng hình trong chế độ D3D toàn màn hình"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\tNạp tập tin phụ đề bổ sung"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\tNạp bộ lọc DirectShow từ thư viện liên kết động (cho phép ký tự đại diện)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\tChạy trong chế độ DVD, \"đường dẫn\" nghĩa là thư mục DVD (tùy chọn)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\tKhởi chạy tại tiêu đề T, chương C"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\tKhởi chạy tại tiêu đề T, vị trí P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\tNạp tất cả các rãnh của CD âm thanh hoặc (S)VCD,\n\t\t\"đường dẫn\" nghĩa là đường dẫn ổ đĩa (tùy chọn)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\tMở thiết bị phim ảnh mặc định"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\tMở tập tin, không tự động khởi chạy"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\tKhởi chạy tập tin ngay khi trình phát được khởi động"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\tĐóng trình phát sau khi phát xong (chỉ khi được sử dụng với /phát)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\tTắt hệ thống sau khi phát xong"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\tĐặt hệ thống vào chế độ chờ sau khi phát xong"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\tĐặt hệ thống vào chế độ ngủ đông sau khi phát xong"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\tĐăng xuất khỏi hệ thống sau khi phát xong"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\tKhóa trạm làm việc sau khi phát xong"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\tTắt màn hình sau khi phát xong"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\tMở tập tin kế tiếp trong thư mục sau khi phát xong"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\tKhởi động trong chế độ toàn màn hình"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\tKhởi động trong chế độ cực tiểu hóa"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\tSử dụng mẫu mới của trình phát"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\tthêm \"đường dẫn\" vào danh sách phát, có thể kết hợp với /mở và /phát"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\tNgẫu nhiên hóa danh sách phát"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\tTạo liên kết cho các tập tin phim ảnh"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\tTạo liên kết cho các tập tin âm thanh"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\tTạo liên kết cho các tập tin danh sách phát"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\tTạo liên kết cho tất cả các loại tập tin được hỗ trợ"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\tXóa bỏ tất cả các liên kết tập tin"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\tKhởi chạy tại \"ms\" (= mili giây)"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\tKhởi chạy tại vị trí hh:mm:ss"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\tThiết lập kích cỡ cửa sổ đã được ấn định"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\tKhởi động trình phát trên màn hình N, với N bắt đầu bằng 1"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\tKhởi động sử dụng bộ dựng âm thanh N, với N bắt đầu bằng 1 (xem các thiết lập về \"Ngõ ra\")"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\tKhởi động sử dụng thiết lập đổ bóng sẵn có \"Pr\""
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\tChỉ định tên thiết lập Pan&Scan sẵn có để sử dụng"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\tLiên kết lại các biểu tượng định dạng"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\tMở MPC-HC dưới nền"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\tKhởi động giao diện web ở cổng được chỉ định"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\tHiện thông tin gỡ lỗi trên màn hình hiển thị"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\tTắt báo cáo lỗi"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\tSử dụng MPC-HC thụ động"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\tThiết lập bảng chỉ mục của GPU để sử dụng cho việc giải mã phần cứng.\n\t\tChỉ có hiệu lực đối với CUVID và DXVA2 (sao chép-quay lại)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\tPhục hồi các thiết lập mặc định"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\tHiện trợ giúp về chuyển đổi chế độ dòng lệnh"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "Giá trị ngưỡng cho điểm số của phụ đề sẽ được tự động tải về. Giá trị cao hơn có nghĩa là phụ đề được nạp sẽ phù hợp và chính xác hơn, giá trị thấp hơn có thể dẫn đến phụ đề được nạp không phù hợp và chính xác, tuy nhiên không có một giá trị nào là hoàn hảo. Hãy chọn một cái phù hợp nhất đối với bạn."
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "Độ trễ của âm thanh (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "Kích cỡ điểm ảnh của thanh công cụ mặc định."
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "Sử dụng thanh công cụ kiểu cũ thay vì kiểu vectơ mới"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
index bf092702c..3aa34bf77 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014-2015
-# Dean Lee <xslidian@gmail.com>, 2015
-# Ming Chen <yzonline@gmail.com>, 2013-2015
+# Dean Lee <xslidian@gmail.com>, 2015-2016
+# kongfl888 <kongfl888@outlook.com>, 2016
+# Ming Chen <yzonline@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-19 19:15:11+0000\n"
-"PO-Revision-Date: 2015-10-20 10:21+0000\n"
-"Last-Translator: Ming Chen <yzonline@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-10-20 12:51+0000\n"
+"Last-Translator: Dean Lee <xslidian@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -191,8 +192,8 @@ msgid "About"
msgstr "关于"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "版权所有 © 2002-2015 请查看 Authors.txt"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "版权所有 © 2002-2017 请查看 Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -423,12 +424,16 @@ msgid "time(s)"
msgstr "次"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "重复模式:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "回放结束后"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "输出"
+msgid "Default zoom"
+msgstr "默认缩放"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -567,7 +572,7 @@ msgid "Warning"
msgstr "警告"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "如果您在显卡设置的某处开启了全屏抗锯齿功能并覆盖程序本身设置的话,字幕并不会变得比以前好看但是却会一定大量吞噬您的 CPU 资源。"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
@@ -1123,8 +1128,8 @@ msgid "Audio Renderer"
msgstr "音频渲染器"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (未渲染) 与 EVR (CP) 设置"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (未渲染) 与 EVR (CP) 设置"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1132,7 +1137,7 @@ msgstr "表面:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Resizer:"
-msgstr "重设尺寸:"
+msgstr "缩放算法:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
@@ -1186,6 +1191,10 @@ msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
msgstr "字幕渲染器"
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "缓存已编译的着色器"
+
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
msgstr "监听端口:"
@@ -1231,17 +1240,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI 接管: (.扩展名1=路径1; .扩展名2=路径2; ...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "可用的在线字幕"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "下载并打开"
+msgid "Download subtitles"
+msgstr "下载字幕"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "替换当前已装载的字幕"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "下载"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "刷新"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "选项"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "上传字幕"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "上传"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "选项"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "另存为..."
@@ -1543,16 +1580,28 @@ msgid "Reset"
msgstr "重置"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "在线数据库"
+msgid "Online search, download and upload subtitles"
+msgstr "在线搜索, 下载和上传字幕"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "如果本地未找到可用字幕, 自动搜索并下载字幕"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "优先使用为听力障碍者提供的字幕 (由字母提供者标明)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "忽略包含以下任何字词的文件:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "在线字幕数据库的基本 URL:"
+msgid "Languages in order of preference:"
+msgstr "语言偏好顺序:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "测试"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "在视频回放完成时自动上传启用的字幕"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
index c8d88af32..6729fe6ff 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
@@ -1,16 +1,16 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014
# Dean Lee <xslidian@gmail.com>, 2015
# kasper93, 2013
-# Ming Chen <yzonline@gmail.com>, 2013-2015
+# Ming Chen <yzonline@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-07-20 08:01+0000\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-02-01 13:35+0000\n"
"Last-Translator: Ming Chen <yzonline@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -67,29 +67,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "保存缩略图(&T)..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "字幕(&U)"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "载入字幕(&L)..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "保存字幕(&U)..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "字幕数据库(&B)"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "搜索(&S)..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "下载字幕(&D)..."
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "上传(&U)..."
-
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "下载(&D)..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "上传字幕(&U)..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -411,17 +407,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "缩放以填满窗口(&O)"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "保持高宽比(&K)"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "替代高宽比(&A)"
+msgid "&Aspect Ratio"
+msgstr "高宽比(&A)"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "默认(&D)"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "默认 (DAR)(&D)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -443,6 +435,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "猜测是方形像素 (SAR)(&S)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "纠正显示器/桌面高宽比差异(&C)"
@@ -536,8 +532,24 @@ msgid "&Stop"
msgstr "停止(&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
-msgstr "帧步进(&R)"
+msgid "Fra&me Step"
+msgstr "帧步进(&M)"
+
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "重复(&R)"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "循环(&O)"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "文件(&F)"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "播放列表(&P)"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
@@ -568,8 +580,8 @@ msgid "Su&btitle Track"
msgstr "字幕轨(&B)"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
-msgstr "视频轨(&V)"
+msgid "Vide&o Track"
+msgstr "视频轨(&O)"
msgctxt "POPUP"
msgid "&Volume"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
index 6906e7c95..384df1a58 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014-2015
-# Dean Lee <xslidian@gmail.com>, 2015
+# Dean Lee <xslidian@gmail.com>, 2015-2016
# hkenneth <extremekeny@hotmail.com>, 2013
-# Ming Chen <yzonline@gmail.com>, 2013-2015
+# kongfl888 <kongfl888@outlook.com>, 2016
+# Ming Chen <yzonline@gmail.com>, 2013-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-10-25 00:51:15+0000\n"
-"PO-Revision-Date: 2015-11-08 09:31+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2016-10-20 17:42+0000\n"
+"Last-Translator: Dean Lee <xslidian@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,10 +64,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "属性"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "文件"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "默认样式(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "播放列表"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "文件"
@@ -119,6 +128,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "如果渲染目标没有被定义,SSA/ASS字幕会以视频帧为参照渲染,而其他文本字幕则会以窗口为参照。"
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "重复模式: 播放列表"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "重复模式: 文件"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "循环播放: 开"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "循环播放: 关"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "循环播放"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "从不 (最快的方式)"
@@ -519,18 +548,10 @@ msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
msgstr "覆盖合成渲染器"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "VMR-7 (窗口化)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "VMR-9 (窗口化)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "VMR-7 (未渲染)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "VMR-9 (未渲染)"
@@ -583,10 +604,6 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "播放器::Web 界面"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "字幕::数据库"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "详细信息"
@@ -607,17 +624,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "总是在覆盖模式渲染。通常情况下该模式仅允许 YUV 格式, 但是它们将不被转换为RGB色彩直接输出。它是所有渲染模式中最快的,且是唯一可以确保全屏视频镜像到电视输出被激活的渲染器。"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP 的默认视频渲染器。非常稳定而且只比覆盖合成器稍慢。当可能时它将使用 DriectDraw 并运行在覆盖模式下。"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "仅在 DirectX 9 已被安装的情况下可用。与 VMR-7 (窗口化) 有相同的功能, 因为它决不会使用覆盖渲染所以这会导致比 VMR-7 (窗口化) 稍慢。"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "与 VMR-7 (窗口化) 相同,但是拥有 MPC-HC 字幕分配传输插件。覆盖视频镜像将不会工作。推荐使用 \"真彩色\" 为桌面颜色。"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "仅在 DirectX 9 已安装的情况下可用。非常稳定,但是由于不使用覆盖渲染,会比覆盖合成器稍慢。"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -655,10 +664,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real 自己的渲染器。SMIL 脚本将会被执行,但或许无法执行交互功能。当可能时将会使用 DirectDraw 并运行在覆盖模式下。"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "使用基于 DX7 的 VMR-7 (未渲染) 分配传输器渲染输出的 Real 引擎。"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "使用基于 DX9 的 VMR-9 (未渲染) 分配传输器渲染输出的 Real 引擎。"
@@ -667,10 +672,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime 自己的渲染器。当视频区域被重新调整大小或被其它窗口部份覆盖时可能会变的稍慢一些。当覆盖不可用时它可能会完全返回至 GDI。"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "使用基于 DX7 的 VMR-7 (未渲染) 分配传输器渲染输出的 QuickTime 引擎。"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "使用基于 DX9 的 VMR-9 分配转换器 (未渲染) 渲染的 QuickTime 引擎输出。"
@@ -751,9 +752,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "为了在您的浏览器中能查看内嵌的资源您应该开启 web 界面。\n\n如果您只是希望保存信息请使用 \"另存为\" 按钮。"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "下载字幕"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "下载字幕..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "上传字幕..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -811,6 +816,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "通过绕过内建于 D3D 中的垂直同步来减少撕裂现象。"
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "调谐器扫描"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "字幕未被载入或是不支持的渲染器。"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "将已编译的着色器存储在本地的 AppData 目录,以此提高加载速度。"
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "打开 VTS_xx_0.ifo 可同时加载 VTS_xx_x.vob 文件"
@@ -948,12 +965,12 @@ msgid "&Organize Favorites..."
msgstr "管理收藏夹(&O)..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
-msgstr "乱序"
+msgid "Sh&uffle"
+msgstr "乱序(&U)"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
-msgstr "打开文件位置"
+msgid "Ope&n file location"
+msgstr "打开文件位置(&N)"
msgctxt "IDS_CONTROLS_CLOSING"
msgid "Closing..."
@@ -1036,8 +1053,8 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "缩放至超宽屏幕,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
-msgstr "在全屏幕中隐藏"
+msgid "&Hide on Fullscreen"
+msgstr "在全屏幕中隐藏(&H)"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
@@ -1224,8 +1241,8 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
-msgstr "添加子文件夹"
+msgid "Add containing &folder"
+msgstr "添加子文件夹(&F)"
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
@@ -1427,13 +1444,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "已成功保存图像"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "载入字幕"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "载入字幕..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "保存字幕"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "保存字幕..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1560,8 +1577,8 @@ msgid "Thumbnails saved successfully"
msgstr "成功保存缩略图"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
-msgstr "视频轨(&V)"
+msgid "Vide&o Track"
+msgstr "视频轨(&O)"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
@@ -1796,8 +1813,8 @@ msgid "PnS Dec Height"
msgstr "PnS Dec 高度"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "正在下载字幕, 请稍候。"
+msgid "Downloading [%s] \"%s\""
+msgstr "正在下载 [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -2059,11 +2076,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "加密"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "是"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "否"
@@ -2215,14 +2232,6 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "图像宽度"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "URL 看上去不正确!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "协议版本不匹配, 请升级您的播放器或选择一个不同的地址!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
msgstr "高宽比"
@@ -2316,8 +2325,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "缩略图会太小, 而无法创建该文件。\n\n请尝试调低缩略图的数量或增加总大小。"
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "要载入字幕,您需要更改视频渲染器类型然后重新打开文件。\n- DirectShow: VMR-7/VMR-9 (未渲染)、EVR (CP)、同步、madVR 或 Haali\n- RealMedia: 用于 RealMedia 的特殊渲染器, 或通过 DirectShow 打开它\n- QuickTime: 用于 QuickTime 的 DX7 或 DX9 渲染器\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "要载入字幕,您需要更改视频渲染器类型然后重新打开文件。\n- DirectShow: VMR-9 (未渲染)、EVR (CP)、同步、madVR 或 Haali\n- RealMedia: 用于 RealMedia 的特殊渲染器, 或通过 DirectShow 打开它\n- QuickTime: 用于 QuickTime 的 DX7 或 DX9 渲染器\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2328,8 +2337,8 @@ msgid "Aspect Ratio: %ld:%ld"
msgstr "高宽比: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "高宽比: 默认"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "高宽比: 默认(DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2367,10 +2376,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "渲染文件失败"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "错误的 URL,无法在该位置找到字幕数据库!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "章节: "
@@ -2564,8 +2569,8 @@ msgid "Volume boost Max"
msgstr "最大音量推进"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "用法: mpc-hc.exe \"路径名\" [开关]\n\n\"路径名\"\t\t表示要载入的主文件或目录 (允许通配符, \"-\" 表示标准输入)\n/dub \"配音名\"\t载入一个附加的音频文件\n/dubdelay \t\"文件\"载入音频文件延迟 XXms (如果该文件包含 \"...DELAY XXms...\")\n/d3dfs\t\t在 D3D 全屏幕模式开始渲染\n/sub \"字幕名\"\t载入一个附加的字幕文件\n/filter \"滤镜名\"\t从一个动态链接库中载入 DirectShow 滤镜 (允许通配符)\n/dvd\t\t运行 DVD 模式, \"路径名\" 表示 dvd 文件夹 (可选)\n/dvdpos T#C\t从标题 T, 章节 C 开始播放\n/dvdpos T#hh:mm\t从标题 T, 位置 hh:mm:ss 开始播放\n/cd\t\t从一张音频 CD 或 (S)VCD 中载入所有音轨, \"路径名\" 表示驱动器路径 (可选)\n/device\t\t打开默认的视频设备\n/open\t\t打开文件, 不自动开始回放\n/play\t\t在播放器启动后播放文件\n/close\t\t回放结束后关闭播放器 (仅能和 /play 同时使用)\n/shutdown\t回放结束后关闭操作系统\n/standby\t\t回放结束后将操作系统设置为待机模式\n/hibernate\t回放结束后休眠操作系统\n/logoff\t\t回放结束后注销\n/lock\t\t回放结束后锁定计算机\n/monitoroff\t回放结束后关闭显示器\n/playnext\t\t回放结束后打开文件夹中的下一个文件\n/fullscreen\t以全屏幕模式启动\n/minimized\t以最小化模式启动\n/new\t\t启动一个新的播放器实例\n/add\t\t添加 \"路径名\" 到播放列表中,可以和 /open 与 /play 组合使用\n/randomize\t随机的播放列表\n/regvid\t\t为视频文件创建文件关联\n/regaud\t\t为音频文件创建文件关联\n/regpl\t\t为播放列表创建文件关联\n/regall\t\t为所有支持的文件类型创建文件关联\n/unregall\t\t移除所有文件关联\n/start ms\t\t在 \"ms\" (= 毫秒) 处开始播放\n/startpos hh:mm:ss\t在位置 hh:mm:ss 开始播放\n/fixedsize w,h\t设置一个固定的窗口大小\n/monitor N\t在显示器 N 上启动, N 从 1 开始\n/audiorenderer N\t使用音频渲染器 N 启动, N 从 1 开始\n\t\t(请查阅 \"输出\" 设置)\n/shaderpreset \"Pr\"\t开始使用 \"Pr\" 着色器预设\n/pns \"name\"\t指定要使用的全景和扫描预设名称\n/iconsassoc\t重新关联格式图标\n/nofocus\t\t在后台打开 MPC-HC\n/webport N\t在指定端口启动 web 界面\n/debug\t\t在 OSD 上显示调试信息\n/nocrashreporter\t关闭崩溃报告\n/slave \"hWnd\"\t使用MPC-HC为从\n/hwgpu \"index\"\t设置硬件解码用的GPU型号的索引\n\t\t仅适用于CUVID和DXVA2(copy-back)\n/reset\t\t恢复默认设置\n/help /h /?\t显示此命令行开关帮助对话框\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "用法: mpc-hc.exe \"路径名称\" [开关参数]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2651,14 +2656,6 @@ msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
msgstr "开启所有滤镜(&E)"
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "调谐器扫描"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "字幕未被载入或是不支持的渲染器。"
-
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
msgstr "作者未知。如果是您制作了此标志请联系我们!"
@@ -3407,10 +3404,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"保存图像\" 和 \"保存缩略图\" 功能无法工作于覆盖合成视频渲染器下。\n请在MPC的输出选项中更换视频渲染器,然后重新打开文件。"
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "无法连接到在线字幕数据库。"
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "您要激活 EDL 编辑器吗?"
@@ -3603,3 +3596,371 @@ msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
msgstr "XySubFilter"
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "提供者"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "听障者"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "下载量"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "评分"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "在线字幕搜索失败。"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "在线字幕搜索已中止。"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "在线字幕搜索已完成,找到 %d 个字幕。"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "在线字幕搜索已完成,未找到匹配字幕。"
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "下载字幕"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "正在在线搜索字幕,请稍后.."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "正在中止在线字幕搜索..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "用户名"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "状态"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "就绪..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "尚未实现。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "上传中..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "字幕上传成功。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "字幕上传失败。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "字幕上传已中止。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "字幕已存在。"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "正在上传字幕,请稍候..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "上传完成。"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "上传中止。"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "上传失败。"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "下载并打开"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "设置"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "重置"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "向上移动"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "向下移动"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "打开链接"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "语言"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "错误:无法建立网络连接。"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "输入网站认证信息"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "输入认证信息以连接到:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "高宽比: 猜测是方形像素 (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "已下载 [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "上传字幕"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "您确认要上传字幕文件 \"%s\"?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "正在获取受支持的语言..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "无法登录 \"%S\" 当前用户名 \"%S\"。\n\n请输入正确的用户名和密码或重置凭据后作为匿名用户登录。"
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "当路径中包含有任何这里所输入的模式时所有媒体文件的自动搜索和下载的功能将被禁用。\n例如,类型:\"私有目录\\视频|工作\\\"。"
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"路径名称\"\t要加载的主文件或文件夹\n\t\t(允许使用通配符,“-”表示标准输入)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"配音文件名\"\t加载额外的音频文件"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"文件\"\t加载额外的音频文件并延迟 XXms\n\t\t(若文件名包含“...DELAY XXms...”字样)"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\t以 D3D 全屏模式开始渲染"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"字幕文件名\"\t加载额外的字幕文件"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"滤镜文件名\"\t加载动态链接库中的 DirectShow 滤镜 (允许使用通配符)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\t以 DVD 模式运行,“路径名称”表示 DVD 根目录 (可选)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\t开始播放第 T 标题,第 C 章节"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
+msgstr "/dvdpos T#P\t开始播放标题 T、位置 P (hh:mm:ss)"
+
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\t加载音频 CD 或 (S)VCD 的所有轨道,\n\t\t“路径名称”表示驱动器路径 (可选)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\t打开默认视频设备"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\t只打开文件,但不自动开始播放"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\t启动播放器并开始播放文件"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\t播放完毕后关闭播放器 (仅当与 /play 同时使用时生效)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\t播放完毕后关闭操作系统"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\t播放完毕后将操作系统置于待机模式"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\t播放完毕后将操作系统置于休眠模式"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\t播放完毕后注销"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\t播放完毕后锁定工作站"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\t播放完毕后关闭显示器"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\t播放完毕后打开文件夹中的下一个文件"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\t以全屏模式启动"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\t以最小化模式启动"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\t使用新的播放器实例"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\t将“路径名称”添加到播放列表,可与 /open 及 /play 组合使用"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\t播放列表随机排序"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\t创建视频文件的文件关联"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\t创建音频文件的文件关联"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\t创建播放列表文件的文件关联"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\t为所有受支持的文件创建文件关联"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\t移除所有文件关联"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\t从第 ms 毫秒开始播放"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\t从 hh:mm:ss 位置开始播放"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\t设置固定的窗口尺寸"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\t在第 N 个显示器上启动播放器,其中 N 从 1 开始计数"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\t启动时使用第 N 个音频渲染器,其中 N 从 1 开始计数 (参见“输出”设置项)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\t启动时使用着色器预设“Pr”"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"名称\"\t指定要使用的 Pan&Scan 预设名称"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\t重新关联格式图标"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\t在后台打开 MPC-HC"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\t在指定端口启动 web 界面"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\t在屏幕上(OSD)显示调试信息"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\t禁用崩溃报告程序"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\t以从模式启动 MPC-HC"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"索引号\"\t设置要使用的 GPU 的索引号。\n\t\t只对 CUVID 与 DXVA2 (copy-back) 可用"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\t恢复默认设置"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\t显示命令行开关的帮助"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "自动下载字幕的评分阈值。该值设置得较高,则将加载匹配更为精确的字幕;设置得较低,则可能导致加载的字幕不正确;但没有一个确定的完美值。请根据实测情况决定该数值。"
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "音频延迟 (ms)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "默认工具栏的大小,单位为像素。"
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "使用经典版工具栏,而非新的矢量化图标。"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
index dc3d6e51b..e02f11a1a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
@@ -1,21 +1,24 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# Chien Wei Lin <cwlin0416@gmail.com>, 2016
# Jeff Huang <s8321414@gmail.com>, 2014
# kenelin <kenelin@gmail.com>, 2013
# Ken <ken670128@yahoo.com.tw>, 2015
# Peter Chen <petercpg@gmail.com>, 2014
# roytam1 <roytam@gmail.com>, 2014
+# Timo Liu <timoliu@gmail.com>, 2016
+# YukiSakura <nijiko_fukada@163.com>, 2015
# Zakk <zakk0610@gmail.com>, 2014
-# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# 洪嘉鴻 <jerry9030@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-09-20 06:00+0000\n"
-"Last-Translator: 洪嘉鴻 <jerry9030@gmail.com>\n"
+"POT-Creation-Date: 2016-04-11 21:52:56+0000\n"
+"PO-Revision-Date: 2016-07-06 21:36+0000\n"
+"Last-Translator: kasper93\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +32,7 @@ msgstr "選擇媒體類型"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
-msgstr "確認"
+msgstr "確定"
msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
msgid "Cancel"
@@ -73,7 +76,7 @@ msgstr "V/A 緩衝區:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
-msgstr "輸出成 WAV 檔案"
+msgstr "音訊輸成 WAV 檔"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
@@ -81,7 +84,7 @@ msgstr "錄製"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "啟用內建的音訊切換篩選器 (需要重新啟動)"
+msgstr "開啟內建的音訊切換篩選器 (需要重新啟動)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -89,7 +92,7 @@ msgstr "標準化"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr "最大擴增:"
+msgstr "擴大上限:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
@@ -97,11 +100,11 @@ msgstr "%"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
msgid "Regain volume"
-msgstr "回復音量"
+msgstr "還原音量"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
msgid "Boost:"
-msgstr "增益:"
+msgstr "提高:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
@@ -109,19 +112,19 @@ msgstr "降低取樣到 44100 Hz"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "平移音訊時間 (ms):"
+msgstr "音訊偏移時間 (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "啟用自訂的聲道對應"
+msgstr "開啟自訂的聲道對應"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for"
-msgstr "揚聲器組態: 給"
+msgstr "喇叭設定給"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
msgid "input channels:"
-msgstr "組聲道"
+msgstr "輸入聲道:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something"
@@ -145,7 +148,7 @@ msgstr "前往"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "輸入兩組數字來跳至指定的影格。第一個數字指的是影格號碼, 第二個數字指的是影格播放速率。"
+msgstr "輸入兩組數字來跳至指定的影格。第一個數字指的是影格號碼, 第二個數字指的是影格更新率。"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -161,7 +164,7 @@ msgstr "開啟"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "鍵入影片或是聲音檔的位址 (在網路上或是您的電腦裡), 播放程式就會開啟它。"
+msgstr "鍵入視訊或是音訊檔的位址 (在網路上或是您的電腦裡),播放程式就會開啟它。"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -196,8 +199,8 @@ msgid "About"
msgstr "關於"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2015 see Authors.txt"
-msgstr "Copyright © 2002-2015 請見 Authors.txt 檔案"
+msgid "Copyright © 2002-2017 see Authors.txt"
+msgstr "Copyright © 2002-2017 請見 Authors.txt 檔案"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -205,7 +208,7 @@ msgstr "本程式是自由軟體, 並依 GNU General Public License 發行。"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "譯者: Kene Lin、Chiahong Hong"
+msgstr "繁體中文翻譯由 Chien Wei Lin、Kene Lin、Chiahong Hong 製作"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -269,11 +272,11 @@ msgstr "顯示完整路徑"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
msgid "File name only"
-msgstr "只有檔案名稱"
+msgstr "只使用檔名"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
msgid "Don't prefix anything"
-msgstr "不使用前綴字串"
+msgstr "不加字首"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
@@ -301,19 +304,19 @@ msgstr "貼齊視窗邊緣"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "儲存設定到 INI 檔"
+msgstr "儲存設定到 .ini 檔"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
-msgstr "停用 \"開啟光碟\" 選單"
+msgstr "關閉 \"開啟光碟\" 選單"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "程式優先權調成高於一般"
+msgstr "程序優先權調成高於一般"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr "啟用專輯封面支援"
+msgstr "開啟專輯封面支援"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -325,27 +328,27 @@ msgstr "保留最近開啟檔案的記錄"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
-msgstr "記憶上次的播放清單"
+msgstr "記住上次的播放清單"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
-msgstr "記憶檔案位置"
+msgstr "記住檔案位置"
msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
msgid "Remember DVD position"
-msgstr "記憶 DVD 位置"
+msgstr "記住 DVD 位置"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
msgid "Remember last window position"
-msgstr "記憶上次的視窗位置"
+msgstr "記住上次的視窗位置"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
msgid "Remember last window size"
-msgstr "記憶上次的視窗大小"
+msgstr "記住上次的視窗大小"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "記憶上次的平移掃描縮放"
+msgstr "記住上次的平移掃描縮放"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -369,7 +372,7 @@ msgstr "選單"
msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
msgid "Audio"
-msgstr "發音"
+msgstr "音訊"
msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
msgid "Subtitles"
@@ -377,7 +380,7 @@ msgstr "字幕"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Additional settings"
-msgstr "額外設定"
+msgstr "其他設定"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
@@ -428,12 +431,16 @@ msgid "time(s)"
msgstr "次"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Repeat mode:"
+msgstr "重複模式:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "After Playback"
msgstr "播放完後"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
-msgid "Output"
-msgstr "輸出"
+msgid "Default zoom"
+msgstr "預設縮放"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
msgid "Auto-zoom:"
@@ -469,7 +476,7 @@ msgstr "開啟設定"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "使用工作執行緒建立篩選器圖 (Filter Graph)"
+msgstr "使用 Worker 執行緒建立 Filter Graph"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
@@ -541,7 +548,7 @@ msgstr "永不動畫化字幕"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr "繪製到"
+msgstr "繪製於"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
@@ -553,7 +560,7 @@ msgstr "動畫化"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr "的視訊幀率"
+msgstr "% 的視訊影格更新率"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
@@ -561,23 +568,23 @@ msgstr "若佇列延遲時允許丟棄一些子畫面"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
-msgstr "渲染器佈局"
+msgstr "繪製器配置"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
-msgstr "套用長寬比至變形的影片中"
+msgstr "套用長寬比至變形的視訊中"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Warning"
msgstr "警告"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
-msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
+msgid "If you override and enable fullscreen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your CPU."
msgstr "如果您覆寫並啟用在顯示卡裡的全螢幕反鋸齒 (FSAA) 設定, 字幕不會變得比較好看, 卻會吃更多的 CPU 資源。"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
-msgstr "副檔名"
+msgstr "檔案副檔名"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
msgid "Default"
@@ -641,7 +648,7 @@ msgstr "自動播放"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
msgid "Video"
-msgstr "影片"
+msgstr "視訊"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK2"
msgid "Music"
@@ -665,7 +672,7 @@ msgstr "預設值"
msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
msgid "Fast seek (on keyframe)"
-msgstr "快速搜尋 (於關鍵影格)"
+msgstr "快速搜尋 (使用關鍵影格)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
msgid "Show chapter marks in seek bar"
@@ -673,15 +680,15 @@ msgstr "在搜尋列中顯示章節標記"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
msgid "Display \"Now Playing\" information in Skype's mood message"
-msgstr "顯示 \"Now Playing\" 的訊息於 Skype 心情小語"
+msgstr "顯示 \"現在播放\" 的資訊於 Skype 心情小語"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "避免在非預設顯示器全螢幕時最小化"
+msgstr "避免在非預設顯示器全螢幕播放時最小化"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_ENHANCED_TASKBAR"
msgid "Use enhanced taskbar features"
-msgstr ""
+msgstr "使用加強的工作列功能"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open previous/next file in folder on \"Skip back/forward\" when there is only one item in playlist"
@@ -697,7 +704,7 @@ msgstr "OSD 字型:"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
-msgstr "啟用 Logitech LCD 支援 (實驗性)"
+msgstr "開啟 Logitech LCD 支援 (實驗性)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
msgid "Auto-hide the mouse pointer during playback in windowed mode"
@@ -757,11 +764,11 @@ msgstr "檔案大小:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Media length:"
-msgstr "時間長度:"
+msgstr "媒體長度:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Video size:"
-msgstr "畫面大小:"
+msgstr "視訊大小:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
@@ -801,7 +808,7 @@ msgstr "請選擇捷徑的名稱:"
msgctxt "IDD_FAVADD_IDC_CHECK1"
msgid "Remember position"
-msgstr "記憶位置"
+msgstr "記住位置"
msgctxt "IDD_FAVADD_IDCANCEL"
msgid "Cancel"
@@ -841,7 +848,7 @@ msgstr "確認"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
-msgstr "平移掃描先期設定"
+msgstr "平移和掃描初始設定"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
msgid "New"
@@ -897,7 +904,7 @@ msgstr "警告"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "MPC-HC 無法繪製篩選器圖裡的某些腳位, 您的系統可能沒有安裝需要的編解碼器或篩選器。"
+msgstr "MPC-HC 無法繪製 Filter Graph 裡的某些腳位, 您的系統可能沒有安裝需要的編解碼器或篩選器。"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
@@ -933,7 +940,7 @@ msgstr "毫秒"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
msgid "Save custom style"
-msgstr "保存自訂樣式"
+msgstr "儲存自訂樣式"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -949,7 +956,7 @@ msgstr "列"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "columns"
-msgstr "行"
+msgstr "欄"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Image width:"
@@ -985,7 +992,7 @@ msgstr "字型"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Spacing"
-msgstr "空白"
+msgstr "間距"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Angle (z,°)"
@@ -1005,7 +1012,7 @@ msgstr "邊框樣式"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
msgid "Outline"
-msgstr "邊線"
+msgstr "輪廓"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
msgid "Opaque box"
@@ -1013,7 +1020,7 @@ msgstr "不透明框"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Width"
-msgstr "邊框寬度"
+msgstr "寬度"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Shadow"
@@ -1041,7 +1048,7 @@ msgstr "下"
msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
msgid "Position subtitles relative to the video frame"
-msgstr "放置字幕於視訊畫面相對位置"
+msgstr "放置字幕於視訊影格相對位置"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Colors && Transparency"
@@ -1073,7 +1080,7 @@ msgstr "連結 Alpha 通道"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "如果您想使用這些篩選器的獨立版本或是其它的替代品, 請先在此停用。"
+msgstr "如果您想使用這些篩選器的獨立版本或是其它的替代品,請先在此關閉。"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
@@ -1128,8 +1135,8 @@ msgid "Audio Renderer"
msgstr "音訊譜製器"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
-msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
-msgstr "VMR-7/VMR-9 (無轉換) 與 EVR 自訂呈現設定"
+msgid "VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-9 (renderless) 與 EVR (CP) 設定"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Surface:"
@@ -1173,7 +1180,7 @@ msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles"
-msgstr ""
+msgstr "字幕"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
@@ -1181,7 +1188,7 @@ msgstr "螢幕截圖"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr "Shader"
+msgstr "著色器"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
@@ -1189,7 +1196,11 @@ msgstr "旋轉"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitle Renderer"
-msgstr ""
+msgstr "字幕繪製器"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_CACHESHADERS"
+msgid "Cache compiled Shaders"
+msgstr "快取已編譯的著色器"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
@@ -1201,7 +1212,7 @@ msgstr "於網頁瀏覽器開啟..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
-msgstr "啟用壓縮"
+msgstr "開啟壓縮"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
msgid "Allow access from localhost only"
@@ -1209,7 +1220,7 @@ msgstr "只允許從本機存取"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK6"
msgid "Enable preview"
-msgstr "啟用預覽"
+msgstr "開啟預覽"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
msgid "Print debug information"
@@ -1217,7 +1228,7 @@ msgstr "列印偵錯資訊"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
msgid "Serve pages from:"
-msgstr "服務頁面來自:"
+msgstr "頁面提供自:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
@@ -1236,17 +1247,45 @@ msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
msgstr "CGI 處理器: (.ext1=path1;.ext2=path2;...)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
-msgid "Subtitles available online"
-msgstr "線上有可用的字幕"
-
-msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
-msgid "Download && Open"
-msgstr "下載並開啟"
+msgid "Download subtitles"
+msgstr "下載字幕"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
msgstr "取代目前載入的字幕"
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download"
+msgstr "下載"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON1"
+msgid "Refresh"
+msgstr "重新整理"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON2"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_BUTTON3"
+msgid "Options"
+msgstr "選項"
+
+msgctxt "IDD_SUBTITLEUP_DLG_CAPTION"
+msgid "Upload subtitles"
+msgstr "上傳字幕"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDOK"
+msgid "Upload"
+msgstr "上傳"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON1"
+msgid "Abort"
+msgstr "中止"
+
+msgctxt "IDD_SUBTITLEUP_DLG_IDC_BUTTON2"
+msgid "Options"
+msgstr "選項"
+
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
msgstr "儲存為..."
@@ -1281,7 +1320,7 @@ msgstr "更新檢查"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "啟用自動更新檢查"
+msgstr "開啟自動更新檢查"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Check every:"
@@ -1401,11 +1440,11 @@ msgstr "切換頻道的方法:"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
msgid "Rebuild filter graph"
-msgstr "重建篩選器圖"
+msgstr "重建 Filter Graph"
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr "停止篩選器圖"
+msgstr "停止 Filter Graph"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
@@ -1429,7 +1468,7 @@ msgstr "行"
msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
msgid "columns"
-msgstr "列"
+msgstr "欄"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
@@ -1533,7 +1572,7 @@ msgstr "優先使用強迫和/或預設字幕軌道"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "外部字幕較內嵌字幕優先"
+msgstr "優先使用外部字幕替代內嵌字幕"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
@@ -1548,16 +1587,28 @@ msgid "Reset"
msgstr "重設"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Online database"
-msgstr "線上資料庫"
+msgid "Online search, download and upload subtitles"
+msgstr "線上搜尋、下載和上傳字幕"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK4"
+msgid "Automatically search and download subtitles if none are found locally"
+msgstr "如於本機找不到字幕,則自動搜尋並下載"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK5"
+msgid "Prefer subtitles for hearing impaired (when indicated by subtitles provider)"
+msgstr "偏好使用聽力受損專用字幕 (當字幕提供者有標示時)"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC1"
+msgid "Ignore files containing any of the following word(s):"
+msgstr "忽略任何包含以下字詞的檔案:"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
-msgid "Base URL of the online subtitle database:"
-msgstr "線上字幕資料庫的基礎網址:"
+msgid "Languages in order of preference:"
+msgstr "語言偏好順序:"
-msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
-msgid "Test"
-msgstr "測試"
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK6"
+msgid "Automatically upload active subtitles at the end of video playback"
+msgstr "於視訊播放結束時自動上傳使用中的字幕"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
@@ -1577,11 +1628,11 @@ msgstr "忽略此次更新(&I)"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
-msgstr "Shader 包含可加入至視訊渲染過程的特別效果。"
+msgstr "著色器中含有可加入至視訊繪製過程的特效。"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr "加入 shader 檔案"
+msgstr "加入著色器檔案"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1589,15 +1640,15 @@ msgstr "移除"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
msgid "Add to pre-resize"
-msgstr "加入至 pre-resize"
+msgstr "加入至 Pre-resize"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
msgid "Add to post-resize"
-msgstr "加入至 post-resize"
+msgstr "加入至 Post-resize"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
-msgstr "Shader 先期設定"
+msgstr "著色器初始設定"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
@@ -1613,15 +1664,15 @@ msgstr "移除"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "活躍的 pre-resize shaders"
+msgstr "使用中的 Pre-resize 著色器"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "活躍的 post-resize shader"
+msgstr "使用中的 Post-resize 著色器"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr "偵錯 Shader"
+msgstr "著色器偵錯"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
@@ -1677,19 +1728,19 @@ msgstr "選項"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_CHECK3"
msgid "Enable stereo crossfeed (for headphones)"
-msgstr "啟用立體聲 Crossfeed (適用於耳機)"
+msgstr "開啟立體聲 Crossfeed (適用於耳機)"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON1"
msgid "C. Moy"
-msgstr ""
+msgstr "C. Moy"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_BUTTON2"
msgid "J. Meier"
-msgstr ""
+msgstr "J. Meier"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC1"
msgid "Cut-off:"
-msgstr ""
+msgstr "切斷:"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC3"
msgid "Level:"
@@ -1701,7 +1752,7 @@ msgstr "備註"
msgctxt "IDD_PPAGEAUDIORENDERER_IDC_STATIC"
msgid "To minimize audio distortion, it is recommended to keep player volume at around 85% when playing loud lossy-encoded content."
-msgstr ""
+msgstr "為使音訊失真降至最低,當回放大音量有損編碼內容時,推薦將播放器音量設定為 85% 左右。"
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -1709,7 +1760,7 @@ msgstr "JPEG 品質:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
-msgstr "命令行說明"
+msgstr "命令列說明"
msgctxt "IDD_CMD_LINE_HELP_IDOK"
msgid "OK"
@@ -1717,7 +1768,7 @@ msgstr "確認"
msgctxt "IDD_CRASH_REPORTER_CAPTION"
msgid "Crash reporter"
-msgstr "崩潰回報"
+msgstr "錯誤回報"
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC"
msgid "We are sorry, it seems MPC-HC just crashed. :("
@@ -1741,7 +1792,7 @@ msgstr "您可以選擇性填寫電子郵件地址, 然而只有在開發人員
msgctxt "IDD_CRASH_REPORTER_IDC_STATIC4"
msgid "Problem description (use English only):"
-msgstr "問題描述 (請使用英文進行撰寫):"
+msgstr "問題描述 (請使用英文):"
msgctxt "IDD_CRASH_REPORTER_IDC_BUTTON1"
msgid "Restart MPC-HC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
index d0aa456e9..6e21d65e1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
@@ -1,18 +1,19 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# Chien Wei Lin <cwlin0416@gmail.com>, 2016
# kenelin <kenelin@gmail.com>, 2013
# Ken <ken670128@yahoo.com.tw>, 2015
# Peter Chen <petercpg@gmail.com>, 2014
-# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# 洪嘉鴻 <jerry9030@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-05-30 00:33:30+0000\n"
-"PO-Revision-Date: 2015-08-09 09:11+0000\n"
-"Last-Translator: 洪嘉鴻 <jerry9030@gmail.com>\n"
+"POT-Creation-Date: 2016-01-17 21:31:34+0000\n"
+"PO-Revision-Date: 2016-06-12 21:19+0000\n"
+"Last-Translator: Chien Wei Lin <cwlin0416@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -68,29 +69,25 @@ msgctxt "ID_FILE_SAVE_THUMBNAILS"
msgid "Save &Thumbnails..."
msgstr "儲存縮圖(&T)..."
-msgctxt "ID_FILE_LOAD_SUBTITLE"
-msgid "&Load Subtitle..."
+msgctxt "POPUP"
+msgid "S&ubtitles"
+msgstr "字幕"
+
+msgctxt "ID_FILE_SUBTITLES_LOAD"
+msgid "&Load Subtitles..."
msgstr "載入字幕(&L)..."
-msgctxt "ID_FILE_SAVE_SUBTITLE"
-msgid "Save S&ubtitle..."
+msgctxt "ID_FILE_SUBTITLES_SAVE"
+msgid "Save S&ubtitles..."
msgstr "儲存字幕(&U)..."
-msgctxt "POPUP"
-msgid "Subtitle Data&base"
-msgstr "字幕資料庫(&B)"
-
-msgctxt "ID_FILE_ISDB_SEARCH"
-msgid "&Search..."
-msgstr "搜尋(&S)..."
-
-msgctxt "ID_FILE_ISDB_UPLOAD"
-msgid "&Upload..."
-msgstr "上傳(&U)..."
+msgctxt "ID_FILE_SUBTITLES_DOWNLOAD"
+msgid "&Download Subtitles..."
+msgstr "下載字幕(&D)..."
-msgctxt "ID_FILE_ISDB_DOWNLOAD"
-msgid "&Download..."
-msgstr "下載(&D)..."
+msgctxt "ID_FILE_SUBTITLES_UPLOAD"
+msgid "&Upload Subtitles..."
+msgstr "上傳字幕(&U)..."
msgctxt "ID_FILE_PROPERTIES"
msgid "P&roperties"
@@ -146,19 +143,19 @@ msgstr "導覽(&V)"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "著色器 (Shader) 偵錯(&D)"
+msgstr "著色器除錯(&D)"
msgctxt "POPUP"
msgid "&Presets..."
-msgstr "先前設定(&P)..."
+msgstr "初始設定(&P)..."
msgctxt "ID_VIEW_PRESETS_MINIMAL"
msgid "&Minimal"
-msgstr "最小(&M)"
+msgstr "極簡(&M)"
msgctxt "ID_VIEW_PRESETS_COMPACT"
msgid "&Compact"
-msgstr "輕巧(&C)"
+msgstr "簡潔(&C)"
msgctxt "ID_VIEW_PRESETS_NORMAL"
msgid "&Normal"
@@ -194,11 +191,11 @@ msgstr "自動調整 (僅限解像度過大時) (&L)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "繪製器設定(&E)"
+msgstr "繪製器 (Renderer) 設定(&E)"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
-msgstr "抖動測試(&T)"
+msgstr "撕裂測試(&T)"
msgctxt "ID_VIEW_DISPLAY_RENDERER_STATS"
msgid "&Display Statistics"
@@ -378,7 +375,7 @@ msgstr "重設為最佳的繪製器設定(&O)"
msgctxt "POPUP"
msgid "Video &Frame"
-msgstr "視訊畫面(&V)"
+msgstr "視訊影格(&F)"
msgctxt "ID_VIEW_VF_HALF"
msgid "&Half Size"
@@ -412,17 +409,13 @@ msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
msgstr "由外貼齊視窗(&O)"
-msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
-msgid "&Keep Aspect Ratio"
-msgstr "維持長寬比例(&K)"
-
msgctxt "POPUP"
-msgid "Override &Aspect Ratio"
-msgstr "覆寫長寬比例(&A)"
+msgid "&Aspect Ratio"
+msgstr "長寬比(&A)"
-msgctxt "ID_ASPECTRATIO_SOURCE"
-msgid "&Default"
-msgstr "預設值(&D)"
+msgctxt "ID_ASPECTRATIO_DAR"
+msgid "&Default (DAR)"
+msgstr "預設 (DAR) (&D)"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -444,6 +437,10 @@ msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
msgstr "1&85:100"
+msgctxt "ID_ASPECTRATIO_SAR"
+msgid "Assume &square pixels (SAR)"
+msgstr "假設正方型像素 (SAR) (&s)"
+
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
msgstr "修正顯示器/桌面的長寬比例差異(&C)"
@@ -458,7 +455,7 @@ msgstr "增加大小(&I)"
msgctxt "ID_VIEW_DECSIZE"
msgid "&Decrease Size"
-msgstr "降低大小(&D)"
+msgstr "減少大小(&D)"
msgctxt "ID_VIEW_INCWIDTH"
msgid "I&ncrease Width"
@@ -466,7 +463,7 @@ msgstr "增加寬度(&N)"
msgctxt "ID_VIEW_DECWIDTH"
msgid "D&ecrease Width"
-msgstr "降低寬度(&E)"
+msgstr "減少寬度(&E)"
msgctxt "ID_VIEW_INCHEIGHT"
msgid "In&crease Height"
@@ -474,7 +471,7 @@ msgstr "增加高度(&C)"
msgctxt "ID_VIEW_DECHEIGHT"
msgid "Decre&ase Height"
-msgstr "降低高度(&A)"
+msgstr "減少高度(&A)"
msgctxt "ID_PANSCAN_MOVERIGHT"
msgid "Move &Right"
@@ -522,7 +519,7 @@ msgstr "當播放影片時(&V)"
msgctxt "ID_VIEW_OPTIONS"
msgid "&Options..."
-msgstr "設定選項(&O)..."
+msgstr "選項(&O)..."
msgctxt "POPUP"
msgid "&Play"
@@ -537,9 +534,25 @@ msgid "&Stop"
msgstr "停止(&S)"
msgctxt "ID_PLAY_FRAMESTEP"
-msgid "F&rame Step"
+msgid "Fra&me Step"
msgstr "單格步進(&R)"
+msgctxt "POPUP"
+msgid "&Repeat"
+msgstr "重複"
+
+msgctxt "ID_PLAY_REPEAT_FOREVER"
+msgid "F&orever"
+msgstr "永遠(&O)"
+
+msgctxt "ID_PLAY_REPEAT_ONEFILE"
+msgid "&File"
+msgstr "檔案(&F)"
+
+msgctxt "ID_PLAY_REPEAT_WHOLEPLAYLIST"
+msgid "&Playlist"
+msgstr "播放清單(&P)"
+
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
msgstr "降低頻率(&D)"
@@ -554,11 +567,11 @@ msgstr "重設頻率(&E)"
msgctxt "ID_FILTERS"
msgid "&Filters"
-msgstr "篩選器(&F)"
+msgstr "篩選器 (Filter) (&F)"
msgctxt "ID_SHADERS"
msgid "S&haders"
-msgstr "著色器 (Shaders) (&H)"
+msgstr "著色器 (Shader) (&H)"
msgctxt "ID_AUDIOS"
msgid "&Audio Track"
@@ -569,7 +582,7 @@ msgid "Su&btitle Track"
msgstr "字幕軌道(&B)"
msgctxt "ID_VIDEO_STREAMS"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "視訊軌道(&V)"
msgctxt "POPUP"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
index 287961260..9320b059a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
@@ -1,21 +1,25 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# Chien Wei Lin <cwlin0416@gmail.com>, 2016
# Jeff Huang <s8321414@gmail.com>, 2014
# kenelin <kenelin@gmail.com>, 2013
# Ken <ken670128@yahoo.com.tw>, 2015
# Peter Chen <petercpg@gmail.com>, 2014
# roytam1 <roytam@gmail.com>, 2014
+# Timo Liu <timoliu@gmail.com>, 2016
+# YukiSakura <nijiko_fukada@163.com>, 2015
# Zakk <zakk0610@gmail.com>, 2014
-# 洪嘉鴻 <jerry9030@gmail.com>, 2015
+# 孟邦 王, 2017
+# 洪嘉鴻 <jerry9030@gmail.com>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2015-08-06 16:05:43+0000\n"
-"PO-Revision-Date: 2015-08-09 09:13+0000\n"
-"Last-Translator: 洪嘉鴻 <jerry9030@gmail.com>\n"
+"POT-Creation-Date: 2016-10-17 00:35:36+0000\n"
+"PO-Revision-Date: 2017-02-23 13:06+0000\n"
+"Last-Translator: 孟邦 王\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/mpc-hc/mpc-hc/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,7 +53,7 @@ msgstr "正在完成..."
msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
msgid "Play Video"
-msgstr "播放影片"
+msgstr "播放視訊"
msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
msgid "Play Music"
@@ -67,10 +71,18 @@ msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
msgstr "內容"
+msgctxt "IDS_PLAY_LOOPMODE_FILE"
+msgid "File"
+msgstr "檔案"
+
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
msgstr "預設樣式(&D)"
+msgctxt "IDS_PLAY_LOOPMODE_PLAYLIST"
+msgid "Playlist"
+msgstr "播放清單"
+
msgctxt "IDS_FAVFILES"
msgid "Files"
msgstr "檔案"
@@ -123,6 +135,26 @@ msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
msgstr "如果繪製目標未被定義, SSA/ASS 字幕會參考視訊畫幀來繪製, 而其他文字字幕則會參考視窗畫面來繪製。"
+msgctxt "IDS_PLAYLOOPMODE_PLAYLIST"
+msgid "Repeat Mode: Playlist"
+msgstr "重播模式: 播放清單"
+
+msgctxt "IDS_PLAYLOOPMODE_FILE"
+msgid "Repeat Mode: File"
+msgstr "重播模式: 檔案"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_ON"
+msgid "Repeat Forever: On"
+msgstr "永遠重播: 開"
+
+msgctxt "IDS_PLAYLOOP_FOREVER_OFF"
+msgid "Repeat Forever: Off"
+msgstr "永遠重播: 關"
+
+msgctxt "IDS_PLAYLOOP_FOREVER"
+msgid "Repeat Forever"
+msgstr "永遠重播"
+
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
msgstr "永不 (最快的方式)"
@@ -137,11 +169,11 @@ msgstr "總是 (最慢的選項)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
-msgstr "不被某些裝置支援。在篩選器圖中總會出現兩個視訊解碼器。"
+msgstr "某些裝置不支援。在 Filter Graph 中總會出現兩個視訊解碼器。"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "除了在不同的視訊串流間切換時以外最快。篩選器圖中只有一個視訊解碼器。"
+msgstr "除了在不同的視訊串流間切換時以外最快。 Filter Graph 中只有一個視訊解碼器。"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -257,11 +289,11 @@ msgstr "現場"
msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
msgid "Can't add video capture filter to the graph"
-msgstr "不能加入視訊擷取篩選器至篩選器圖。"
+msgstr "不能加入視訊擷取篩選器至該 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "無法加入音訊擷取篩選器至篩選器圖。"
+msgstr "無法加入音訊擷取篩選器至該 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -469,7 +501,7 @@ msgstr "外部篩選器"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "播放::Shaders"
+msgstr "播放::著色器"
msgctxt "IDD_FILEPROPRES"
msgid "Resources"
@@ -497,7 +529,7 @@ msgstr "播放::全螢幕"
msgctxt "IDD_PPAGEAUDIORENDERER"
msgid "Internal Filters::Audio Renderer"
-msgstr ""
+msgstr "內部篩選器::音訊譜製器"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -517,35 +549,27 @@ msgstr "將會修正在圖示庫更新後被錯誤顯示的圖示。\n檔案關
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr "舊版繪製器"
+msgstr "舊版視訊繪製器"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr "覆疊合成器"
-
-msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
-msgid "Video Mixing Renderer 7 (windowed)"
-msgstr "VMR 7 (視窗)"
+msgstr "覆疊合成繪製器"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
msgstr "VMR 9 (視窗)"
-msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
-msgid "Video Mixing Renderer 7 (renderless)"
-msgstr "VMR 7 (無轉換)"
-
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
msgstr "VMR 9 (無轉換)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr "EVR"
+msgstr "增強視訊繪製器"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr "EVR 自訂呈現"
+msgstr "增強視訊繪製器 (自訂呈現)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
@@ -557,7 +581,7 @@ msgstr "無 (所有)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "無 (非壓縮)"
+msgstr "無 (未壓縮)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -587,17 +611,13 @@ msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
msgstr "播放程式::網頁介面"
-msgctxt "IDD_PPAGESUBDB"
-msgid "Subtitles::Database"
-msgstr "字幕::資料庫"
-
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
msgstr "詳細資訊"
msgctxt "IDD_FILEPROPCLIP"
msgid "Clip"
-msgstr "短片"
+msgstr "片段"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
@@ -611,17 +631,9 @@ msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
msgstr "總是以覆疊模式繪製。一般說來只允許使用 YUV 格式,但這不會進行任何 RGB 色彩轉換而直接呈現。這是最快速的繪製方法,而且是您唯一能確保以全螢幕鏡射輸出到電視的方法。"
-msgctxt "IDC_DSVMR7WIN"
-msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Windows XP 的預設繪製器。非常穩定,只比覆疊合成器慢一點。使用 DirectDraw,可以的話會在覆疊模式下運行。"
-
msgctxt "IDC_DSVMR9WIN"
-msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "只有在您安裝了 DirectX 9 之後才能用。它有著和 VMR-7 (視窗式) 相同的能力,但永遠不會使用覆疊模式繪製。因此這可能會比 VMR-7 (視窗式) 慢一點。"
-
-msgctxt "IDC_DSVMR7REN"
-msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "和 VMR-7 (視窗式) 相同,但藉助 MPC-HC 的配置呈現器顯示字幕。覆疊式視訊鏡射輸出將不會運作。建議使用「全彩」顯示桌面。"
+msgid "Only available if you have DirectX 9 installed. Very stable but it will never use Overlay rendering and because of this it may be a little slower than Overlay mixer."
+msgstr "僅在您有安裝 DirectX 9 時可用。非常穩定,但永遠不會使用 Overlay 繪圖,也因此可能會比 Overlay 混合器還要慢一點。"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
@@ -659,10 +671,6 @@ msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
msgstr "Real 自己的繪製器。SMIL 腳本檔可以運作, 但可能無法互動。使用 DirectDraw, 並且可以的話會在覆疊模式下運行。"
-msgctxt "IDC_RMDX7"
-msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "Real 引擎的輸出由基於 DX7 的 VMR-7 (無轉換) 配置呈現器繪製。"
-
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "Real 引擎的輸出由基於 DX9 的 VMR-9 (無轉換) 配置呈現器繪製。"
@@ -671,10 +679,6 @@ msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
msgstr "QuickTime 自己的繪製器。當視訊區域有變更大小或是部分被其它視窗蓋住時會稍微變慢。當覆疊模式不能用的時候會回復到 GDI。"
-msgctxt "IDC_QTDX7"
-msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "QuickTime 引擎的輸出由基於 DX7 的 VMR-7 (無轉換) 配置呈現器繪製。"
-
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
msgstr "QuickTime 引擎的輸出由基於 DX9 的 VMR-9 (無轉換) 配置呈現器繪製。"
@@ -741,7 +745,7 @@ msgstr "無 (非壓縮)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_INTERNAL_REND"
msgid "Internal Audio Renderer"
-msgstr ""
+msgstr "內部音訊譜製器"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -755,9 +759,13 @@ msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
msgstr "如要瀏覽器中檢視內嵌資源,您須要開啟網頁介面。\n\n如您只想儲存資訊,請使用「另存新檔」按鈕。"
-msgctxt "IDS_DOWNLOAD_SUBS"
-msgid "Download subtitles"
-msgstr "下載字幕"
+msgctxt "IDS_SUBTITLES_DOWNLOAD"
+msgid "Download Subtitles..."
+msgstr "下載字幕..."
+
+msgctxt "IDS_SUBTITLES_UPLOAD"
+msgid "Upload Subtitles..."
+msgstr "上傳字幕..."
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -815,6 +823,18 @@ msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
msgstr "繞過 D3D 的預設的垂直同步以減少畫面撕裂。"
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "調諧器掃描"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "字幕未載入或是未支援的繪製器。"
+
+msgctxt "IDC_CACHESHADERS"
+msgid "Stores compiled shaders in local AppData to speed up load time."
+msgstr "在本地端儲存已編輯的著色器來加速載入時間。"
+
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
msgstr "開啟 VTS_xx_0.ifo 並一同載入 VTS_xx_x.vob 這些檔案"
@@ -829,7 +849,7 @@ msgstr "使用 LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "使用 LAV Filters。因微軟的篩選器對此格式的支援更穩定而預設停用。\n如需啟用,請同時啟用作為來源和解碼以獲得較佳體驗。"
+msgstr "使用 LAV Filters。因微軟的篩選器對此格式的支援更穩定而預設關閉。\n如需開啟,請同時啟用作為來源和解碼以獲得較佳體驗。"
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -937,11 +957,11 @@ msgstr "選項"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "選擇著色器 (Shaders) (&S)..."
+msgstr "選擇著色器(&S)..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "著色器 (Shader) 偵錯(&D)... "
+msgstr "著色器除錯(&D)... "
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -952,11 +972,11 @@ msgid "&Organize Favorites..."
msgstr "組織我的最愛(&O)..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
-msgid "Shuffle"
+msgid "Sh&uffle"
msgstr "打亂"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
-msgid "Open file location"
+msgid "Ope&n file location"
msgstr "開啟檔案位置"
msgctxt "IDS_CONTROLS_CLOSING"
@@ -989,7 +1009,7 @@ msgstr "EDL 儲存"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "啟用影格時間校正"
+msgstr "開啟影格時間校正"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
@@ -1025,7 +1045,7 @@ msgstr "平移掃描 - 旋轉 Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "抖動測試"
+msgstr "撕裂測試"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1040,7 +1060,7 @@ msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgstr "縮放至 Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
-msgid "Hide on Fullscreen"
+msgid "&Hide on Fullscreen"
msgstr "全螢幕時隱藏"
msgctxt "IDS_CONTROLS_STOPPED"
@@ -1077,7 +1097,7 @@ msgstr "重新載入(&R)"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
-msgstr "啟用(&E)"
+msgstr "開啟(&E)"
msgctxt "IDS_PANSCAN_EDIT"
msgid "&Edit..."
@@ -1165,19 +1185,19 @@ msgstr "開啟 DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "設定 post-resize shader 時失敗"
+msgstr "設定 Post-resize 著色器失敗"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr "設定 pre-resize 及 post-resize shader 時失敗"
+msgstr "設定 Pre-resize 及 Post-resize 著色器失敗"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
-msgstr "當相關檔案被修改時 shader 將會被自動重新編譯。"
+msgstr "當相關檔案被修改時自動重新編譯著色器。"
msgctxt "IDS_SHADER_DLL_ERR_0"
msgid "Cannot load %s, pixel shaders will not work."
-msgstr "無法載入 %s, Pixel Shader 將無法運作。"
+msgstr "無法載入 %s, Pixel 著色器將無法運作。"
msgctxt "IDS_SHADER_DLL_ERR_1"
msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
@@ -1185,15 +1205,15 @@ msgstr "無法在 %s 裡面找到必要的函式進入點, Pixel Shader 將無
msgctxt "IDS_OSD_SHADERS_PRESET"
msgid "Shader preset: %s"
-msgstr "Shader 先期設定: %s"
+msgstr "著色器初始設定: %s"
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr "次一 Shader 先期設定"
+msgstr "下一個著色器初始設定"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr "前一 Shader 先期設定"
+msgstr "上一個著色器初始設定"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1228,7 +1248,7 @@ msgid "+%d%%"
msgstr "+%d%%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
-msgid "Add containing folder"
+msgid "Add containing &folder"
msgstr "加入包含的資料夾"
msgctxt "IDS_HW_INDICATOR"
@@ -1373,7 +1393,7 @@ msgstr "長寬比例 %d:%d"
msgctxt "IDS_PPAGEADVANCED_LOGGER"
msgid "Enables logging to file (requires restart)"
-msgstr "啟用日誌記錄檔案 (需重新啟動)"
+msgstr "開啟日誌記錄檔案 (需重新啟動)"
msgctxt "IDS_TIMER_REMAINING_TIME"
msgid "Remaining time"
@@ -1393,23 +1413,23 @@ msgstr "播放完後: 關閉"
msgctxt "IDS_FRAME_INIT_FAILED"
msgid "MPC-HC encountered a problem during initialization. With your help we might be able to fix the issue.\n\nDo you want to report it?"
-msgstr ""
+msgstr "MPC-HC 在初始化時遇到了一個問題。透過您的協助我們或許可以修復這個問題。\n\n您要回報這個問題嗎?"
msgctxt "IDS_TIME_SHIFT_TOOLTIP"
msgid "Enter a positive value if the audio is early, a negative value if it is late."
-msgstr ""
+msgstr "若音訊提早請輸入正值,若延遲則輸入負值。"
msgctxt "IDS_WEBUI_DISABLED_PREVIEW_MSG"
msgid "Preview is currently disabled. You can enable it in MPC-HC's options."
-msgstr "目前已停用預覽功能。您可以於 MPC-HC 的選項中將其啟用。"
+msgstr "目前已關閉預覽功能。您可以於 MPC-HC 的選項中將其開啟。"
msgctxt "IDS_WEBUI_PREVIEW_WARNING"
msgid "This option can be used to preview media files from remote location. Use it only on a properly secured private network.\n\nDo you really want to enable this option?"
-msgstr ""
+msgstr "這個選項允許由遠端預覽媒體檔案。僅能在安全的私有網路中使用。\n\n您確定要啟用此選項嗎?"
msgctxt "IDS_SUBTITLE_RENDERER_INTERNAL"
msgid "Internal Subtitle Renderer"
-msgstr ""
+msgstr "内部字幕繪製器"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1431,13 +1451,13 @@ msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
msgstr "影像已成功儲存"
-msgctxt "IDS_AG_LOAD_SUBTITLE"
-msgid "Load Subtitle"
-msgstr "載入字幕"
+msgctxt "IDS_AG_LOAD_SUBTITLES"
+msgid "Load Subtitles..."
+msgstr "載入字幕..."
-msgctxt "IDS_AG_SAVE_SUBTITLE"
-msgid "Save Subtitle"
-msgstr "儲存字幕"
+msgctxt "IDS_AG_SAVE_SUBTITLES"
+msgid "Save Subtitles..."
+msgstr "儲存字幕..."
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1513,11 +1533,11 @@ msgstr "儲存複件"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "最近的關鍵幀"
+msgstr "最後的關鍵幀"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "最接近的關鍵幀"
+msgstr "最近的關鍵幀"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
@@ -1537,7 +1557,7 @@ msgstr "在控制項上停留時顯示,隱藏在:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr "設定 pre-resize shader 時失敗"
+msgstr "設定 Pre-resize 著色器時失敗"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
@@ -1564,7 +1584,7 @@ msgid "Thumbnails saved successfully"
msgstr "縮圖已成功儲存"
msgctxt "IDS_MENU_VIDEO_STREAM"
-msgid "&Video Track"
+msgid "Vide&o Track"
msgstr "視訊軌道(&V)"
msgctxt "IDS_MENU_VIDEO_ANGLE"
@@ -1621,35 +1641,35 @@ msgstr "音訊延遲 -10ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
-msgstr "跳後一段 (小)"
+msgstr "跳至後一段 (小)"
msgctxt "IDS_MPLAYERC_24"
msgid "Jump Backward (small)"
-msgstr "跳前一段 (小)"
+msgstr "跳至前一段 (小)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "跳後一段 (中)"
+msgstr "跳至後一段 (中)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "跳前一段 (中)"
+msgstr "跳至前一段 (中)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
-msgstr "跳後一段 (大)"
+msgstr "跳至後一段 (大)"
msgctxt "IDS_MPLAYERC_28"
msgid "Jump Backward (large)"
-msgstr "跳前一段 (大)"
+msgstr "跳至前一段 (大)"
msgctxt "IDS_MPLAYERC_29"
msgid "Jump Forward (keyframe)"
-msgstr "跳後一段 (關鍵影格)"
+msgstr "跳至後一段 (關鍵影格)"
msgctxt "IDS_MPLAYERC_30"
msgid "Jump Backward (keyframe)"
-msgstr "跳前一段 (關鍵影格)"
+msgstr "跳至前一段 (關鍵影格)"
msgctxt "IDS_AG_NEXT"
msgid "Next"
@@ -1800,8 +1820,8 @@ msgid "PnS Dec Height"
msgstr "平移掃描 - 減少高度"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
-msgid "Downloading subtitle(s), please wait."
-msgstr "下載字幕中, 請稍候。"
+msgid "Downloading [%s] \"%s\""
+msgstr "正在下載 [%s] \"%s\""
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1817,7 +1837,7 @@ msgstr "有 %d 個字幕可用。"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "您要定期檢查 MPC-HC 的更新嗎?\n\n這個功能稍後可在設定選項裡的其它頁面停用。"
+msgstr "您要定期檢查 MPC-HC 的更新嗎?\n\n這個功能稍後可在設定選項裡的其它頁面關閉。"
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1993,11 +2013,11 @@ msgstr "上一段音軌"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle Track"
-msgstr ""
+msgstr "次一字幕軌"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle Track"
-msgstr ""
+msgstr "前一字幕軌"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
@@ -2025,11 +2045,11 @@ msgstr "上一段音軌 (DVD)"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle Track (DVD)"
-msgstr ""
+msgstr "次一字幕軌 (DVD)"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle Track (DVD)"
-msgstr ""
+msgstr "前一字幕軌 (DVD)"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
@@ -2063,11 +2083,11 @@ msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
msgid "Encrypted"
msgstr "已加密"
-msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgctxt "IDS_YES"
msgid "Yes"
msgstr "是"
-msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgctxt "IDS_NO"
msgid "No"
msgstr "否"
@@ -2193,7 +2213,7 @@ msgstr "DVD: 光碟片與解碼器的區碼不相容"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "這個選項是設計來避免抖動, 然而在播放時這也會阻礙 MPC-HC 顯示右鍵選單和對話框。\n\n您真的要開啟這個選項?"
+msgstr "這個選項是設計來避免撕裂, 然而在播放時這也會阻礙 MPC-HC 顯示右鍵選單和對話框。\n\n您真的要開啟這個選項?"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2219,17 +2239,9 @@ msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
msgstr "影像寬度"
-msgctxt "IDS_PPSDB_URLCORRECT"
-msgid "The URL appears to be correct!"
-msgstr "網址應該正確!"
-
-msgctxt "IDS_PPSDB_PROTOCOLERR"
-msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
-msgstr "通訊協定版本不合,請升級您的播放程式或是選擇不同的網址!"
-
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "長寬比例"
+msgstr "長寬比"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
@@ -2320,8 +2332,8 @@ msgid "The thumbnails would be too small, impossible to create the file.\n\nTry
msgstr "縮圖太小了,無法創建檔案。\n\n嘗試減少縮圖的數量或是增加整體大小。"
msgctxt "IDS_CANNOT_LOAD_SUB"
-msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "要載入字幕您必須變更視訊繪製器類型並重新開啟檔案。\n- DirectShow: VMR-7/VMR-9 (無轉換), EVR 自訂呈現, 同步, madVR 或是 Haali\n- RealMedia: 給 RealMedia 用的特殊繪製器, 或是透過 DirectShow 開啟\n- QuickTime: 給 QuickTime 用的 DX7 或 DX9 繪製器\n- ShockWave: n/a"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "要載入字幕您必須變更視訊繪製器類型並重新開啟檔案。\n- DirectShow: VMR-9 (無轉換), EVR 自訂呈現, 同步, madVR 或是 Haali\n- RealMedia: 給 RealMedia 用的特殊繪製器, 或是透過 DirectShow 開啟\n- QuickTime: 給 QuickTime 用的 DX7 或 DX9 繪製器\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2329,11 +2341,11 @@ msgstr "字幕檔案"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
-msgstr "長寬比例: %ld:%ld"
+msgstr "長寬比: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
-msgid "Aspect Ratio: Default"
-msgstr "長寬比例: 預設值"
+msgid "Aspect Ratio: Default (DAR)"
+msgstr "長寬比: 預設 (DAR)"
msgctxt "IDS_MAINFRM_70"
msgid "Audio delay: %I64d ms"
@@ -2357,7 +2369,7 @@ msgstr "QuickTime 尚未支援 X64 (沒有 Apple 的函式庫)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
-msgstr "無法建立篩選器圖 (Filter Graph) 物件"
+msgstr "無法建立 Filter Graph 物件"
msgctxt "IDS_MAINFRM_81"
msgid "Invalid argument"
@@ -2371,10 +2383,6 @@ msgctxt "IDS_MAINFRM_83"
msgid "Failed to render the file"
msgstr "無法繪製檔案"
-msgctxt "IDS_PPSDB_BADURL"
-msgid "Bad URL, could not locate subtitle database there!"
-msgstr "錯誤的網址, 無法定位字幕資料庫!"
-
msgctxt "IDS_AG_CHAPTER2"
msgid "Chapter: "
msgstr "章節: "
@@ -2521,7 +2529,7 @@ msgstr " (導演解說 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr "啟動DVD字幕"
+msgstr "開啟 DVD 字幕"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2533,7 +2541,7 @@ msgstr "增加垂直同步偏移量"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
-msgstr "已停用"
+msgstr "已關閉"
msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
msgid "Decrease VSync Offset"
@@ -2568,8 +2576,8 @@ msgid "Volume boost Max"
msgstr "最大音量增幅"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/randomize\tRandomize the playlist\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "用法: mpc-hc.exe \"路徑名稱\" [選項]\n\n\"路徑名稱\"\t要載入的主要檔案或資料夾。(可使用萬用字元, \"-\" 表示標準輸入)\n/dub \"音源名稱\"\t載入額外的音訊檔案\n/dubdelay \"檔案\"\t以平移 XXms 的時間載入額外的音訊檔案。\n\t\t(如果檔案含有 \"...DELAY XXms...\")\n/d3dfs\t\t在 D3D 全螢幕模式啟動繪製\n/sub \"字幕名稱\"\t載入額外的字幕檔\n/filter \"篩選器名\"\t從動態連結函式庫載入 DirectShow 篩選器。\n\t\t(允許萬用字元)\n/dvd\t\t執行 DVD 模式, \"路徑名稱\" 代表該 DVD 資料夾\n\t\t(選用)\n/dvdpos T#C\t從第 T 標題, 第 C 章節開始播放\n/dvdpos T#hh:mm\t從第 T 標題, 時間 hh:mm:ss 開始播放\n/cd\t\t載入音樂 CD 或是 (S)VCD 的所有音軌, \"路徑名稱\"\n\t\t表示光碟機路徑 (選用)\n/device\t\t開啟預設視訊裝置/open\t\t開啟檔案, 但不自動播放\n/play\t\t播放程式一啟動就播放檔案\n/close\t\t播放完畢後就關閉播放程式 (搭配 /play\n\t\t一起用才有效)\n/shutdown\t播放完之後關閉作業系統\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\t播放完後開啟資料夾的下個檔案\n/fullscreen\t以全螢幕模式啟動\n/minimized\t以最小化模式啟動\n/new\t\t使用新的播放程式實體\n/add\t\t新增 \"路徑名稱\" 到播放清單, 可與 /open 和 /play\n\t\t合併使用\n/randomize\tRandomize the playlist\n/regvid\t\t建立視訊格式檔案關聯\n/regaud\t\t建立音訊格式檔案關聯\n/regpl\t\t建立播放清單檔案關聯\n/regall\t\t建立所有支援格式的檔案關聯\n/unregall\t\t移除所有檔案關聯\n/start ms\t\t從第 ms 毫秒開始播放\n/startpos hh:mm:ss\t從時間 hh:mm:ss 開始播放\n/fixedsize w,h\t設定固定的視窗大小\n/monitor N\t在第 N 顯示器啟動, N 從 1 開始\n/audiorenderer N\t使用第 N 音訊譜製器啟動, N 從 1 開始\n\t\t(請見 \"輸出\" 設定)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\t於背景開啟 MPC-HC\n/webport N\tStart web interface on specified port\n/debug\t\t於視控調整功能 (OSD) 中顯示偵錯資訊\n/nocrashreporter\tDisable the crash reporter\n/slave \"hWnd\"\tUse MPC-HC as slave\n/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding\n\t\tOnly available for CUVID and DXVA2 (copy-back)\n/reset\t\t回復預設設定\n/help /h /?\t顯示命令列選項的說明\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]"
+msgstr "用法: mpc-hc.exe \"pathname\" [參數]"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2601,7 +2609,7 @@ msgstr "切換擷取列"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr "切換偵錯 Shader"
+msgstr "切換除錯著色器"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2617,7 +2625,7 @@ msgstr "縮放 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
-msgstr "次一長寬比先期設定"
+msgstr "下一個長寬比初始設定"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
@@ -2653,15 +2661,7 @@ msgstr "視訊畫面 - 切換縮放"
msgctxt "IDS_ENABLE_ALL_FILTERS"
msgid "&Enable all filters"
-msgstr "啟用所有篩選器(&E)"
-
-msgctxt "IDS_NAVIGATE_TUNERSCAN"
-msgid "Tuner scan"
-msgstr "調諧器掃描"
-
-msgctxt "IDS_SUBTITLES_ERROR"
-msgid "Subtitles are not loaded or unsupported renderer."
-msgstr "字幕未載入或是未支援的繪製器。"
+msgstr "開啟所有篩選器(&E)"
msgctxt "IDS_LOGO_AUTHOR"
msgid "Author unknown. Contact us if you made this logo!"
@@ -2789,23 +2789,23 @@ msgstr "編碼:"
msgctxt "IDS_DISABLE_ALL_FILTERS"
msgid "&Disable all filters"
-msgstr "停用所有篩選器(&D)"
+msgstr "關閉所有篩選器(&D)"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr "啟用所有音訊篩選器"
+msgstr "開啟所有音訊解碼器"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr "停用所有音訊篩選器"
+msgstr "關閉所有音訊解碼器"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
-msgstr "啟用所有視訊篩選器"
+msgstr "開啟所有視訊解碼器"
msgctxt "IDS_DISABLE_VIDEO_FILTERS"
msgid "Disable all video decoders"
-msgstr "停用所有視訊篩選器"
+msgstr "關閉所有視訊解碼器"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
@@ -3173,11 +3173,11 @@ msgstr "D3D 全螢幕: 關閉"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
-msgstr "停用桌面轉譯: 開啟"
+msgstr "關閉桌面轉譯: 開"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
msgid "Disable desktop composition: Off"
-msgstr "停用桌面轉譯: 關閉"
+msgstr "關閉桌面轉譯: 關"
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
@@ -3301,11 +3301,11 @@ msgstr "切換自訂的聲道對應"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
msgid "Custom channel mapping: On"
-msgstr "自訂的聲道對應: 開啟"
+msgstr "自訂聲道對應: 開"
msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
msgid "Custom channel mapping: Off"
-msgstr "自訂的聲道對應: 關閉"
+msgstr "自訂聲道對應: 關"
msgctxt "IDS_NORMALIZE"
msgid "Toggle normalization"
@@ -3411,10 +3411,6 @@ msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
msgstr "\"儲存影像\" 和 \"儲存縮圖\" 功能不能與覆疊合成繪製器一同運作。\n請至 MPC-HC 輸出選項中更改繪製器設定並重新開啟檔案。"
-msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
-msgid "Cannot connect to the online subtitles database."
-msgstr "無法連結線上字幕資料庫。"
-
msgctxt "IDS_MB_SHOW_EDL_EDITOR"
msgid "Do you want to activate the EDL editor?"
msgstr "您要啟用 EDL 編輯器嗎?"
@@ -3433,19 +3429,19 @@ msgstr "音訊"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
-msgstr "不能加入 %s 緩衝篩選器至篩選器圖。"
+msgstr "不能加入 %s 緩衝篩選器至 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
msgid "Can't connect the %s buffer filter to the graph."
-msgstr "無法連接 %s 緩衝篩選器至篩選器圖。"
+msgstr "無法連接 %s 緩衝篩選器至 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
msgid "Can't add the %s encoder filter to the graph."
-msgstr "不能加入 %s 編碼篩選器至篩選器圖。"
+msgstr "不能加入 %s 編碼篩選器至 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
msgid "Can't connect the %s encoder filter to the graph."
-msgstr "無法連接 %s 編碼篩選器至篩選器圖。"
+msgstr "無法連接 %s 編碼篩選器至 Filter Graph。"
msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
msgid "Can't set the compression format on the %s encoder filter."
@@ -3553,7 +3549,7 @@ msgstr "請在這裡輸入您所偏好的語言。\n例如,輸入: \"eng jap s
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "外部分離器可能有它們自己的語言偏好選項所以 MPC-HC 的預設行為並不改變它們內定的選擇。\n如果您想 MPC-HC 控制外部分離器的話請啟用這個選項。"
+msgstr "外部分離器可能有它們自己的語言偏好選項所以 MPC-HC 的預設行為並不改變它們內定的選擇。\n如果您想 MPC-HC 控制外部分離器的話請開啟這個選項。"
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
@@ -3601,9 +3597,377 @@ msgstr "設置"
msgctxt "IDS_SUBTITLE_RENDERER_VS_FILTER"
msgid "VSFilter / DirectVobSub"
-msgstr ""
+msgstr "VSFilter / DirectVobSub"
msgctxt "IDS_SUBTITLE_RENDERER_XY_SUB_FILTER"
msgid "XySubFilter"
+msgstr "XySubFilter"
+
+msgctxt "IDS_SUBDL_DLG_PROVIDER_COL"
+msgid "Provider"
+msgstr "提供者"
+
+msgctxt "IDS_SUBDL_DLG_HI_COL"
+msgid "Hearing Impaired"
+msgstr "聽力受損"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADS_COL"
+msgid "Downloads"
+msgstr "下載"
+
+msgctxt "IDS_SUBDL_DLG_SCORE_COL"
+msgid "Score"
+msgstr "評分"
+
+msgctxt "IDS_SUBDL_DLG_FAILED"
+msgid "Online subtitles search failed."
+msgstr "線上字幕搜尋失敗。"
+
+msgctxt "IDS_SUBDL_DLG_ABORTED"
+msgid "Online subtitles search aborted."
+msgstr "線上字幕搜尋已中止。"
+
+msgctxt "IDS_SUBDL_DLG_FOUND"
+msgid "Online subtitles search completed, %d subtitles found."
+msgstr "線上字幕搜尋已完成,共找到 %d 筆相符的字幕。"
+
+msgctxt "IDS_SUBDL_DLG_NOTFOUND"
+msgid "Online subtitles search completed, no subtitles found."
+msgstr "線上字幕搜尋已完成,找不到任何相符字幕。"
+
+msgctxt "IDS_SUBDL_DLG_TITLE"
+msgid "Download subtitles"
+msgstr "下載字幕"
+
+msgctxt "IDS_SUBDL_DLG_SEARCHING"
+msgid "Searching for subtitles online, please wait..."
+msgstr "正在由線上搜尋字幕,請稍候..."
+
+msgctxt "IDS_SUBDL_DLG_ABORTING"
+msgid "Online subtitles search aborting..."
+msgstr "正在中止線上字幕搜尋..."
+
+msgctxt "IDS_SUBUL_DLG_USERNAME_COL"
+msgid "Username"
+msgstr "使用者名稱"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_COL"
+msgid "Status"
+msgstr "狀態"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_READY"
+msgid "Ready..."
+msgstr "準備..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED"
+msgid "Not implemented."
+msgstr "尚未實作。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADING"
+msgid "Uploading..."
+msgstr "正在上傳..."
+
+msgctxt "IDS_SUBUL_DLG_STATUS_UPLOADED"
+msgid "Subtitles uploaded successfully."
+msgstr "字幕已成功上傳。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_FAILED"
+msgid "Subtitles upload failed."
+msgstr "上傳字幕失敗。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ABORTED"
+msgid "Subtitles upload aborted."
+msgstr "字幕上傳已中止。"
+
+msgctxt "IDS_SUBUL_DLG_STATUS_ALREADYEXISTS"
+msgid "Subtitles already exist."
+msgstr "字幕已存在。"
+
+msgctxt "IDS_SUBUL_DLG_UPLOADING"
+msgid "Uploading subtitles, please wait..."
+msgstr "正在上傳字幕,請稍候..."
+
+msgctxt "IDS_SUBUL_DLG_UPLOADED"
+msgid "Upload finished."
+msgstr "上傳已完成。"
+
+msgctxt "IDS_SUBUL_DLG_ABORTED"
+msgid "Upload aborted."
+msgstr "上傳已中止。"
+
+msgctxt "IDS_SUBUL_DLG_FAILED"
+msgid "Upload failed."
+msgstr "上傳失敗。"
+
+msgctxt "IDS_SUBMENU_DOWNLOAD"
+msgid "Download && Open"
+msgstr "下載並開啟"
+
+msgctxt "IDS_SUBMENU_SETUP"
+msgid "Setup"
+msgstr "安裝"
+
+msgctxt "IDS_SUBMENU_RESET"
+msgid "Reset"
+msgstr "重設"
+
+msgctxt "IDS_SUBMENU_MOVEUP"
+msgid "Move Up"
+msgstr "上移"
+
+msgctxt "IDS_SUBMENU_MOVEDOWN"
+msgid "Move Down"
+msgstr "下移"
+
+msgctxt "IDS_SUBMENU_OPENURL"
+msgid "Open URL"
+msgstr "開啟網址"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_COL"
+msgid "Languages"
+msgstr "語言"
+
+msgctxt "IDS_SUBPP_DLG_LANGUAGES_ERROR"
+msgid "ERROR: Internet connection could not be established."
+msgstr "錯誤: 無法建立網際網路。"
+
+msgctxt "IDS_SUB_CREDENTIALS_TITLE"
+msgid "Enter website credentials"
+msgstr "輸入網站憑證"
+
+msgctxt "IDS_SUB_CREDENTIALS_MSG"
+msgid "Enter your credentials to connect to: "
+msgstr "輸入您的憑證以連線至:"
+
+msgctxt "IDS_ASPECT_RATIO_SAR"
+msgid "Aspect Ratio: Assume square pixels (SAR)"
+msgstr "長寬比: 假設正方型像素 (SAR)"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADED"
+msgid "Downloaded [%s] \"%s\""
+msgstr "已下載 [%s] \"%s\""
+
+msgctxt "IDS_SUBUL_DLG_TITLE"
+msgid "Upload subtitles"
+msgstr "上傳字幕"
+
+msgctxt "IDS_SUBUL_DLG_CONFIRM"
+msgid "Are you sure you want to upload the subtitle file \"%s\"?"
+msgstr "您確定要上傳字幕檔案 \"%s\" 嗎?"
+
+msgctxt "IDS_SUBPP_DLG_FETCHING_LANGUAGES"
+msgid "Fetching supported languages..."
+msgstr "取得支援的語言..."
+
+msgctxt "IDS_SUB_CREDENTIALS_ERROR"
+msgid "Failed to log in on \"%S\" with username \"%S\".\n\nPlease enter the correct username and password or reset the credentials to log in as anonymous user."
+msgstr "登入 \"%S\" 使用使用者名稱 \"%S\" 失敗\n\n請輸入正確的使用者名稱及密碼或者重設使用匿名使用者登入。"
+
+msgctxt "IDS_SUB_AUTODL_IGNORE_TOOLTIP"
+msgid "Automatic search and download will be disabled for all media files whose path contains any of the patterns entered here.\nFor example, type: \"private dir\\videos|work\\\"."
+msgstr "將會關閉媒體檔所在的目錄中包含以下字詞的自動搜尋與下載功能。\n例如輸入 \"private dir\\videos|work\\\"。"
+
+msgctxt "IDS_CMD_PATHNAME"
+msgid "\"pathname\"\tThe main file or directory to be loaded\n\t\t(wildcards allowed, \"-\" denotes standard input)"
+msgstr "\"pathname\"\t要載入的主要檔案或目錄\n\t\t(允許使用萬用字元,\"-\" 代表標準輸入)"
+
+msgctxt "IDS_CMD_DUB"
+msgid "/dub \"dubname\"\tLoad an additional audio file"
+msgstr "/dub \"dubname\"\t載入額外的音訊檔"
+
+msgctxt "IDS_CMD_DUBDELAY"
+msgid "/dubdelay \"file\"\tLoad an additional audio file shifted with XXms\n\t\t(if the file contains \"...DELAY XXms...\")"
+msgstr "/dubdelay \"file\"\t載入額外的音訊檔並偏移 XXms\n\t\t(若檔案含有 \"...DELAY XXms...\")"
+
+msgctxt "IDS_CMD_D3DFS"
+msgid "/d3dfs\t\tStart rendering in D3D fullscreen mode"
+msgstr "/d3dfs\t\t開啟 D3D 全螢幕模式繪圖"
+
+msgctxt "IDS_CMD_SUB"
+msgid "/sub \"subname\"\tLoad an additional subtitle file"
+msgstr "/sub \"subname\"\t載入額外的字幕檔"
+
+msgctxt "IDS_CMD_FILTER"
+msgid "/filter \"filtername\"\tLoad DirectShow filters from a dynamic link library (wildcards allowed)"
+msgstr "/filter \"filtername\"\t從動態連結程式庫載入 DirectShow 篩選器 (允許使用萬用字元)"
+
+msgctxt "IDS_CMD_DVD"
+msgid "/dvd\t\tRun in DVD mode, \"pathname\" means the DVD folder (optional)"
+msgstr "/dvd\t\t使用 DVD 模式執行,\"pathname\" 為 DVD 的資料夾 (選填)"
+
+msgctxt "IDS_CMD_DVDPOS_TC"
+msgid "/dvdpos T#C\tStart playback at title T, chapter C"
+msgstr "/dvdpos T#C\t從標題 T 章節 C 開始播放"
+
+msgctxt "IDS_CMD_DVDPOS_TIME"
+msgid "/dvdpos T#P\tStart playback at title T, position P (hh:mm:ss)"
msgstr ""
+msgctxt "IDS_CMD_CD"
+msgid "/cd\t\tLoad all the tracks of an Audio CD or (S)VCD,\n\t\t\"pathname\" means the drive path (optional)"
+msgstr "/cd\t\t載入所有音樂 cd 或 (S)VCD 的音軌,\n\t\t\"pathname\" 為磁碟機路徑 (選填)"
+
+msgctxt "IDS_CMD_DEVICE"
+msgid "/device\t\tOpen the default video device"
+msgstr "/device\t\t開啟預設的視訊裝置"
+
+msgctxt "IDS_CMD_OPEN"
+msgid "/open\t\tOpen the file, don't automatically start playback"
+msgstr "/open\t\t開啟檔案,不自動播放"
+
+msgctxt "IDS_CMD_PLAY"
+msgid "/play\t\tStart playing the file as soon the player is launched"
+msgstr "/play\t\t播放器執行後即開始播放檔案"
+
+msgctxt "IDS_CMD_CLOSE"
+msgid "/close\t\tClose the player after playback (only works when used with /play)"
+msgstr "/close\t\t播放結束後關閉播放器 (需配合 /play 使用)"
+
+msgctxt "IDS_CMD_SHUTDOWN"
+msgid "/shutdown\tShutdown the operating system after playback"
+msgstr "/shutdown\t播放結束後關機"
+
+msgctxt "IDS_CMD_STANDBY"
+msgid "/standby\t\tPut the operating system in standby mode after playback"
+msgstr "/standby\t\t播放結束後進入待命模式"
+
+msgctxt "IDS_CMD_HIBERNATE"
+msgid "/hibernate\tHibernate operating system after playback"
+msgstr "/hibernate\t播放結束後進入睡眠模式"
+
+msgctxt "IDS_CMD_LOGOFF"
+msgid "/logoff\t\tLog off after playback"
+msgstr "/logoff\t\t播放結束後登出"
+
+msgctxt "IDS_CMD_LOCK"
+msgid "/lock\t\tLock workstation after playback"
+msgstr "/lock\t\t播放結束後鎖定"
+
+msgctxt "IDS_CMD_MONITOROFF"
+msgid "/monitoroff\tTurn off the monitor after playback"
+msgstr "/monitoroff\t播放結束後關閉螢幕"
+
+msgctxt "IDS_CMD_PLAYNEXT"
+msgid "/playnext\t\tOpen next file in the folder after playback"
+msgstr "/playnext\t\t播放結束後開啟資料夾的下一個檔案"
+
+msgctxt "IDS_CMD_FULLSCREEN"
+msgid "/fullscreen\tStart in fullscreen mode"
+msgstr "/fullscreen\t使用全螢幕模式啟動"
+
+msgctxt "IDS_CMD_MINIMIZED"
+msgid "/minimized\tStart in minimized mode"
+msgstr "/minimized\t使用最小化模式啟動"
+
+msgctxt "IDS_CMD_NEW"
+msgid "/new\t\tUse a new instance of the player"
+msgstr "/new\t\t使用新的程序開啟播放器"
+
+msgctxt "IDS_CMD_ADD"
+msgid "/add\t\tAdd \"pathname\" to playlist, can be combined with /open and /play"
+msgstr "/add\t\t加入 \"pathname\" 到播放清單,可與 /open 及 /play 合併使用"
+
+msgctxt "IDS_CMD_RANDOMIZE"
+msgid "/randomize\tRandomize the playlist"
+msgstr "/randomize\t隨機播放清單"
+
+msgctxt "IDS_CMD_REGVID"
+msgid "/regvid\t\tCreate file associations for video files"
+msgstr "/regvid\t\t建立視訊檔案關聯"
+
+msgctxt "IDS_CMD_REGAUD"
+msgid "/regaud\t\tCreate file associations for audio files"
+msgstr "/regaud\t\t建立音訊檔案關聯"
+
+msgctxt "IDS_CMD_REGPL"
+msgid "/regpl\t\tCreate file associations for playlist files"
+msgstr "/regpl\t\t建立播放清單檔案關聯"
+
+msgctxt "IDS_CMD_REGALL"
+msgid "/regall\t\tCreate file associations for all supported file types"
+msgstr "/regall\t\t建立所有支援的類型檔案關聯"
+
+msgctxt "IDS_CMD_UNREGALL"
+msgid "/unregall\t\tRemove all file associations"
+msgstr "/unregall\t\t移除所有檔案關聯"
+
+msgctxt "IDS_CMD_START"
+msgid "/start ms\t\tStart playing at \"ms\" (= milliseconds)"
+msgstr "/start ms\t\t從 \"ms\" (= 毫秒) 開始播放"
+
+msgctxt "IDS_CMD_STARTPOS"
+msgid "/startpos hh:mm:ss\tStart playing at position hh:mm:ss"
+msgstr "/startpos hh:mm:ss\t從位置 hh:mm:ss 開始播放"
+
+msgctxt "IDS_CMD_FIXEDSIZE"
+msgid "/fixedsize w,h\tSet a fixed window size"
+msgstr "/fixedsize w,h\t設定固定的視窗大小"
+
+msgctxt "IDS_CMD_MONITOR"
+msgid "/monitor N\tStart player on monitor N, where N starts from 1"
+msgstr "/monitor N\t於螢幕 N 啟動播放器,N 的範圍從 1 開始"
+
+msgctxt "IDS_CMD_AUDIORENDERER"
+msgid "/audiorenderer N\tStart using audiorenderer N, where N starts from 1 (see \"Output\" settings)"
+msgstr "/audiorenderer N\t使用音訊譜製器 N 啟動播放器,N 的範圍從 1 開始 (請參考 \"輸出\" 設定)"
+
+msgctxt "IDS_CMD_SHADERPRESET"
+msgid "/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset"
+msgstr "/shaderpreset \"Pr\"\t使用 \"Pr\" 著色器初始設定啟動播放器"
+
+msgctxt "IDS_CMD_PNS"
+msgid "/pns \"name\"\tSpecify Pan&Scan preset name to use"
+msgstr "/pns \"name\"\t指定要使用的 Pan&Scan 初始設定名稱"
+
+msgctxt "IDS_CMD_ICONASSOC"
+msgid "/iconsassoc\tReassociate format icons"
+msgstr "/iconsassoc\t重新關聯檔案格式圖示"
+
+msgctxt "IDS_CMD_NOFOCUS"
+msgid "/nofocus\t\tOpen MPC-HC in background"
+msgstr "/nofocus\t\t在背景開啟 MPC-HC"
+
+msgctxt "IDS_CMD_WEBPORT"
+msgid "/webport N\tStart web interface on specified port"
+msgstr "/webport N\t於指定埠號啟動網頁介面"
+
+msgctxt "IDS_CMD_DEBUG"
+msgid "/debug\t\tShow debug information in OSD"
+msgstr "/debug\t\t在 OSD 顯示除錯資訊"
+
+msgctxt "IDS_CMD_NOCRASHREPORTER"
+msgid "/nocrashreporter\tDisable the crash reporter"
+msgstr "/nocrashreporter\t關閉當機回報程式"
+
+msgctxt "IDS_CMD_SLAVE"
+msgid "/slave \"hWnd\"\tUse MPC-HC as slave"
+msgstr "/slave \"hWnd\"\t使用 MPC-HC 作為次要服務"
+
+msgctxt "IDS_CMD_HWGPU"
+msgid "/hwgpu \"index\"\tSet the index of the GPU used for hardware decoding.\n\t\tOnly available for CUVID and DXVA2 (copy-back)"
+msgstr "/hwgpu \"index\"\t設定要用來硬體解碼的 GPU 索引。\n\t\t僅支援 CUVID 及 DXVA2 (copy-back)"
+
+msgctxt "IDS_CMD_RESET"
+msgid "/reset\t\tRestore default settings"
+msgstr "/reset\t\t還原預設設定"
+
+msgctxt "IDS_CMD_HELP"
+msgid "/help /h /?\tShow help about command line switches"
+msgstr "/help /h /?\t顯示有關指令列參數的說明"
+
+msgctxt "IDS_PPAGEADVANCED_SCORE"
+msgid "Threshold value for subtitles score which are going to be automatically downloaded. Higher values means that more accurately matched subtitles will be loaded, lower values could result in incorrect subtitles being loaded, but there is no one perfect value. Pick one that works best for you."
+msgstr "用來決定是否自動下載字幕的字幕分數門檻值。較高的數值將只有準確符合的字幕會被載入,較低的數值可能會載入不正確的字幕,這沒有絕對沒問題的數值。請選擇您覺得最佳的數值。"
+
+msgctxt "IDS_PPAGE_FS_CLN_AUDIO_DELAY"
+msgid "Audio Delay (ms)"
+msgstr "音訊延遲 (毫秒)"
+
+msgctxt "IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE"
+msgid "Size in pixels of the default toolbar."
+msgstr "預設工具列字體大小 (像素)"
+
+msgctxt "IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR"
+msgid "Use legacy toolbar instead of new vectorized one."
+msgstr "使用舊版工具列取代新的向量版工具列。"
+
diff --git a/src/mpc-hc/mpcresources/SyncTranslations.vcxproj b/src/mpc-hc/mpcresources/SyncTranslations.vcxproj
index acf78b577..6dcf1c314 100644
--- a/src/mpc-hc/mpcresources/SyncTranslations.vcxproj
+++ b/src/mpc-hc/mpcresources/SyncTranslations.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
@@ -25,11 +25,10 @@
<Import Project="..\..\common.props" />
</ImportGroup>
<PropertyGroup>
- <BaseIntermediateOutputPath>$(IntDir)</BaseIntermediateOutputPath>
+ <BaseIntermediateOutputPath>$(IntDir)</BaseIntermediateOutputPath>
<NMakeBuildCommandLine>sync.bat Silent</NMakeBuildCommandLine>
- <NMakeCleanCommandLine>del *.rc 2> NUL</NMakeCleanCommandLine>
+ <NMakeCleanCommandLine>del *.rc 2&gt; NUL</NMakeCleanCommandLine>
<NMakeReBuildCommandLine>sync.bat Silent</NMakeReBuildCommandLine>
- <NMakePreprocessorDefinitions>WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project> \ No newline at end of file
diff --git a/src/mpc-hc/mpcresources/TranslationData.py b/src/mpc-hc/mpcresources/TranslationData.py
index 693b94d87..f3127ff65 100644
--- a/src/mpc-hc/mpcresources/TranslationData.py
+++ b/src/mpc-hc/mpcresources/TranslationData.py
@@ -1,4 +1,4 @@
-# (C) 2013 see Authors.txt
+# (C) 2013, 2016-2017 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -50,7 +50,7 @@ def detectEncoding(filename):
potHeader = u'''# MPC-HC - %s
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2017 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
@@ -129,7 +129,6 @@ class TranslationData:
context = None
id = None
str = None
- show = False
prevLineType = None
for line in f:
diff --git a/src/mpc-hc/mpcresources/TranslationDataIS.py b/src/mpc-hc/mpcresources/TranslationDataIS.py
index d56f00d7a..74ab1b07e 100644
--- a/src/mpc-hc/mpcresources/TranslationDataIS.py
+++ b/src/mpc-hc/mpcresources/TranslationDataIS.py
@@ -1,4 +1,4 @@
-# (C) 2013 see Authors.txt
+# (C) 2013, 2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -80,9 +80,11 @@ class TranslationDataIS(TranslationData):
s = self.strings.get((section + '_' + match.group(1), match.group(2).replace(u'%n', ur'\n')))
if not s:
s = match.group(2)
- line = '%s.%s=%s\r\n' % (config.get('Info', 'langShortName'), match.group(1), s.replace(ur'\n', u'%n'))
+ line = '%s.%s=%s\r\n' % (
+ config.get('Info', 'langShortName'), match.group(1), s.replace(ur'\n', u'%n'))
else:
- line = '%s.langid=%0.8d\r\n' % (config.get('Info', 'langShortName'), config.getint('Info', 'langId'))
+ line = '%s.langid=%0.8d\r\n' % (
+ config.get('Info', 'langShortName'), config.getint('Info', 'langId'))
fOut.write(line)
elif line == u'; English\r\n':
diff --git a/src/mpc-hc/mpcresources/UpdateIS.py b/src/mpc-hc/mpcresources/UpdateIS.py
index d8bf00e3d..5ec1b6822 100644
--- a/src/mpc-hc/mpcresources/UpdateIS.py
+++ b/src/mpc-hc/mpcresources/UpdateIS.py
@@ -1,4 +1,4 @@
-# (C) 2013, 2015 see Authors.txt
+# (C) 2013, 2015-2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -15,7 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import sys
import glob
from TranslationDataIS import *
@@ -37,7 +36,9 @@ def UpdateIS(normalizePOFile=True):
translationsConfigAndData.append((config, translationData))
- TranslationDataIS.translateIS(translationsConfigAndData, r'..\..\..\distrib\custom_messages.iss', r'..\..\..\distrib\custom_messages_translated.iss')
+ TranslationDataIS.translateIS(translationsConfigAndData,
+ r'..\..\..\distrib\custom_messages.iss',
+ r'..\..\..\distrib\custom_messages_translated.iss')
if __name__ == '__main__':
UpdateIS()
diff --git a/src/mpc-hc/mpcresources/UpdateISPOT.py b/src/mpc-hc/mpcresources/UpdateISPOT.py
index 62917687c..513d73263 100644
--- a/src/mpc-hc/mpcresources/UpdateISPOT.py
+++ b/src/mpc-hc/mpcresources/UpdateISPOT.py
@@ -1,4 +1,4 @@
-# (C) 2013, 2015 see Authors.txt
+# (C) 2013, 2015-2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -15,8 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import sys
-
from TranslationDataIS import *
diff --git a/src/mpc-hc/mpcresources/UpdatePOT.py b/src/mpc-hc/mpcresources/UpdatePOT.py
index 928e20ae9..c0e9c4c3d 100644
--- a/src/mpc-hc/mpcresources/UpdatePOT.py
+++ b/src/mpc-hc/mpcresources/UpdatePOT.py
@@ -1,4 +1,4 @@
-# (C) 2013, 2015 see Authors.txt
+# (C) 2013, 2015-2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -15,8 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import sys
-
from TranslationDataRC import *
diff --git a/src/mpc-hc/mpcresources/cfg/mpc-hc.bn.cfg b/src/mpc-hc/mpcresources/cfg/mpc-hc.bn.cfg
index 9d50668ff..ce80e88cd 100644
--- a/src/mpc-hc/mpcresources/cfg/mpc-hc.bn.cfg
+++ b/src/mpc-hc/mpcresources/cfg/mpc-hc.bn.cfg
@@ -1,5 +1,5 @@
[Info]
-langName: Bengali
+langName: Bengali
LangShortName: bn
langDefine: LANG_BENGALI, SUBLANG_DEFAULT
langDefineMFC: AFX_TARG_BEN
diff --git a/src/mpc-hc/mpcresources/cfg/mpc-hc.bs_BA.cfg b/src/mpc-hc/mpcresources/cfg/mpc-hc.bs_BA.cfg
new file mode 100644
index 000000000..baa5b941a
--- /dev/null
+++ b/src/mpc-hc/mpcresources/cfg/mpc-hc.bs_BA.cfg
@@ -0,0 +1,8 @@
+[Info]
+langName: Bosnian
+LangShortName: bs_BA
+langDefine: LANG_BOSNIAN, SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN
+langDefineMFC: AFX_TARG_BOS
+langID: 5146
+fileDesc: Bosnian language resource for MPC-HC
+font: FONT 8, "MS Shell Dlg", 400, 0, 0x1
diff --git a/src/mpc-hc/mpcresources/mpcresources.vcxproj b/src/mpc-hc/mpcresources/mpcresources.vcxproj
index 825fe9074..16cc6426c 100644
--- a/src/mpc-hc/mpcresources/mpcresources.vcxproj
+++ b/src/mpc-hc/mpcresources/mpcresources.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release Arabic|Win32">
<Configuration>Release Arabic</Configuration>
@@ -41,6 +41,14 @@
<Configuration>Release Bengali</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release Bosnian|Win32">
+ <Configuration>Release Bosnian</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release Bosnian|x64">
+ <Configuration>Release Bosnian</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release Catalan|Win32">
<Configuration>Release Catalan</Configuration>
<Platform>Win32</Platform>
@@ -359,6 +367,7 @@
<TargetName Condition="'$(Configuration)'=='Release Basque'">$(ProjectName).eu</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Belarusian'">$(ProjectName).be</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Bengali'">$(ProjectName).bn</TargetName>
+ <TargetName Condition="'$(Configuration)'=='Release Bosnian'">$(ProjectName).bs_BA</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Catalan'">$(ProjectName).ca</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Chinese Simplified'">$(ProjectName).zh_CN</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Chinese Traditional'">$(ProjectName).zh_TW</TargetName>
@@ -397,7 +406,11 @@
<TargetName Condition="'$(Configuration)'=='Release Vietnamese'">$(ProjectName).vi</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
+ <Lib>
+ <LinkTimeCodeGeneration>false</LinkTimeCodeGeneration>
+ </Lib>
<Link>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<GenerateDebugInformation>false</GenerateDebugInformation>
<NoEntryPoint>true</NoEntryPoint>
<SetChecksum>true</SetChecksum>
@@ -417,6 +430,9 @@
<ResourceCompile Include="mpc-hc.bn.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release Bengali'">true</ExcludedFromBuild>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.bs_BA.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)'!='Release Bosnian'">true</ExcludedFromBuild>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.ca.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release Catalan'">true</ExcludedFromBuild>
</ResourceCompile>
@@ -539,6 +555,12 @@
<ItemGroup>
<None Include="..\res\toolbar.bmp" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="SyncTranslations.vcxproj">
+ <Project>{904017f7-ee7a-49b6-a000-0d2fe5d5809a}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
diff --git a/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters b/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
index 5353d00c0..7da3208e0 100644
--- a/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
+++ b/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
@@ -20,6 +20,9 @@
<ResourceCompile Include="mpc-hc.bn.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.bs_BA.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.ca.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
diff --git a/src/mpc-hc/mpcresources/sync.py b/src/mpc-hc/mpcresources/sync.py
index de851e4a7..597fd7d1d 100644
--- a/src/mpc-hc/mpcresources/sync.py
+++ b/src/mpc-hc/mpcresources/sync.py
@@ -1,4 +1,4 @@
-# (C) 2015 see Authors.txt
+# (C) 2015-2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -25,20 +25,21 @@ from UpdatePOT import *
from UpdatePO import *
from UpdateRC import *
+
def processRC(file):
ret = file + '\n'
result = True
try:
ret += '--> Updating PO file\n'
UpdatePO(file)
- except Exception as e:
+ except Exception:
ret += ''.join(traceback.format_exception(*sys.exc_info()))
result = False
else:
try:
ret += '--> Updating RC file\n'
UpdateRC(file, False)
- except Exception as e:
+ except Exception:
ret += ''.join(traceback.format_exception(*sys.exc_info()))
result = False
@@ -54,12 +55,12 @@ if __name__ == '__main__':
results = []
for file in os.listdir('PO'):
if fnmatch.fnmatch(file, 'mpc-hc.*.menus.po'):
- results.append(pool.apply_async(processRC, [file[:-9]]));
+ results.append(pool.apply_async(processRC, [file[:-9]]))
pool.close()
for result in results:
- ret = result.get(True)
+ ret = result.get(15)
print ret[1]
if (not ret[0]):
os.system('pause')
diff --git a/src/mpc-hc/mpcresources/syncIS.py b/src/mpc-hc/mpcresources/syncIS.py
index 5b3be0ed9..fe27f15bd 100644
--- a/src/mpc-hc/mpcresources/syncIS.py
+++ b/src/mpc-hc/mpcresources/syncIS.py
@@ -1,4 +1,4 @@
-# (C) 2015 see Authors.txt
+# (C) 2015-2016 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -25,12 +25,13 @@ from UpdateISPOT import *
from UpdateISPO import *
from UpdateIS import *
+
def processPO(file):
ret = 'Updating PO file ' + file + '\n'
result = True
try:
UpdateISPO(file)
- except Exception as e:
+ except Exception:
ret += ''.join(traceback.format_exception(*sys.exc_info()))
result = False
@@ -42,16 +43,16 @@ if __name__ == '__main__':
UpdateISPOT()
print '----------------------'
- pool = Pool();
+ pool = Pool()
results = []
for file in os.listdir('PO'):
if fnmatch.fnmatch(file, 'mpc-hc.installer.*.strings.po'):
- results.append(pool.apply_async(processPO, [os.path.splitext(file)[0]]));
+ results.append(pool.apply_async(processPO, [os.path.splitext(file)[0]]))
pool.close()
for result in results:
- ret = result.get(True)
+ ret = result.get(15)
print ret[1]
if (not ret[0]):
os.system('pause')
diff --git a/src/mpc-hc/mplayerc.cpp b/src/mpc-hc/mplayerc.cpp
index 8c8e7bed6..abae7c2c0 100644
--- a/src/mpc-hc/mplayerc.cpp
+++ b/src/mpc-hc/mplayerc.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2017 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,32 +22,29 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "AboutDlg.h"
-#include <Tlhelp32.h>
-#include "MainFrm.h"
+#include "CmdLineHelpDlg.h"
+#include "CrashReporter.h"
#include "DSUtil.h"
+#include "FakeFilterMapper2.h"
+#include "FileAssoc.h"
#include "FileVersionInfo.h"
-#include "Struct.h"
#include "SysVersion.h"
-#include <winternl.h>
-#include <psapi.h>
#include "Ifo.h"
-#include "Monitors.h"
-#include "WinAPIUtils.h"
+#include "MainFrm.h"
+#include "MhookHelper.h"
+#include "PPageFormats.h"
+#include "PPageSheet.h"
#include "PathUtils.h"
-#include "FileAssoc.h"
+#include "Struct.h"
#include "UpdateChecker.h"
+#include "WebServer.h"
+#include "WinAPIUtils.h"
+#include "mpc-hc_config.h"
#include "winddk/ntddcdvd.h"
-#include "MhookHelper.h"
#include <afxsock.h>
#include <atlsync.h>
-#include <atlutil.h>
+#include <winternl.h>
#include <regex>
-#include <share.h>
-#include "mpc-hc_config.h"
-#include "../MathLibFix/MathLibFix.h"
-#include "CmdLineHelpDlg.h"
-#include "CrashReporter.h"
-
#define HOOKS_BUGS_URL _T("https://trac.mpc-hc.org/ticket/3739")
@@ -381,8 +378,9 @@ CStringA GetContentType(CString fn, CAtlList<CString>* redir)
if (s.Connect(
ProxyEnable ? ProxyServer : url.GetHostName(),
ProxyEnable ? ProxyPort : url.GetPortNumber())) {
- CStringA host = CStringA(url.GetHostName());
- CStringA path = CStringA(url.GetUrlPath()) + CStringA(url.GetExtraInfo());
+ CStringA host = url.GetHostName();
+ CStringA path = url.GetUrlPath();
+ path += url.GetExtraInfo();
if (ProxyEnable) {
path = "http://" + host + path;
@@ -1462,7 +1460,6 @@ BOOL CMPlayerCApp::InitInstance()
if (!IsDebuggerPresent()) {
CrashReporter::Enable();
}
- WorkAroundMathLibraryBug();
if (!HeapSetInformation(nullptr, HeapEnableTerminationOnCorruption, nullptr, 0)) {
TRACE(_T("Failed to enable \"terminate on corruption\" heap option, error %u\n"), GetLastError());
@@ -2021,9 +2018,11 @@ UINT CMPlayerCApp::GetVKFromAppCommand(UINT nAppCommand)
int CMPlayerCApp::ExitInstance()
{
- m_s->SaveSettings();
-
- m_s = nullptr;
+ // We might be exiting before m_s is initialized.
+ if (m_s) {
+ m_s->SaveSettings();
+ m_s = nullptr;
+ }
CMPCPngImage::CleanUp();
@@ -2145,7 +2144,7 @@ void CRemoteCtrlClient::OnReceive(int nErrorCode)
}
str.ReleaseBuffer(ret);
- TRACE(_T("CRemoteCtrlClient (OnReceive): %s\n"), CString(str));
+ TRACE(_T("CRemoteCtrlClient (OnReceive): %S\n"), str);
OnCommand(str);
@@ -2183,7 +2182,7 @@ CWinLircClient::CWinLircClient()
void CWinLircClient::OnCommand(CStringA str)
{
- TRACE(_T("CWinLircClient (OnCommand): %s\n"), CString(str));
+ TRACE(_T("CWinLircClient (OnCommand): %S\n"), str);
int i = 0, j = 0, repcnt = 0;
for (CStringA token = str.Tokenize(" ", i);
@@ -2205,7 +2204,7 @@ CUIceClient::CUIceClient()
void CUIceClient::OnCommand(CStringA str)
{
- TRACE(_T("CUIceClient (OnCommand): %s\n"), CString(str));
+ TRACE(_T("CUIceClient (OnCommand): %S\n"), str);
CStringA cmd;
int i = 0, j = 0;
diff --git a/src/mpc-hc/mplayerc.h b/src/mpc-hc/mplayerc.h
index a33191897..97cdf2ce8 100644
--- a/src/mpc-hc/mplayerc.h
+++ b/src/mpc-hc/mplayerc.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2015 see Authors.txt
+ * (C) 2006-2016 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -27,6 +27,7 @@
#include "EventDispatcher.h"
#include "DpiHelper.h"
+#include "AppSettings.h"
#include "RenderersSettings.h"
#include "resource.h"
@@ -76,7 +77,9 @@ enum {
WM_TUNER_SCAN_END,
WM_TUNER_STATS,
WM_TUNER_NEW_CHANNEL,
- WM_DVB_EIT_DATA_READY
+ WM_DVB_EIT_DATA_READY,
+ WM_LOADSUBTITLES,
+ WM_GETSUBTITLES
};
enum ControlType {
@@ -191,6 +194,5 @@ public:
#define AfxGetAppSettings() (*static_cast<CMPlayerCApp*>(AfxGetApp())->m_s.get())
#define AfxGetMyApp() static_cast<CMPlayerCApp*>(AfxGetApp())
-#define AfxGetMainFrame() dynamic_cast<CMainFrame*>(AfxGetMainWnd())
#define GetEventd() AfxGetMyApp()->m_eventd
diff --git a/src/mpc-hc/res/logo.0.png b/src/mpc-hc/res/logo.0.png
index bb89de1b6..252d9502d 100644
--- a/src/mpc-hc/res/logo.0.png
+++ b/src/mpc-hc/res/logo.0.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.1.png b/src/mpc-hc/res/logo.1.png
index d3de8e7a5..cc71d80cd 100644
--- a/src/mpc-hc/res/logo.1.png
+++ b/src/mpc-hc/res/logo.1.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.1_x64.png b/src/mpc-hc/res/logo.1_x64.png
index 6d25b507f..9e3af7a96 100644
--- a/src/mpc-hc/res/logo.1_x64.png
+++ b/src/mpc-hc/res/logo.1_x64.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.2.png b/src/mpc-hc/res/logo.2.png
index fe1193a92..e260873b7 100644
--- a/src/mpc-hc/res/logo.2.png
+++ b/src/mpc-hc/res/logo.2.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.2_x64.png b/src/mpc-hc/res/logo.2_x64.png
index 10f26fed9..4f54420ba 100644
--- a/src/mpc-hc/res/logo.2_x64.png
+++ b/src/mpc-hc/res/logo.2_x64.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.3.png b/src/mpc-hc/res/logo.3.png
index 897701a53..e4d23ae2e 100644
--- a/src/mpc-hc/res/logo.3.png
+++ b/src/mpc-hc/res/logo.3.png
Binary files differ
diff --git a/src/mpc-hc/res/logo.3_x64.png b/src/mpc-hc/res/logo.3_x64.png
index 71fb9c724..5ca5ec742 100644
--- a/src/mpc-hc/res/logo.3_x64.png
+++ b/src/mpc-hc/res/logo.3_x64.png
Binary files differ
diff --git a/src/mpc-hc/res/mpc-hc.rc2 b/src/mpc-hc/res/mpc-hc.rc2
index 30eb7cc7f..3d0aeb2d4 100644
--- a/src/mpc-hc/res/mpc-hc.rc2
+++ b/src/mpc-hc/res/mpc-hc.rc2
@@ -95,6 +95,12 @@ IDR_TB_STOP ICON "res\\tb_stop_16.ico"
IDI_AUDIOCD ICON "res\\Icon_41.ico"
IDI_DVD ICON "res\\Icon_114.ico"
IDI_UNKNOWN ICON "res\\Icon_116.ico"
+IDI_OPENSUBTITLES ICON "res\\subtitles\\favicon_opensubtitles.ico"
+IDI_PODNAPISI ICON "res\\subtitles\\favicon_podnapisi.ico"
+IDI_SUBDB ICON "res\\subtitles\\favicon_subdb.ico"
+IDI_TITLOVI ICON "res\\subtitles\\favicon_titlovi.ico"
+IDI_YSUBS ICON "res\\subtitles\\favicon_ysubs.ico"
+IDI_N24 ICON "res\\subtitles\\favicon_napisy24.ico"
/////////////////////////////////////////////////////////////////////////////
@@ -154,6 +160,15 @@ IDF_SHADER_EMPTY SHADER "res\\shaders\\empty.ps
IDF_SHADER_FINAL SHADER "res\\shaders\\final.psh"
IDF_SHADER_RESIZER SHADER "res\\shaders\\resizer.psh"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// SVG
+//
+
+IDF_SVG_TOOLBAR SVG "res\\toolbar.svg"
+
+
/////////////////////////////////////////////////////////////////////////////
//
// Version
diff --git a/src/mpc-hc/res/subtitles/favicon_napisy24.ico b/src/mpc-hc/res/subtitles/favicon_napisy24.ico
new file mode 100644
index 000000000..eb2449ec7
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_napisy24.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_opensubtitles.ico b/src/mpc-hc/res/subtitles/favicon_opensubtitles.ico
new file mode 100644
index 000000000..94024dfe9
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_opensubtitles.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_podnapisi.ico b/src/mpc-hc/res/subtitles/favicon_podnapisi.ico
new file mode 100644
index 000000000..0abfe5d4d
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_podnapisi.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_subdb.ico b/src/mpc-hc/res/subtitles/favicon_subdb.ico
new file mode 100644
index 000000000..5ac5a6178
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_subdb.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_titlovi.ico b/src/mpc-hc/res/subtitles/favicon_titlovi.ico
new file mode 100644
index 000000000..9fccbe456
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_titlovi.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_tvsubtitles.ico b/src/mpc-hc/res/subtitles/favicon_tvsubtitles.ico
new file mode 100644
index 000000000..4918c72bb
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_tvsubtitles.ico
Binary files differ
diff --git a/src/mpc-hc/res/subtitles/favicon_ysubs.ico b/src/mpc-hc/res/subtitles/favicon_ysubs.ico
new file mode 100644
index 000000000..6d4f9771e
--- /dev/null
+++ b/src/mpc-hc/res/subtitles/favicon_ysubs.ico
Binary files differ
diff --git a/src/mpc-hc/res/tickcross.png b/src/mpc-hc/res/tickcross.png
index 918858bbf..64b867867 100644
--- a/src/mpc-hc/res/tickcross.png
+++ b/src/mpc-hc/res/tickcross.png
Binary files differ
diff --git a/src/mpc-hc/res/toolbar.svg b/src/mpc-hc/res/toolbar.svg
new file mode 100644
index 000000000..17d14798a
--- /dev/null
+++ b/src/mpc-hc/res/toolbar.svg
@@ -0,0 +1,433 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="240"
+ height="16"
+ viewBox="0 0 240 16"
+ id="svg3341"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="toolbar.svg"
+ inkscape:export-filename="D:\src\mpc-hc\src\mpc-hc\res\toolbar2.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3343" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.0875"
+ inkscape:cx="144.97634"
+ inkscape:cy="-0.056865311"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:window-width="1680"
+ inkscape:window-height="966"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:snap-grids="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3353" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3346">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Calque 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3621)">
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4159"
+ sodipodi:sides="3"
+ sodipodi:cx="3"
+ sodipodi:cy="1039.3621"
+ sodipodi:r1="4.472136"
+ sodipodi:r2="2.236068"
+ sodipodi:arg1="2.0943951"
+ sodipodi:arg2="3.1415927"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 0.763932,1043.235 -2e-8,-7.7459 6.70820402,3.873 z"
+ inkscape:transform-center-x="-1.833329"
+ transform="matrix(1.6397794,0,0,1.4200907,1.7473283,-432.1263)"
+ inkscape:transform-center-y="-6.7848101e-005" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4161"
+ width="2.99999"
+ height="8.9999905"
+ x="20.000006"
+ y="1039.3621" />
+ <rect
+ y="1039.3621"
+ x="25.000006"
+ height="8.9999905"
+ width="2.99999"
+ id="rect4163"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4165"
+ width="7.9999905"
+ height="8.9999905"
+ x="36.000004"
+ y="1039.3621" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4167"
+ width="1"
+ height="7"
+ x="66"
+ y="1040.3621" />
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4169"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="0.66666139"
+ transform="matrix(1.3333251,0,0,2.0207177,-26.666069,-1058.4159)"
+ inkscape:transform-center-y="-3.0343961e-005" />
+ <path
+ inkscape:transform-center-y="-3.0343961e-005"
+ transform="matrix(1.3333251,0,0,2.0207177,-21.666069,-1058.4159)"
+ inkscape:transform-center-x="0.66666139"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4171"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star" />
+ <path
+ inkscape:transform-center-y="-3.0343961e-005"
+ transform="matrix(1.3333251,0,0,2.0207177,-11.666069,-1058.4159)"
+ inkscape:transform-center-x="0.66666139"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4173"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star" />
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4175"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="0.66666139"
+ transform="matrix(1.3333251,0,0,2.0207177,-6.666069,-1058.4159)"
+ inkscape:transform-center-y="-3.0343961e-005" />
+ <rect
+ y="-1047.3623"
+ x="-125"
+ height="7"
+ width="1"
+ id="rect4177"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,-1)" />
+ <path
+ transform="matrix(-1.3333251,0,0,-2.0207177,217.66606,3146.1402)"
+ inkscape:transform-center-x="-0.666658"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4179"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star" />
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4181"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="-0.666658"
+ transform="matrix(-1.3333251,0,0,-2.0207177,212.66606,3146.1402)" />
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4183"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="-0.666658"
+ transform="matrix(-1.3333251,0,0,-2.0207177,203.66606,3146.1402)" />
+ <path
+ transform="matrix(-1.3333251,0,0,-2.0207177,198.66606,3146.1402)"
+ inkscape:transform-center-x="-0.666658"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4185"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star" />
+ <rect
+ transform="scale(-1,-1)"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4187"
+ width="1.9999858"
+ height="6.9999857"
+ x="-149.99998"
+ y="-1047.3621" />
+ <rect
+ transform="scale(-1,-1)"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4189"
+ width="1"
+ height="7"
+ x="-153"
+ y="-1047.3623" />
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4191"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="-0.666658"
+ transform="matrix(-1.3333251,0,0,-2.0207177,251.66606,3146.1402)" />
+ <path
+ transform="matrix(2.6666533,0,0,4.04144,2.6676424,-3160.1988)"
+ inkscape:transform-center-x="1.3333156"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4179-5"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ inkscape:transform-center-y="-0.00016308799" />
+ <rect
+ transform="scale(-1,-1)"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4187-3"
+ width="3.9999909"
+ height="5.9999909"
+ x="-196"
+ y="-1047.3621" />
+ <rect
+ style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4181"
+ width="15.999992"
+ height="15.999992"
+ x="224"
+ y="1020.3621" />
+ <rect
+ style="fill:#f600ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4181-4"
+ width="15.999992"
+ height="15.999992"
+ x="208"
+ y="1020.3621" />
+ <rect
+ style="fill:#7200ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4181-4-8"
+ width="15.999992"
+ height="15.999992"
+ x="192"
+ y="1020.3621" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4230"
+ sodipodi:type="arc"
+ sodipodi:cx="200.42171"
+ sodipodi:cy="1044.3516"
+ sodipodi:rx="1.1333569"
+ sodipodi:ry="1.0653899"
+ sodipodi:start="4.7996554"
+ sodipodi:end="1.4835299"
+ sodipodi:open="true"
+ d="m 200.52049,1043.2902 a 1.1333569,1.0653899 0 0 1 1.03457,1.0614 1.1333569,1.0653899 0 0 1 -1.03457,1.0613" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.60000002;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4230-0"
+ sodipodi:type="arc"
+ sodipodi:cx="201.32703"
+ sodipodi:cy="1044.3516"
+ sodipodi:rx="2.2667139"
+ sodipodi:ry="2.1307797"
+ sodipodi:start="4.7996554"
+ sodipodi:end="1.4835299"
+ sodipodi:open="true"
+ d="m 201.52458,1042.2289 a 2.2667139,2.1307797 0 0 1 2.06916,2.1227 2.2667139,2.1307797 0 0 1 -2.06916,2.1226" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.69999999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4230-0-7"
+ sodipodi:type="arc"
+ sodipodi:cx="201.63358"
+ sodipodi:cy="1044.3519"
+ sodipodi:rx="4.5334277"
+ sodipodi:ry="4.2615595"
+ sodipodi:start="4.7996554"
+ sodipodi:end="1.4835299"
+ sodipodi:open="true"
+ d="m 202.02869,1040.1066 a 4.5334277,4.2615595 0 0 1 4.13831,4.2453 4.5334277,4.2615595 0 0 1 -4.13831,4.2454" />
+ <path
+ inkscape:transform-center-y="-0.00016308799"
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path4262"
+ sodipodi:sides="3"
+ sodipodi:cx="73"
+ sodipodi:cy="1040.3621"
+ sodipodi:r1="2"
+ sodipodi:r2="1"
+ sodipodi:arg1="3.1415927"
+ sodipodi:arg2="4.1887902"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:transform-center-x="1.3333156"
+ transform="matrix(2.6666533,0,0,4.04144,22.667642,-3160.1988)" />
+ <rect
+ y="-1047.3621"
+ x="-216"
+ height="5.9999909"
+ width="3.9999909"
+ id="rect4264"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,-1)" />
+ <path
+ transform="matrix(2.6666533,0,0,4.04144,38.667642,-3160.1988)"
+ inkscape:transform-center-x="1.3333156"
+ d="m 71,1040.3621 3,-1.7321 0,3.4641 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="4.1887902"
+ sodipodi:arg1="3.1415927"
+ sodipodi:r2="1"
+ sodipodi:r1="2"
+ sodipodi:cy="1040.3621"
+ sodipodi:cx="73"
+ sodipodi:sides="3"
+ id="path4266"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ inkscape:transform-center-y="-0.00016308799" />
+ <rect
+ transform="scale(-1,-1)"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4268"
+ width="3.9999909"
+ height="5.9999909"
+ x="-232"
+ y="-1047.3621" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 210,1038.3621 12,12"
+ id="path4276"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/mpc-hc/res/toolbarw7.png b/src/mpc-hc/res/toolbarw7.png
index c48b9c14c..4721b0882 100644
--- a/src/mpc-hc/res/toolbarw7.png
+++ b/src/mpc-hc/res/toolbarw7.png
Binary files differ
diff --git a/src/mpc-hc/res/web/404.html b/src/mpc-hc/res/web/404.html
index cc1c49e59..c90f0b5a0 100644
--- a/src/mpc-hc/res/web/404.html
+++ b/src/mpc-hc/res/web/404.html
@@ -6,9 +6,10 @@
<link rel="stylesheet" href="default.css">
<link rel="icon" href="favicon.ico">
</head>
- <body>
+ <body class="page-four-oh-four">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<h1>Page Not Found</h1>
<p>Sorry, but the page you were trying to view does not exist.</p>
diff --git a/src/mpc-hc/res/web/browser.html b/src/mpc-hc/res/web/browser.html
index f5b74955d..7292503c9 100644
--- a/src/mpc-hc/res/web/browser.html
+++ b/src/mpc-hc/res/web/browser.html
@@ -6,9 +6,10 @@
<link rel="stylesheet" href="default.css">
<link rel="icon" href="favicon.ico">
</head>
- <body>
+ <body class="page-file-browser">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<div>
<table class="browser-table">
diff --git a/src/mpc-hc/res/web/controls.html b/src/mpc-hc/res/web/controls.html
index 9a93c35fa..60a374635 100644
--- a/src/mpc-hc/res/web/controls.html
+++ b/src/mpc-hc/res/web/controls.html
@@ -7,9 +7,10 @@
<link rel="icon" href="favicon.ico">
<script src="javascript.js"></script>
</head>
-<body onload='controlsInit("[filepatharg]", [position], [duration], [state], [playbackrate], [reloadtime], [volumelevel], [muted])'>
+<body onload='controlsInit("[filepatharg]", [position], [duration], [state], [playbackrate], [reloadtime], [volumelevel], [muted])' class="page-controls">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<noscript>
<p>
diff --git a/src/mpc-hc/res/web/default.css b/src/mpc-hc/res/web/default.css
index f61bd41b9..f004c4803 100644
--- a/src/mpc-hc/res/web/default.css
+++ b/src/mpc-hc/res/web/default.css
@@ -1,41 +1,44 @@
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-img,legend{border:0}
-legend,td,th{padding:0}
+/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
+progress,sub,sup{vertical-align:baseline}
+button,hr,input,select{overflow:visible}
+[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}
-article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}
-audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
+article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}
+audio,canvas,progress,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none}
a{background-color:transparent}
-a:active,a:hover{outline:0}
-abbr[title]{border-bottom:1px dotted}
-b,optgroup,strong{font-weight:700}
+a:active,a:hover{outline-width:0}
+abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
+b,strong{font-weight:bolder}
dfn{font-style:italic}
h1{font-size:2em;margin:.67em 0}
-mark{background:#ff0;color:#000}
+mark{background-color:#ff0;color:#000}
small{font-size:80%}
-sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
-sup{top:-.5em}
+sub,sup{font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
+sup{top:-.5em}
+img{border-style:none}
svg:not(:root){overflow:hidden}
+code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
figure{margin:1em 40px}
hr{box-sizing:content-box;height:0}
-pre,textarea{overflow:auto}
-code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
-button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
-button{overflow:visible}
+button,input,select,textarea{font:inherit;margin:0}
+optgroup{font-weight:700}
button,select{text-transform:none}
-button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
-button[disabled],html input[disabled]{cursor:default}
+[type=button],[type=reset],[type=submit],button{cursor:pointer}
+[disabled]{cursor:default}
+[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
-input{line-height:normal}
-input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
-input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
-input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}
-input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
+button:-moz-focusring,input:-moz-focusring{outline:ButtonText dotted 1px}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
-/* END OF normalize.css 3.0.3 */
+legend{color:inherit;display:table;max-width:100%;white-space:normal}
+textarea{overflow:auto}
+[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
+[type=search]{-webkit-appearance:textfield}
+[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}
+/* END OF normalize.css v4.0.0 */
/* common */
@@ -104,6 +107,10 @@ img {
/* controls.html */
+td,
+th {
+ padding: 0;
+}
#slider {
background: url(img/sliderback.png) no-repeat;
width: 515px;
diff --git a/src/mpc-hc/res/web/img/1pix.png b/src/mpc-hc/res/web/img/1pix.png
index 5ac15e66a..ac576dd6e 100644
--- a/src/mpc-hc/res/web/img/1pix.png
+++ b/src/mpc-hc/res/web/img/1pix.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlback.png b/src/mpc-hc/res/web/img/controlback.png
index f93e51219..5434a9abb 100644
--- a/src/mpc-hc/res/web/img/controlback.png
+++ b/src/mpc-hc/res/web/img/controlback.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlbuttonplay.png b/src/mpc-hc/res/web/img/controlbuttonplay.png
index 1150f7a48..a9f57e03e 100644
--- a/src/mpc-hc/res/web/img/controlbuttonplay.png
+++ b/src/mpc-hc/res/web/img/controlbuttonplay.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlbuttonskipback.png b/src/mpc-hc/res/web/img/controlbuttonskipback.png
index b527090eb..ab8029dc5 100644
--- a/src/mpc-hc/res/web/img/controlbuttonskipback.png
+++ b/src/mpc-hc/res/web/img/controlbuttonskipback.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlbuttonskipforward.png b/src/mpc-hc/res/web/img/controlbuttonskipforward.png
index 0e6daede5..634798bc4 100644
--- a/src/mpc-hc/res/web/img/controlbuttonskipforward.png
+++ b/src/mpc-hc/res/web/img/controlbuttonskipforward.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlbuttonstep.png b/src/mpc-hc/res/web/img/controlbuttonstep.png
index ce8290d86..de5894dbd 100644
--- a/src/mpc-hc/res/web/img/controlbuttonstep.png
+++ b/src/mpc-hc/res/web/img/controlbuttonstep.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlbuttonstop.png b/src/mpc-hc/res/web/img/controlbuttonstop.png
index 8165f50f0..611548fe8 100644
--- a/src/mpc-hc/res/web/img/controlbuttonstop.png
+++ b/src/mpc-hc/res/web/img/controlbuttonstop.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlvolumebar.png b/src/mpc-hc/res/web/img/controlvolumebar.png
index 06cd68299..29743b99b 100644
--- a/src/mpc-hc/res/web/img/controlvolumebar.png
+++ b/src/mpc-hc/res/web/img/controlvolumebar.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlvolumegrip.png b/src/mpc-hc/res/web/img/controlvolumegrip.png
index 33a3b24ab..257061a05 100644
--- a/src/mpc-hc/res/web/img/controlvolumegrip.png
+++ b/src/mpc-hc/res/web/img/controlvolumegrip.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/controlvolumeoff.png b/src/mpc-hc/res/web/img/controlvolumeoff.png
index 13603ec9d..57b61e063 100644
--- a/src/mpc-hc/res/web/img/controlvolumeoff.png
+++ b/src/mpc-hc/res/web/img/controlvolumeoff.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/headerclose.png b/src/mpc-hc/res/web/img/headerclose.png
index 7b7fc5e08..762c44788 100644
--- a/src/mpc-hc/res/web/img/headerclose.png
+++ b/src/mpc-hc/res/web/img/headerclose.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/headericon.png b/src/mpc-hc/res/web/img/headericon.png
index f0bbda661..4ee0661a8 100644
--- a/src/mpc-hc/res/web/img/headericon.png
+++ b/src/mpc-hc/res/web/img/headericon.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/leftbottomside.png b/src/mpc-hc/res/web/img/leftbottomside.png
index d3b8db4f3..7097deaa3 100644
--- a/src/mpc-hc/res/web/img/leftbottomside.png
+++ b/src/mpc-hc/res/web/img/leftbottomside.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/leftside.png b/src/mpc-hc/res/web/img/leftside.png
index ababc72f5..d46796009 100644
--- a/src/mpc-hc/res/web/img/leftside.png
+++ b/src/mpc-hc/res/web/img/leftside.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/seekbargrip.png b/src/mpc-hc/res/web/img/seekbargrip.png
index 2f096c587..6273880fa 100644
--- a/src/mpc-hc/res/web/img/seekbargrip.png
+++ b/src/mpc-hc/res/web/img/seekbargrip.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/seekbarleft.png b/src/mpc-hc/res/web/img/seekbarleft.png
index 5c07d07f4..1170ef785 100644
--- a/src/mpc-hc/res/web/img/seekbarleft.png
+++ b/src/mpc-hc/res/web/img/seekbarleft.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/seekbarright.png b/src/mpc-hc/res/web/img/seekbarright.png
index cb3445372..a37a7d1a9 100644
--- a/src/mpc-hc/res/web/img/seekbarright.png
+++ b/src/mpc-hc/res/web/img/seekbarright.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/slidergrip.png b/src/mpc-hc/res/web/img/slidergrip.png
index 10d127faa..b15dd66d4 100644
--- a/src/mpc-hc/res/web/img/slidergrip.png
+++ b/src/mpc-hc/res/web/img/slidergrip.png
Binary files differ
diff --git a/src/mpc-hc/res/web/img/vbs.png b/src/mpc-hc/res/web/img/vbs.png
index 610c50bf1..5936c78db 100644
--- a/src/mpc-hc/res/web/img/vbs.png
+++ b/src/mpc-hc/res/web/img/vbs.png
Binary files differ
diff --git a/src/mpc-hc/res/web/index.html b/src/mpc-hc/res/web/index.html
index a5aecbbd3..4cede24c5 100644
--- a/src/mpc-hc/res/web/index.html
+++ b/src/mpc-hc/res/web/index.html
@@ -6,9 +6,10 @@
<link rel="stylesheet" href="default.css">
<link rel="icon" href="favicon.ico">
</head>
- <body>
+ <body class="page-index">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<p>Demo page; submit patches if you want this page updated.</p>
<p>And if you are already here, why don't you try sending a few commands to MPC-HC, just to see if it works :)</p>
diff --git a/src/mpc-hc/res/web/info.html b/src/mpc-hc/res/web/info.html
index 5788a8abe..9818a7651 100644
--- a/src/mpc-hc/res/web/info.html
+++ b/src/mpc-hc/res/web/info.html
@@ -2,13 +2,14 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <title>MPC-HC Web Server - Info</title>
+ <title>MPC-HC WebServer - Info</title>
<link rel="stylesheet" href="default.css">
<link rel="icon" href="favicon.ico">
</head>
- <body>
+ <body class="page-info">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<!-- The mpchc_np id is used by the mIRC and Python now playing snippet -->
<p id="mpchc_np">&laquo; MPC-HC v[version] &bull; [file] &bull; [position]/[duration] &bull; [size] &raquo;</p>
diff --git a/src/mpc-hc/res/web/javascript.js b/src/mpc-hc/res/web/javascript.js
index c508c4eb3..a14d7902b 100644
--- a/src/mpc-hc/res/web/javascript.js
+++ b/src/mpc-hc/res/web/javascript.js
@@ -30,7 +30,6 @@ var cpf;
var cp;
var s;
var m;
-var rpt;
var sb1;
var sb2;
var sb3;
@@ -61,7 +60,7 @@ function getOffsetX(m) {
function timeSyntax(ts) {
"use strict";
var b = "";
- for (var a = 0; a < ts.length; a++) {
+ for (var a = 0, len = ts.length; a < len; a++) {
switch (ts.charAt(a)) {
case "0":
b += "0";
@@ -167,7 +166,7 @@ function update(a, b) {
function pad(number, len) {
"use strict";
- var str = "" + number;
+ var str = String(number);
while (str.length < len) {
str = "0" + str;
}
@@ -240,7 +239,6 @@ function autoplay(a) {
}
var gg = " " + secondsToTS(cap, 5) + " ";
cp.innerHTML = gg;
- rpt = cap;
return true;
}
@@ -310,7 +308,7 @@ function controlsInit(_filePath, _curPos, _length, _state, _pbr, _eta, _volume,
}, 1000 * eta);
}
Live = len < 1;
- startTime = startTime - curPos;
+ startTime -= curPos;
rdirt = len * pbr / sliderSize;
rdirt = Math.floor(rdirt > 1000 ? 1000 : (rdirt < 300 ? 300 : rdirt));
cpf = getById("pos");
@@ -338,7 +336,6 @@ function controlsInit(_filePath, _curPos, _length, _state, _pbr, _eta, _volume,
vs1.onclick = vs2.onclick = vs3.onclick = volSliderClick;
sas.checked = true;
cp.innerHTML = cpf.value = secondsToTS(curPos, 5);
- rpt = curPos;
if (state === 2 && pbr !== 0) {
autoplay();
}
@@ -486,7 +483,7 @@ function loadSnapshot() {
"use strict";
var img = getById("snapshot");
if (img) {
- img.src = "snapshot.jpg" + "?" + snapshotCounter++;
+ img.src = "snapshot.jpg?" + snapshotCounter++;
}
}
diff --git a/src/mpc-hc/res/web/player.html b/src/mpc-hc/res/web/player.html
index 39f16ab83..9126b865b 100644
--- a/src/mpc-hc/res/web/player.html
+++ b/src/mpc-hc/res/web/player.html
@@ -7,9 +7,10 @@
<link rel="icon" href="favicon.ico">
<script src="javascript.js"></script>
</head>
- <body onload="playerInit()">
+ <body onload="playerInit()" class="page-player">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<noscript>
<p>
diff --git a/src/mpc-hc/res/web/variables.html b/src/mpc-hc/res/web/variables.html
index 5b448d0b1..4f60bda96 100644
--- a/src/mpc-hc/res/web/variables.html
+++ b/src/mpc-hc/res/web/variables.html
@@ -6,9 +6,10 @@
<link rel="stylesheet" href="default.css">
<link rel="icon" href="favicon.ico">
</head>
- <body>
+ <body class="page-variables">
<!--[if lt IE 8]>
- <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+ <div class="browser-warning"><strong>Warning!</strong> You are using an <strong>outdated</strong> browser.
+ Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<p id="file">[file]</p>
<p id="filepatharg">[filepatharg]</p>
diff --git a/src/mpc-hc/resource.h b/src/mpc-hc/resource.h
index d34bb49a1..422276e46 100644
--- a/src/mpc-hc/resource.h
+++ b/src/mpc-hc/resource.h
@@ -72,6 +72,7 @@
#define IDF_SHADER_RESIZER 700
#define IDF_SHADER_EMPTY 701
#define IDF_SHADER_FINAL 702
+#define IDF_SVG_TOOLBAR 703
#define ID_FILE_OPENMEDIA 800
#define ID_FILE_OPENDVDBD 801
#define ID_FILE_OPENDEVICE 802
@@ -81,11 +82,10 @@
#define ID_FILE_SAVE_IMAGE 806
#define ID_FILE_SAVE_IMAGE_AUTO 807
#define ID_FILE_SAVE_THUMBNAILS 808
-#define ID_FILE_LOAD_SUBTITLE 809
-#define ID_FILE_SAVE_SUBTITLE 810
-#define ID_FILE_ISDB_UPLOAD 811
-#define ID_FILE_ISDB_DOWNLOAD 812
-#define ID_FILE_ISDB_SEARCH 813
+#define ID_FILE_SUBTITLES_LOAD 809
+#define ID_FILE_SUBTITLES_SAVE 810
+#define ID_FILE_SUBTITLES_UPLOAD 811
+#define ID_FILE_SUBTITLES_DOWNLOAD 812
#define ID_FILE_PROPERTIES 814
#define ID_VIEW_OPTIONS 815
#define ID_FILE_EXIT 816
@@ -116,20 +116,20 @@
#define ID_VIEW_VF_ZOOM1 841
#define ID_VIEW_VF_ZOOM2 842
#define ID_VIEW_VF_SWITCHZOOM 843
-#define ID_VIEW_VF_KEEPASPECTRATIO 844
#define ID_VIEW_VF_COMPMONDESKARDIFF 845
#define ID_VIEW_EDITLISTEDITOR 846
#define ID_EDL_IN 847
#define ID_EDL_OUT 848
#define ID_EDL_NEWCLIP 849
#define ID_ASPECTRATIO_START 850
-#define ID_ASPECTRATIO_SOURCE 850
+#define ID_ASPECTRATIO_DAR 850
#define ID_ASPECTRATIO_4_3 851
#define ID_ASPECTRATIO_5_4 852
#define ID_ASPECTRATIO_16_9 853
#define ID_ASPECTRATIO_235_100 854
#define ID_ASPECTRATIO_185_100 855
-#define ID_ASPECTRATIO_END 858
+#define ID_ASPECTRATIO_SAR 856
+#define ID_ASPECTRATIO_END 856
#define ID_ASPECTRATIO_NEXT 859
#define ID_EDL_SAVE 860
#define ID_VIEW_RESET 861
@@ -293,6 +293,7 @@
#define IDD_MEDIATYPES_DLG 10002
#define IDD_SAVE_DLG 10004
#define IDD_SUBTITLEDL_DLG 10005
+#define IDD_SUBTITLEUP_DLG 10006
#define IDD_FILEPROPDETAILS 10010
#define IDD_FILEPROPCLIP 10011
#define IDD_PNSPRESET_DLG 10015
@@ -318,7 +319,6 @@
#define IDD_PPAGELOGO 10037
#define IDD_PPAGEOUTPUT 10039
#define IDD_PPAGEWEBSERVER 10040
-#define IDD_PPAGESUBDB 10042
#define IDD_SAVETEXTFILEDIALOGTEMPL 10043
#define IDD_SAVESUBTITLESFILEDIALOGTEMPL 10044
#define IDD_CAPTURE_DLG 10045
@@ -463,9 +463,7 @@
#define IDC_DSSYSDEF 12100
#define IDC_DSOLD 12101
#define IDC_DSOVERLAYMIXER 12102
-#define IDC_DSVMR7WIN 12103
#define IDC_DSVMR9WIN 12104
-#define IDC_DSVMR7REN 12105
#define IDC_DSVMR9REN 12106
#define IDC_DSDXR 12107
#define IDC_DSNULL_COMP 12108
@@ -475,10 +473,8 @@
#define IDC_DSMADVR 12112
#define IDC_DSSYNC 12113
#define IDC_RMSYSDEF 12120
-#define IDC_RMDX7 12121
#define IDC_RMDX9 12122
#define IDC_QTSYSDEF 12123
-#define IDC_QTDX7 12124
#define IDC_QTDX9 12125
#define IDC_REGULARSURF 12127
#define IDC_TEXTURESURF2D 12128
@@ -554,7 +550,9 @@
#define IDS_AUTOPLAY_PLAYAUDIOCD 14184
#define IDS_AUTOPLAY_PLAYDVDMOVIE 14185
#define IDS_PROPSHEET_PROPERTIES 14186
+#define IDS_PLAY_LOOPMODE_FILE 14187
#define IDS_SUBTITLES_DEFAULT_STYLE 14188
+#define IDS_PLAY_LOOPMODE_PLAYLIST 14189
#define IDS_FAVFILES 14190
#define IDS_FAVDVDS 14191
#define IDS_INFOBAR_CHANNEL 14192
@@ -568,6 +566,11 @@
#define IDS_STATSBAR_SIGNAL_FORMAT 14200
#define IDS_SUBTITLES_STYLES_CAPTION 14201
#define IDS_TEXT_SUB_RENDERING_TARGET 14202
+#define IDS_PLAYLOOPMODE_PLAYLIST 14203
+#define IDS_PLAYLOOPMODE_FILE 14204
+#define IDS_PLAYLOOP_FOREVER_ON 14205
+#define IDS_PLAYLOOP_FOREVER_OFF 14206
+#define IDS_PLAYLOOP_FOREVER 14207
#define IDD_TUNER_SCAN 20002
#define IDS_OSD_DISPLAY_RENDERER_STATS 20003
#define IDS_OSD_RESET_RENDERER_STATS 20004
@@ -584,6 +587,12 @@
#define IDD_SAVEIMAGEDIALOGTEMPL 20015
#define IDD_CMD_LINE_HELP 20016
#define IDD_CRASH_REPORTER 20017
+#define IDI_OPENSUBTITLES 21001
+#define IDI_PODNAPISI 21002
+#define IDI_SUBDB 21003
+#define IDI_TITLOVI 21004
+#define IDI_YSUBS 21005
+#define IDI_N24 21006
#define IDC_FULLSCREEN_MONITOR_CHECK 22002
#define IDC_SLI_CONTRAST 22003
#define IDC_RESET 22004
@@ -707,8 +716,8 @@
#define IDS_AG_SAVE_IMAGE 32882
#define IDS_MPLAYERC_6 32883
#define IDS_OSD_IMAGE_SAVED 32884
-#define IDS_AG_LOAD_SUBTITLE 32885
-#define IDS_AG_SAVE_SUBTITLE 32886
+#define IDS_AG_LOAD_SUBTITLES 32885
+#define IDS_AG_SAVE_SUBTITLES 32886
#define IDS_AG_PROPERTIES 32887
#define IDS_AG_EXIT 32888
#define IDS_AG_PLAYPAUSE 32889
@@ -911,9 +920,6 @@
#define IDS_THUMB_ROWNUMBER 33195
#define IDS_THUMB_COLNUMBER 33196
#define IDS_THUMB_IMAGE_WIDTH 33197
-#define IDS_PPSDB_URLCORRECT 33198
-#define IDS_PPSDB_PROTOCOLERR 33199
-#define IDS_PPSDB_BADURL 33200
#define IDS_AG_CHAPTER2 33201
#define IDS_VOLUME_OSD 33202
#define IDS_BOOST_OSD 33203
@@ -989,6 +995,7 @@
#define IDS_NAVIGATE_TUNERSCAN 33401
#define IDS_SUBTITLES_ERROR 33402
#define IDC_CHECK_ENHANCED_TASKBAR 33403
+#define IDC_CACHESHADERS 33404
#define ID_VIEW_SYNCHRONIZEVIDEO 33408
#define ID_VIEW_SYNCHRONIZEDISPLAY 33409
#define ID_VIEW_SYNCHRONIZENEAREST 33410
@@ -1018,6 +1025,9 @@
#define IDS_THUMB_THUMBNAILS 33446
#define IDS_THUMB_PIXELS 33447
#define IDS_TEXTFILE_ENC 33448
+#define ID_PLAY_REPEAT_FOREVER 33449
+#define ID_PLAY_REPEAT_ONEFILE 33450
+#define ID_PLAY_REPEAT_WHOLEPLAYLIST 33451
#define IDS_MFMT_AVI 39001
#define IDS_MFMT_MPEG 39002
#define IDS_MFMT_MPEGTS 39003
@@ -1103,8 +1113,8 @@
#define IDS_DVB_CHANNEL_NAME 41110
#define IDS_DVB_CHANNEL_FREQUENCY 41111
#define IDS_DVB_CHANNEL_ENCRYPTION 41112
-#define IDS_DVB_CHANNEL_ENCRYPTED 41113
-#define IDS_DVB_CHANNEL_NOT_ENCRYPTED 41114
+#define IDS_YES 41113
+#define IDS_NO 41114
#define IDS_DVB_CHANNEL_START_SCAN 41115
#define IDS_DVB_CHANNEL_STOP_SCAN 41116
#define IDS_DVB_TVNAV_SEERADIO 41117
@@ -1324,9 +1334,7 @@
#define IDS_ICONS_REASSOC_DLG_CONTENT 41411
#define IDS_PPAGE_OUTPUT_OLDRENDERER 41412
#define IDS_PPAGE_OUTPUT_OVERLAYMIXER 41413
-#define IDS_PPAGE_OUTPUT_VMR7WINDOWED 41414
#define IDS_PPAGE_OUTPUT_VMR9WINDOWED 41415
-#define IDS_PPAGE_OUTPUT_VMR7RENDERLESS 41416
#define IDS_PPAGE_OUTPUT_VMR9RENDERLESS 41417
#define IDS_PPAGE_OUTPUT_EVR 41418
#define IDS_PPAGE_OUTPUT_EVR_CUSTOM 41419
@@ -1352,7 +1360,8 @@
#define IDS_EMB_RESOURCES_VIEWER_NAME 41441
#define IDS_EMB_RESOURCES_VIEWER_TYPE 41442
#define IDS_EMB_RESOURCES_VIEWER_INFO 41443
-#define IDS_DOWNLOAD_SUBS 41444
+#define IDS_SUBTITLES_DOWNLOAD 41444
+#define IDS_SUBTITLES_UPLOAD 41445
#define IDS_SUBFILE_DELAY 41448
#define IDS_SPEEDSTEP_AUTO 41449
#define IDS_EXPORT_SETTINGS_NO_KEYS 41450
@@ -1468,14 +1477,107 @@
#define IDS_SUBTITLE_RENDERER_INTERNAL 57439
#define IDS_SUBTITLE_RENDERER_VS_FILTER 57440
#define IDS_SUBTITLE_RENDERER_XY_SUB_FILTER 57441
+#define IDS_SUBDL_DLG_PROVIDER_COL 57442
+#define IDS_SUBDL_DLG_HI_COL 57443
+#define IDS_SUBDL_DLG_DOWNLOADS_COL 57444
+#define IDS_SUBDL_DLG_SCORE_COL 57445
+#define IDS_SUBDL_DLG_FAILED 57446
+#define IDS_SUBDL_DLG_ABORTED 57447
+#define IDS_SUBDL_DLG_FOUND 57448
+#define IDS_SUBDL_DLG_NOTFOUND 57449
+#define IDS_SUBDL_DLG_TITLE 57450
+#define IDS_SUBDL_DLG_SEARCHING 57451
+#define IDS_SUBDL_DLG_ABORTING 57452
+#define IDS_SUBUL_DLG_USERNAME_COL 57453
+#define IDS_SUBUL_DLG_STATUS_COL 57454
+#define IDS_SUBUL_DLG_STATUS_READY 57455
+#define IDS_SUBUL_DLG_STATUS_NOTIMPLEMENTED 57456
+#define IDS_SUBUL_DLG_STATUS_UPLOADING 57457
+#define IDS_SUBUL_DLG_STATUS_UPLOADED 57458
+#define IDS_SUBUL_DLG_STATUS_FAILED 57459
+#define IDS_SUBUL_DLG_STATUS_ABORTED 57460
+#define IDS_SUBUL_DLG_STATUS_ALREADYEXISTS 57461
+#define IDS_SUBUL_DLG_UPLOADING 57462
+#define IDS_SUBUL_DLG_UPLOADED 57463
+#define IDS_SUBUL_DLG_ABORTED 57464
+#define IDS_SUBUL_DLG_FAILED 57465
+#define IDS_SUBMENU_DOWNLOAD 57466
+#define IDS_SUBMENU_SETUP 57467
+#define IDS_SUBMENU_RESET 57468
+#define IDS_SUBMENU_MOVEUP 57469
+#define IDS_SUBMENU_MOVEDOWN 57470
+#define IDS_SUBMENU_OPENURL 57471
+#define IDS_SUBPP_DLG_LANGUAGES_COL 57472
+#define IDS_SUBPP_DLG_LANGUAGES_ERROR 57473
+#define IDS_SUB_CREDENTIALS_TITLE 57474
+#define IDS_SUB_CREDENTIALS_MSG 57475
+#define IDS_ASPECT_RATIO_SAR 57476
+#define IDS_SUBDL_DLG_DOWNLOADED 57477
+#define IDS_SUBUL_DLG_TITLE 57478
+#define IDS_SUBUL_DLG_CONFIRM 57479
+#define IDS_SUBPP_DLG_FETCHING_LANGUAGES 57480
+#define IDS_SUB_CREDENTIALS_ERROR 57481
+#define IDS_SUB_AUTODL_IGNORE_TOOLTIP 57482
+#define IDS_CMD_PATHNAME 57483
+#define IDS_CMD_DUB 57484
+#define IDS_CMD_DUBDELAY 57485
+#define IDS_CMD_D3DFS 57486
+#define IDS_CMD_SUB 57487
+#define IDS_CMD_FILTER 57488
+#define IDS_CMD_DVD 57489
+#define IDS_CMD_DVDPOS_TC 57490
+#define IDS_CMD_DVDPOS_TIME 57491
+#define IDS_CMD_CD 57492
+#define IDS_CMD_DEVICE 57493
+#define IDS_CMD_OPEN 57494
+#define IDS_CMD_PLAY 57495
+#define IDS_CMD_CLOSE 57496
+#define IDS_CMD_SHUTDOWN 57497
+#define IDS_CMD_STANDBY 57498
+#define IDS_CMD_HIBERNATE 57499
+#define IDS_CMD_LOGOFF 57500
+#define IDS_CMD_LOCK 57501
+#define IDS_CMD_MONITOROFF 57502
+#define IDS_CMD_PLAYNEXT 57503
+#define IDS_CMD_FULLSCREEN 57504
+#define IDS_CMD_MINIMIZED 57505
+#define IDS_CMD_NEW 57506
+#define IDS_CMD_ADD 57507
+#define IDS_CMD_RANDOMIZE 57508
+#define IDS_CMD_REGVID 57509
+#define IDS_CMD_REGAUD 57510
+#define IDS_CMD_REGPL 57511
+#define IDS_CMD_REGALL 57512
+#define IDS_CMD_UNREGALL 57513
+#define IDS_CMD_START 57514
+#define IDS_CMD_STARTPOS 57515
+#define IDS_CMD_FIXEDSIZE 57516
+#define IDS_CMD_MONITOR 57517
+#define IDS_CMD_AUDIORENDERER 57518
+#define IDS_CMD_SHADERPRESET 57519
+#define IDS_CMD_PNS 57520
+#define IDS_CMD_ICONASSOC 57521
+#define IDS_CMD_NOFOCUS 57522
+#define IDS_CMD_WEBPORT 57523
+#define IDS_CMD_DEBUG 57524
+#define IDS_CMD_NOCRASHREPORTER 57525
+#define IDS_CMD_SLAVE 57526
+#define IDS_STRING944 57527
+#define IDS_CMD_HWGPU 57527
+#define IDS_CMD_RESET 57528
+#define IDS_CMD_HELP 57529
+#define IDS_PPAGEADVANCED_SCORE 57530
+#define IDS_PPAGE_FS_CLN_AUDIO_DELAY 57531
+#define IDS_PPAGEADVANCED_DEFAULTTOOLBARSIZE 57532
+#define IDS_PPAGEADVANCED_USE_LEGACY_TOOLBAR 57533
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 20018
-#define _APS_NEXT_COMMAND_VALUE 33449
-#define _APS_NEXT_CONTROL_VALUE 22081
+#define _APS_NEXT_COMMAND_VALUE 33452
+#define _APS_NEXT_CONTROL_VALUE 22086
#define _APS_NEXT_SYMED_VALUE 24044
#endif
#endif
diff --git a/src/mpc-hc/stdafx.h b/src/mpc-hc/stdafx.h
index df314e945..8f55ddd8c 100644
--- a/src/mpc-hc/stdafx.h
+++ b/src/mpc-hc/stdafx.h
@@ -21,11 +21,7 @@
#pragma once
-#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
-
-#ifndef STRICT_TYPED_ITEMIDS
-#define STRICT_TYPED_ITEMIDS
-#endif
+#include <SharedInclude.h>
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
@@ -36,19 +32,16 @@
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <afxdlgs.h>
-
-#include "SharedInclude.h"
-#include "mpc-hc_config.h"
-#include "DSUtil.h"
-
#include <algorithm>
#include <cmath>
#include <functional>
+#include <future>
#include <map>
-#include <set>
-#include <vector>
#include <memory>
+#include <regex>
+#include <set>
#include <utility>
+#include <vector>
// Workaround compilation errors when including GDI+ with NOMINMAX defined
namespace Gdiplus
@@ -58,38 +51,25 @@ namespace Gdiplus
};
#include <afxole.h>
+#include <afxinet.h>
#include <atlcoll.h>
#include <atlconv.h>
#include <atlimage.h>
#include <atlpath.h>
#include <atlsync.h>
+#include <atlutil.h>
#include <comdef.h>
#include <commdlg.h>
-#include <dlgs.h>
-#include <ks.h>
-#include <ksmedia.h>
-#include <mpconfig.h>
-#include <psapi.h>
-#include <shlobj.h>
-
#include <d3d9.h>
-#include <d3dx9.h>
-#include <dxva2api.h>
-#include <dvdevcod.h>
-#include <dsound.h>
-#include <evr.h>
#include <evr9.h>
#include <vmr9.h>
-#include <Il21dec.h>
-
#include "sizecbar/scbarg.h"
#include "ResizableLib/ResizableDialog.h"
+#include "BaseClasses/streams.h"
-#include "../Subtitles/RTS.h"
-#include "../Subtitles/STS.h"
-#include "../Subtitles/RLECodedSubtitle.h"
+#include "LcdSupport.h"
template <class T = CString, class S = CString>
class CAtlStringMap : public CAtlMap<S, T, CStringElementTraits<S>> {};
@@ -98,6 +78,6 @@ class CAtlStringMap : public CAtlMap<S, T, CStringElementTraits<S>> {};
#define CheckNoLog(x) hr = ##x; if (FAILED(hr)) { return hr; }
#define CheckNoLogBool(x) if (FAILED(x)) { return false; }
+#include "DSUtil.h"
+#include "mpc-hc_config.h"
#include "resource.h"
-#include "FakeFilterMapper2.h"
-#include "AppSettings.h"
diff --git a/src/platform.props b/src/platform.props
index 16b9dc9bd..48a049b28 100644
--- a/src/platform.props
+++ b/src/platform.props
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Configuration">
- <PlatformToolset Condition="'$(ANALYZE)'!='true'">v120_xp</PlatformToolset>
- <PlatformToolset Condition="'$(ANALYZE)'=='true'">v120</PlatformToolset>
+ <PlatformToolset Condition="'$(ANALYZE)'!='true'">v140_xp</PlatformToolset>
+ <PlatformToolset Condition="'$(ANALYZE)'=='true'">v140</PlatformToolset>
</PropertyGroup>
</Project>
diff --git a/src/thirdparty/AsyncReader/AsyncReader.vcxproj b/src/thirdparty/AsyncReader/AsyncReader.vcxproj
index 89677058c..4451075cc 100644
--- a/src/thirdparty/AsyncReader/AsyncReader.vcxproj
+++ b/src/thirdparty/AsyncReader/AsyncReader.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,65 +26,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/AsyncReader/AsyncReader.vcxproj.filters b/src/thirdparty/AsyncReader/AsyncReader.vcxproj.filters
index 3c5084604..1d92fb5a7 100644
--- a/src/thirdparty/AsyncReader/AsyncReader.vcxproj.filters
+++ b/src/thirdparty/AsyncReader/AsyncReader.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{fa80e2e7-af1c-4fe8-8023-725cf9d0c9e8}</UniqueIdentifier>
diff --git a/src/thirdparty/BaseClasses/BaseClasses.vcxproj b/src/thirdparty/BaseClasses/BaseClasses.vcxproj
index 3720a7b14..08b173e65 100644
--- a/src/thirdparty/BaseClasses/BaseClasses.vcxproj
+++ b/src/thirdparty/BaseClasses/BaseClasses.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,55 +34,13 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
diff --git a/src/thirdparty/BaseClasses/BaseClasses.vcxproj.filters b/src/thirdparty/BaseClasses/BaseClasses.vcxproj.filters
index 97711ea9e..604be0718 100644
--- a/src/thirdparty/BaseClasses/BaseClasses.vcxproj.filters
+++ b/src/thirdparty/BaseClasses/BaseClasses.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/DoctorDump/DoctorDump.vcxproj b/src/thirdparty/DoctorDump/DoctorDump.vcxproj
index 2988a1d1c..e72157f9a 100644
--- a/src/thirdparty/DoctorDump/DoctorDump.vcxproj
+++ b/src/thirdparty/DoctorDump/DoctorDump.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release Lite|Win32">
<Configuration>Release Lite</Configuration>
@@ -38,19 +38,14 @@
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x86\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x86 Lite\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x64\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">
- <OutDir>$(SolutionDir)bin\mpc-hc_x64 Lite\</OutDir>
+ <PropertyGroup>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\mpc-hc_x86\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|Win32'">$(SolutionDir)bin\mpc-hc_x86 Lite\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\mpc-hc_x64\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Lite|x64'">$(SolutionDir)bin\mpc-hc_x64 Lite\</OutDir>
</PropertyGroup>
<PropertyGroup>
+ <BaseIntermediateOutputPath>$(IntDir)</BaseIntermediateOutputPath>
<NMakeBuildCommandLine>$(ProjectDir)deploy.bat $(Platform) "$(OutDir)"</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(ProjectDir)deploy.bat $(Platform) "$(OutDir)"</NMakeReBuildCommandLine>
</PropertyGroup>
diff --git a/src/thirdparty/LAVFilters/LAVFilters.vcxproj b/src/thirdparty/LAVFilters/LAVFilters.vcxproj
index 249ce37d6..b1db2b29d 100644
--- a/src/thirdparty/LAVFilters/LAVFilters.vcxproj
+++ b/src/thirdparty/LAVFilters/LAVFilters.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,55 +26,22 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\lib\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\$(ProjectName)\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build_lavfilters.bat Build x86 Debug Silent Nocolors</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build_lavfilters.bat Rebuild x86 Debug Silent Nocolors</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build_lavfilters.bat Clean x86 Debug Silent Nocolors</NMakeCleanCommandLine>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\lib\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\$(ProjectName)\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build_lavfilters.bat Build x64 Debug Silent Nocolors</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build_lavfilters.bat Rebuild x64 Debug Silent Nocolors</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build_lavfilters.bat Clean x64 Debug Silent Nocolors</NMakeCleanCommandLine>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\lib\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\$(ProjectName)\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build_lavfilters.bat Build x86 Silent Nocolors</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build_lavfilters.bat Rebuild x86 Silent Nocolors</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build_lavfilters.bat Clean x86 Silent Nocolors</NMakeCleanCommandLine>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\lib\$(Configuration)_$(Platform)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\obj\$(Configuration)_$(Platform)\$(ProjectName)\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build_lavfilters.bat Build x64 Silent Nocolors</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build_lavfilters.bat Rebuild x64 Silent Nocolors</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build_lavfilters.bat Clean x64 Silent Nocolors</NMakeCleanCommandLine>
+ <BaseIntermediateOutputPath>$(IntDir)</BaseIntermediateOutputPath>
+ <NMakeBuildCommandLine>build_lavfilters.bat Build $(Platform) $(Configuration) Silent Nocolors</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>build_lavfilters.bat Rebuild $(Platform) $(Configuration) Silent Nocolors</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>build_lavfilters.bat Clean $(Platform) $(Configuration) Silent Nocolors</NMakeCleanCommandLine>
</PropertyGroup>
<ItemDefinitionGroup>
</ItemDefinitionGroup>
diff --git a/src/thirdparty/LAVFilters/LAVFilters.vcxproj.filters b/src/thirdparty/LAVFilters/LAVFilters.vcxproj.filters
index c2f3e01d1..b1464a583 100644
--- a/src/thirdparty/LAVFilters/LAVFilters.vcxproj.filters
+++ b/src/thirdparty/LAVFilters/LAVFilters.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/LAVFilters/build_ffmpeg.sh b/src/thirdparty/LAVFilters/build_ffmpeg.sh
index 586efb74f..57a8bd790 100755
--- a/src/thirdparty/LAVFilters/build_ffmpeg.sh
+++ b/src/thirdparty/LAVFilters/build_ffmpeg.sh
@@ -3,6 +3,8 @@
echo "$(pwd)" | grep -q '[[:blank:]]' &&
echo "Out of tree builds are impossible with whitespace in source path." && exit 1
+bin_folder=bin
+
if [ "${1}" == "x64" ]; then
arch=x86_64
archdir=x64
@@ -18,24 +20,20 @@ else
fi
if [ "${2}" == "Debug" ]; then
- FFMPEG_DLL_PATH=$(readlink -f ../../..)/bin/${mpc_hc_folder}_Debug/${lav_folder}
+ FFMPEG_DLL_PATH=$(readlink -f ../../..)/${bin_folder}/${mpc_hc_folder}_Debug/${lav_folder}
BASEDIR=$(pwd)/src/bin_${archdir}d
else
- FFMPEG_DLL_PATH=$(readlink -f ../../..)/bin/${mpc_hc_folder}/${lav_folder}
+ FFMPEG_DLL_PATH=$(readlink -f ../../..)/${bin_folder}/${mpc_hc_folder}/${lav_folder}
BASEDIR=$(pwd)/src/bin_${archdir}
fi
THIRDPARTYPREFIX=${BASEDIR}/thirdparty
FFMPEG_BUILD_PATH=${THIRDPARTYPREFIX}/ffmpeg
FFMPEG_LIB_PATH=${BASEDIR}/lib
-DCADEC_SOURCE_PATH=$(pwd)/src/thirdparty/dcadec
-DCADEC_BUILD_PATH=${THIRDPARTYPREFIX}/dcadec
-export PKG_CONFIG_PATH="${DCADEC_BUILD_PATH}"
make_dirs() {
mkdir -p ${FFMPEG_LIB_PATH}
mkdir -p ${FFMPEG_BUILD_PATH}
- mkdir -p ${DCADEC_BUILD_PATH}
mkdir -p ${FFMPEG_DLL_PATH}
}
@@ -61,21 +59,10 @@ configure() {
--disable-static \
--enable-version3 \
--enable-w32threads \
- --disable-demuxer=asf \
--disable-demuxer=matroska \
--disable-filters \
- --enable-filter=yadif \
- --enable-filter=scale \
- --disable-protocols \
- --enable-protocol=file \
- --enable-protocol=pipe \
- --enable-protocol=mmsh \
- --enable-protocol=mmst \
- --enable-protocol=rtp \
- --enable-protocol=http \
- --enable-protocol=crypto \
- --enable-protocol=rtmp \
- --enable-protocol=rtmpt \
+ --enable-filter=scale,yadif,w3fdif \
+ --disable-protocol=async,cache,concat,httpproxy,icecast,md5,subfile \
--disable-muxers \
--enable-muxer=spdif \
--disable-hwaccels \
@@ -84,8 +71,7 @@ configure() {
--enable-hwaccel=vc1_dxva2 \
--enable-hwaccel=wmv3_dxva2 \
--enable-hwaccel=mpeg2_dxva2 \
- --disable-decoder=dca \
- --enable-libdcadec \
+ --enable-hwaccel=vp9_dxva2 \
--enable-libspeex \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
@@ -103,7 +89,7 @@ configure() {
--build-suffix=-lav \
--arch=${arch}"
- EXTRA_CFLAGS="-D_WIN32_WINNT=0x0502 -DWINVER=0x0502 -I../../../thirdparty/include"
+ EXTRA_CFLAGS="-fno-tree-vectorize -D_WIN32_WINNT=0x0502 -DWINVER=0x0502 -I../../../thirdparty/include"
EXTRA_LDFLAGS=""
if [ "${arch}" == "x86_64" ]; then
OPTIONS="${OPTIONS} --enable-cross-compile --cross-prefix=${cross_prefix} --target-os=mingw32 --pkg-config=pkg-config"
@@ -150,19 +136,6 @@ configureAndBuild() {
cd ${BASEDIR}
}
-build_dcadec() {
- cd ${DCADEC_BUILD_PATH}
- make -f "${DCADEC_SOURCE_PATH}/Makefile" -j$NUMBER_OF_PROCESSORS CONFIG_WINDOWS=1 CONFIG_SMALL=1 CC=${cross_prefix}gcc AR=${cross_prefix}ar lib
- make -f "${DCADEC_SOURCE_PATH}/Makefile" PREFIX="${THIRDPARTYPREFIX}" LIBDIR="${DCADEC_BUILD_PATH}/libdcadec" INCLUDEDIR="${DCADEC_SOURCE_PATH}" dcadec.pc
- cd ${BASEDIR}
-}
-
-clean_dcadec() {
- cd ${DCADEC_BUILD_PATH}
- make -f "${DCADEC_SOURCE_PATH}/Makefile" CONFIG_WINDOWS=1 clean
- cd ${BASEDIR}
-}
-
echo Building ffmpeg in GCC ${arch} Release config...
make_dirs
@@ -170,7 +143,6 @@ make_dirs
CONFIGRETVAL=0
if [ "${3}" == "Clean" ]; then
- clean_dcadec
clean
CONFIGRETVAL=$?
else
@@ -181,15 +153,12 @@ else
CLEANBUILD=1
fi
- build_dcadec
-
configureAndBuild
## In case of error and only if we didn't start with a clean build,
## we try to rebuild from scratch including a full reconfigure
if [ ! ${CONFIGRETVAL} -eq 0 ] && [ ${CLEANBUILD} -eq 0 ]; then
echo Trying again with forced reconfigure...
- clean_dcadec && build_dcadec
clean && configureAndBuild
fi
fi
diff --git a/src/thirdparty/LAVFilters/build_lavfilters.bat b/src/thirdparty/LAVFilters/build_lavfilters.bat
index 87c2c411a..dcfde96dd 100755
--- a/src/thirdparty/LAVFilters/build_lavfilters.bat
+++ b/src/thirdparty/LAVFilters/build_lavfilters.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2013-2015 see Authors.txt
+REM (C) 2013-2016 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -52,7 +52,7 @@ FOR %%G IN (%ARG%) DO (
IF /I "%%G" == "x64" SET "ARCH=x64" & SET /A ARGPL+=1
IF /I "%%G" == "Debug" SET "RELEASETYPE=Debug" & SET /A ARGBC+=1
IF /I "%%G" == "Release" SET "RELEASETYPE=Release" & SET /A ARGBC+=1
- IF /I "%%G" == "VS2013" SET "COMPILER=VS2013" & SET /A ARGCOMP+=1
+ IF /I "%%G" == "VS2015" SET "COMPILER=VS2015" & SET /A ARGCOMP+=1
IF /I "%%G" == "Silent" SET "SILENT=True" & SET /A VALID+=1
IF /I "%%G" == "Nocolors" SET "NOCOLORS=True" & SET /A VALID+=1
)
@@ -65,10 +65,10 @@ IF %VALID% NEQ %INPUT% GOTO UnsupportedSwitch
IF %ARGB% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGB% == 0 (SET "BUILDTYPE=Build")
IF %ARGPL% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGPL% == 0 (SET "ARCH=Both")
IF %ARGBC% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGBC% == 0 (SET "RELEASETYPE=Release")
-IF %ARGCOMP% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGCOMP% == 0 (SET "COMPILER=VS2013")
+IF %ARGCOMP% GTR 1 (GOTO UnsupportedSwitch) ELSE IF %ARGCOMP% == 0 (SET "COMPILER=VS2015")
-IF NOT DEFINED VS120COMNTOOLS GOTO MissingVar
-SET "TOOLSET=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
+IF NOT DEFINED VS140COMNTOOLS GOTO MissingVar
+SET "TOOLSET=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
SET "BIN_DIR=%ROOT_DIR%\bin"
IF /I "%ARCH%" == "Both" (
@@ -105,7 +105,7 @@ EXIT /B
:End
-IF %ERRORLEVEL% NEQ 0 EXIT /B
+IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
TITLE Compiling LAV Filters %COMPILER% [FINISHED]
SET END_TIME=%TIME%
CALL "%COMMON%" :SubGetDuration
@@ -121,9 +121,9 @@ IF %ERRORLEVEL% NEQ 0 EXIT /B
IF /I "%ARCH%" == "x86" (SET "ARCHVS=Win32") ELSE (SET "ARCHVS=x64")
REM Build FFmpeg
-sh build_ffmpeg.sh %ARCH% %RELEASETYPE% %BUILDTYPE%
+sh build_ffmpeg.sh %ARCH% %RELEASETYPE% %BUILDTYPE% %COMPILER%
IF %ERRORLEVEL% NEQ 0 (
- CALL "%COMMON%" :SubMsg "ERROR" "'sh build_ffmpeg.sh %ARCH% %RELEASETYPE% %BUILDTYPE%' failed!"
+ CALL "%COMMON%" :SubMsg "ERROR" "'sh build_ffmpeg.sh %ARCH% %RELEASETYPE% %BUILDTYPE% %COMPILER%' failed!"
EXIT /B
)
@@ -203,13 +203,13 @@ CALL "%COMMON%" :SubMsg "ERROR" "LAV Filters compilation failed!" & EXIT /B 1
TITLE %~nx0 Help
ECHO.
ECHO Usage:
-ECHO %~nx0 [Clean^|Build^|Rebuild] [x86^|x64^|Both] [Debug^|Release] [VS2013]
+ECHO %~nx0 [Clean^|Build^|Rebuild] [x86^|x64^|Both] [Debug^|Release] [VS2015]
ECHO.
ECHO Notes: You can also prefix the commands with "-", "--" or "/".
ECHO The arguments are not case sensitive and can be ommitted.
ECHO. & ECHO.
ECHO Executing %~nx0 without any arguments will use the default ones:
-ECHO "%~nx0 Build Both Release VS2013"
+ECHO "%~nx0 Build Both Release VS2015"
ECHO.
POPD
ENDLOCAL
diff --git a/src/thirdparty/LAVFilters/src b/src/thirdparty/LAVFilters/src
-Subproject 0745609aaa98fcbbe744b53296b9afe2d159d4d
+Subproject 1400993e06d13f68e0c86ce555874f3d49f275f
diff --git a/src/thirdparty/LCDUI/LCDConnection.cpp b/src/thirdparty/LCDUI/LCDConnection.cpp
index 5086f735e..b6821b859 100644
--- a/src/thirdparty/LCDUI/LCDConnection.cpp
+++ b/src/thirdparty/LCDUI/LCDConnection.cpp
@@ -21,7 +21,8 @@
#include "LCDUI.h"
// Add the lgLcd.lib to the linker
-#pragma comment(lib, "lgLcd.lib")
+
+// #pragma comment(lib, "lgLcd.lib")
// to keep track of clients that use multiple CLCDOutput instances
// within the same app
diff --git a/src/thirdparty/LCDUI/LCDUI.vcxproj b/src/thirdparty/LCDUI/LCDUI.vcxproj
index 66629b3be..ac7966c49 100644
--- a/src/thirdparty/LCDUI/LCDUI.vcxproj
+++ b/src/thirdparty/LCDUI/LCDUI.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,41 +26,14 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
@@ -68,40 +41,7 @@
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -109,7 +49,8 @@
</ClCompile>
<Lib>
<AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(SolutionDir)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(SolutionDir)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/LCDUI/LCDUI.vcxproj.filters b/src/thirdparty/LCDUI/LCDUI.vcxproj.filters
index fc865cf2c..f0c9f3709 100644
--- a/src/thirdparty/LCDUI/LCDUI.vcxproj.filters
+++ b/src/thirdparty/LCDUI/LCDUI.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
index dcb796fe4..b2c43e91f 100644
--- a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
+++ b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,68 +26,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;library\Source\ThirdParty\base64;library\Source\ThirdParty\tinyxml2;..\ZenLib\library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;MEDIAINFO_EXPORT_NO;MEDIAINFO_TEXT_YES;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;library\Source\ThirdParty\base64;library\Source\ThirdParty\tinyxml2;..\ZenLib\library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;MEDIAINFO_EXPORT_NO;MEDIAINFO_TEXT_YES;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;library\Source\ThirdParty\base64;library\Source\ThirdParty\tinyxml2;..\ZenLib\library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;MEDIAINFO_EXPORT_NO;MEDIAINFO_TEXT_YES;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>library\Source;library\Source\ThirdParty\base64;library\Source\ThirdParty\tinyxml2;..\ZenLib\library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;MEDIAINFO_EXPORT_NO;MEDIAINFO_TEXT_YES;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -95,8 +47,6 @@
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
- <ClInclude Include="library\Source\MediaInfo\Export\Export_EbuCore.h" />
- <ClInclude Include="library\Source\MediaInfo\Export\Export_PBCore2.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Aaf.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_DashMpd.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_DcpAm.h" />
@@ -117,16 +67,6 @@
<ClInclude Include="library\Source\MediaInfo\Video\File_HuffYuv.h" />
<ClInclude Include="library\Source\ThirdParty\base64\base64.h" />
<ClInclude Include="library\Source\ThirdParty\tinyxml2\tinyxml2.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_7z.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Ace.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Bzip2.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Elf.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Gzip.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Iso9660.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Mz.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Rar.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Tar.h" />
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Zip.h" />
<ClInclude Include="library\Source\MediaInfo\Audio\File_Aac.h" />
<ClInclude Include="library\Source\MediaInfo\Audio\File_Aac_GeneralAudio.h" />
<ClInclude Include="library\Source\MediaInfo\Audio\File_Aac_GeneralAudio_Sbr.h" />
@@ -172,16 +112,12 @@
<ClInclude Include="library\Source\MediaInfo\Duplicate\File__Duplicate_MpegTs.h" />
<ClInclude Include="library\Source\MediaInfo\Duplicate\File__Duplicate__Base.h" />
<ClInclude Include="library\Source\MediaInfo\Duplicate\File__Duplicate__Writer.h" />
- <ClInclude Include="library\Source\MediaInfo\Export\Export_Mpeg7.h" />
- <ClInclude Include="library\Source\MediaInfo\Export\Export_PBCore.h" />
- <ClInclude Include="library\Source\MediaInfo\File_Dummy.h" />
<ClInclude Include="library\Source\MediaInfo\File_Other.h" />
<ClInclude Include="library\Source\MediaInfo\File_Unknown.h" />
<ClInclude Include="library\Source\MediaInfo\File__Analyse_Automatic.h" />
<ClInclude Include="library\Source\MediaInfo\File__Analyze.h" />
<ClInclude Include="library\Source\MediaInfo\File__Analyze_MinimizeSize.h" />
<ClInclude Include="library\Source\MediaInfo\File__Base.h" />
- <ClInclude Include="library\Source\MediaInfo\File__Duplicate.h" />
<ClInclude Include="library\Source\MediaInfo\File__MultipleParsing.h" />
<ClInclude Include="library\Source\MediaInfo\Image\File_ArriRaw.h" />
<ClInclude Include="library\Source\MediaInfo\Image\File_Bmp.h" />
@@ -225,8 +161,6 @@
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Gxf.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Gxf_TimeCode.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Hls.h" />
- <ClInclude Include="library\Source\MediaInfo\Multiple\File_Ibi.h" />
- <ClInclude Include="library\Source\MediaInfo\Multiple\File_Ibi_Creation.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Ism.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Ivf.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Lxf.h" />
@@ -249,14 +183,13 @@
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Skm.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Swf.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Umf.h" />
+ <ClInclude Include="library\Source\MediaInfo\Multiple\File_Vbi.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Wm.h" />
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Xdcam_Clip.h" />
<ClInclude Include="library\Source\MediaInfo\PreComp.h" />
+ <ClInclude Include="library\Source\MediaInfo\XmlUtils.h" />
<ClInclude Include="library\Source\MediaInfo\Reader\Reader_Directory.h" />
<ClInclude Include="library\Source\MediaInfo\Reader\Reader_File.h" />
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libcurl.h" />
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libcurl_Include.h" />
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libmms.h" />
<ClInclude Include="library\Source\MediaInfo\Reader\Reader__Base.h" />
<ClInclude Include="library\Source\MediaInfo\Setup.h" />
<ClInclude Include="library\Source\MediaInfo\TimeCode.h" />
@@ -275,8 +208,6 @@
<ClInclude Include="library\Source\MediaInfo\Text\File_Eia608.h" />
<ClInclude Include="library\Source\MediaInfo\Text\File_Eia708.h" />
<ClInclude Include="library\Source\MediaInfo\Text\File_Kate.h" />
- <ClInclude Include="library\Source\MediaInfo\Text\File_N19.h" />
- <ClInclude Include="library\Source\MediaInfo\Text\File_OtherText.h" />
<ClInclude Include="library\Source\MediaInfo\Text\File_Pgs.h" />
<ClInclude Include="library\Source\MediaInfo\Text\File_Scc.h" />
<ClInclude Include="library\Source\MediaInfo\Text\File_Scte20.h" />
@@ -301,16 +232,6 @@
<ClInclude Include="library\Source\MediaInfo\Video\File_Y4m.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_7z.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Ace.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Bzip2.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Elf.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Gzip.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Iso9660.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Mz.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Rar.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Tar.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Zip.cpp" />
<ClCompile Include="library\Source\MediaInfo\Audio\File_Aac.cpp" />
<ClCompile Include="library\Source\MediaInfo\Audio\File_Aac_GeneralAudio.cpp" />
<ClCompile Include="library\Source\MediaInfo\Audio\File_Aac_GeneralAudio_Sbr.cpp" />
@@ -358,20 +279,13 @@
<ClCompile Include="library\Source\MediaInfo\Duplicate\File__Duplicate_MpegTs.cpp" />
<ClCompile Include="library\Source\MediaInfo\Duplicate\File__Duplicate__Base.cpp" />
<ClCompile Include="library\Source\MediaInfo\Duplicate\File__Duplicate__Writer.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Export\Export_EbuCore.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Export\Export_Mpeg7.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Export\Export_PBCore.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Export\Export_PBCore2.cpp" />
- <ClCompile Include="library\Source\MediaInfo\File_Dummy.cpp" />
<ClCompile Include="library\Source\MediaInfo\File_Other.cpp" />
<ClCompile Include="library\Source\MediaInfo\File_Unknown.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__Analyze.cpp" />
- <ClCompile Include="library\Source\MediaInfo\File__Analyze_Buffer.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__Analyze_Buffer_MinimizeSize.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__Analyze_Streams.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__Analyze_Streams_Finish.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__Base.cpp" />
- <ClCompile Include="library\Source\MediaInfo\File__Duplicate.cpp" />
<ClCompile Include="library\Source\MediaInfo\File__MultipleParsing.cpp" />
<ClCompile Include="library\Source\MediaInfo\Image\File_ArriRaw.cpp" />
<ClCompile Include="library\Source\MediaInfo\Image\File_Bmp.cpp" />
@@ -420,20 +334,18 @@
<ClCompile Include="library\Source\MediaInfo\Text\File_TimedText.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Ttml.cpp" />
<ClCompile Include="library\Source\MediaInfo\TimeCode.cpp" />
+ <ClCompile Include="library\Source\MediaInfo\XmlUtils.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Ancillary.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Bdmv.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Cdxa.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Dpg.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_DvDif.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_DvDif_Analysis.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Dvdv.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Dxw.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Flv.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Gxf.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Gxf_TimeCode.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Hls.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_Ibi.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_Ibi_Creation.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Ism.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Ivf.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Lxf.cpp" />
@@ -459,13 +371,11 @@
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Skm.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Swf.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Umf.cpp" />
+ <ClCompile Include="library\Source\MediaInfo\Multiple\File_Vbi.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Wm.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Wm_Elements.cpp" />
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Xdcam_Clip.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_Directory.cpp" />
<ClCompile Include="library\Source\MediaInfo\Reader\Reader_File.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_libcurl.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_libmms.cpp" />
<ClCompile Include="library\Source\MediaInfo\Tag\File_ApeTag.cpp" />
<ClCompile Include="library\Source\MediaInfo\Tag\File_Id3.cpp" />
<ClCompile Include="library\Source\MediaInfo\Tag\File_Id3v2.cpp" />
@@ -481,8 +391,6 @@
<ClCompile Include="library\Source\MediaInfo\Text\File_Eia608.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Eia708.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Kate.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Text\File_N19.cpp" />
- <ClCompile Include="library\Source\MediaInfo\Text\File_OtherText.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Pgs.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Scc.cpp" />
<ClCompile Include="library\Source\MediaInfo\Text\File_Scte20.cpp" />
diff --git a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
index 324986cde..51d576b8a 100644
--- a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
+++ b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="extra">
<UniqueIdentifier>{45366669-16db-4223-8550-a40e7722a6af}</UniqueIdentifier>
@@ -92,15 +92,9 @@
<ClInclude Include="library\Source\MediaInfo\File__Base.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\File__Duplicate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\File__MultipleParsing.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\File_Dummy.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\File_Other.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -149,32 +143,8 @@
<ClInclude Include="library\Source\MediaInfo\TimeCode.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_7z.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Ace.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Bzip2.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Elf.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Gzip.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Mz.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Rar.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Tar.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Zip.h">
- <Filter>Header Files\Archive</Filter>
+ <ClInclude Include="library\Source\MediaInfo\XmlUtils.h">
+ <Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="library\Source\MediaInfo\Duplicate\File__Duplicate__Base.h">
<Filter>Header Files\Duplicate</Filter>
@@ -185,12 +155,6 @@
<ClInclude Include="library\Source\MediaInfo\Duplicate\File__Duplicate_MpegTs.h">
<Filter>Header Files\Duplicate</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Export\Export_Mpeg7.h">
- <Filter>Header Files\Export</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Export\Export_PBCore.h">
- <Filter>Header Files\Export</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Image\File_ArriRaw.h">
<Filter>Header Files\Image</Filter>
</ClInclude>
@@ -341,6 +305,9 @@
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Umf.h">
<Filter>Header Files\Multiple</Filter>
</ClInclude>
+ <ClInclude Include="library\Source\MediaInfo\Multiple\File_Vbi.h">
+ <Filter>Header Files\Multiple</Filter>
+ </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Wm.h">
<Filter>Header Files\Multiple</Filter>
</ClInclude>
@@ -356,15 +323,6 @@
<ClInclude Include="library\Source\MediaInfo\Reader\Reader_File.h">
<Filter>Header Files\Reader</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libcurl.h">
- <Filter>Header Files\Reader</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libcurl_Include.h">
- <Filter>Header Files\Reader</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Reader\Reader_libmms.h">
- <Filter>Header Files\Reader</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Tag\File__Tags.h">
<Filter>Header Files\Tag</Filter>
</ClInclude>
@@ -410,12 +368,6 @@
<ClInclude Include="library\Source\MediaInfo\Text\File_Kate.h">
<Filter>Header Files\Text</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Text\File_N19.h">
- <Filter>Header Files\Text</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Text\File_OtherText.h">
- <Filter>Header Files\Text</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Text\File_Pgs.h">
<Filter>Header Files\Text</Filter>
</ClInclude>
@@ -602,18 +554,9 @@
<ClInclude Include="library\Source\MediaInfo\Audio\File_Wvpk.h">
<Filter>Header Files\Audio</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Archive\File_Iso9660.h">
- <Filter>Header Files\Archive</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Audio\File_ChannelGrouping.h">
<Filter>Header Files\Audio</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Multiple\File_Ibi.h">
- <Filter>Header Files\Multiple</Filter>
- </ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Multiple\File_Ibi_Creation.h">
- <Filter>Header Files\Multiple</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Ism.h">
<Filter>Header Files\Multiple</Filter>
</ClInclude>
@@ -656,9 +599,6 @@
<ClInclude Include="library\Source\MediaInfo\Multiple\File_HdsF4m.h">
<Filter>Source Files\Multiple</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Export\Export_EbuCore.h">
- <Filter>Header Files\Export</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Multiple\File_Aaf.h">
<Filter>Header Files\Multiple</Filter>
</ClInclude>
@@ -677,9 +617,6 @@
<ClInclude Include="library\Source\MediaInfo\Video\File_HuffYuv.h">
<Filter>Header Files\Video</Filter>
</ClInclude>
- <ClInclude Include="library\Source\MediaInfo\Export\Export_PBCore2.h">
- <Filter>Header Files\Export</Filter>
- </ClInclude>
<ClInclude Include="library\Source\MediaInfo\Tag\File_PropertyList.h">
<Filter>Header Files\Tag</Filter>
</ClInclude>
@@ -694,9 +631,6 @@
<ClCompile Include="library\Source\MediaInfo\File__Analyze.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\File__Analyze_Buffer.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\File__Analyze_Buffer_MinimizeSize.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -709,15 +643,9 @@
<ClCompile Include="library\Source\MediaInfo\File__Base.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\File__Duplicate.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\File__MultipleParsing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\File_Dummy.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\File_Other.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -760,32 +688,8 @@
<ClCompile Include="library\Source\MediaInfo\TimeCode.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_7z.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Ace.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Bzip2.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Elf.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Gzip.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Mz.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Rar.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Tar.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Zip.cpp">
- <Filter>Source Files\Archive</Filter>
+ <ClCompile Include="library\Source\MediaInfo\XmlUtils.cpp">
+ <Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="library\Source\MediaInfo\Image\File_ArriRaw.cpp">
<Filter>Source Files\Image</Filter>
@@ -853,9 +757,6 @@
<ClCompile Include="library\Source\MediaInfo\Multiple\File_DvDif.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_DvDif_Analysis.cpp">
- <Filter>Source Files\Multiple</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Dvdv.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
@@ -943,6 +844,9 @@
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Umf.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
+ <ClCompile Include="library\Source\MediaInfo\Multiple\File_Vbi.cpp">
+ <Filter>Source Files\Multiple</Filter>
+ </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Wm.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
@@ -961,12 +865,6 @@
<ClCompile Include="library\Source\MediaInfo\Duplicate\File__Duplicate_MpegTs.cpp">
<Filter>Source Files\Duplicate</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Export\Export_Mpeg7.cpp">
- <Filter>Source Files\Export</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Export\Export_PBCore.cpp">
- <Filter>Source Files\Export</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Video\File_AfdBarData.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
@@ -1048,12 +946,6 @@
<ClCompile Include="library\Source\MediaInfo\Text\File_Kate.cpp">
<Filter>Source Files\Text</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Text\File_N19.cpp">
- <Filter>Source Files\Text</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Text\File_OtherText.cpp">
- <Filter>Source Files\Text</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Text\File_Pgs.cpp">
<Filter>Source Files\Text</Filter>
</ClCompile>
@@ -1066,18 +958,9 @@
<ClCompile Include="library\Source\MediaInfo\Text\File_Teletext.cpp">
<Filter>Source Files\Text</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_Directory.cpp">
- <Filter>Source Files\Reader</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Reader\Reader_File.cpp">
<Filter>Source Files\Reader</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_libcurl.cpp">
- <Filter>Source Files\Reader</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Reader\Reader_libmms.cpp">
- <Filter>Source Files\Reader</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Tag\File__Tags.cpp">
<Filter>Source Files\Tag</Filter>
</ClCompile>
@@ -1225,21 +1108,12 @@
<ClCompile Include="library\Source\MediaInfo\Audio\File_Wvpk.cpp">
<Filter>Source Files\Audio</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Archive\File_Iso9660.cpp">
- <Filter>Source Files\Archive</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Audio\File_ChannelGrouping.cpp">
<Filter>Source Files\Audio</Filter>
</ClCompile>
<ClCompile Include="library\Source\MediaInfo\Image\File_Tga.cpp">
<Filter>Source Files\Image</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_Ibi.cpp">
- <Filter>Source Files\Multiple</Filter>
- </ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Multiple\File_Ibi_Creation.cpp">
- <Filter>Source Files\Multiple</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Ism.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
@@ -1279,9 +1153,6 @@
<ClCompile Include="library\Source\MediaInfo\Multiple\File_HdsF4m.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Export\Export_EbuCore.cpp">
- <Filter>Source Files\Export</Filter>
- </ClCompile>
<ClCompile Include="library\Source\MediaInfo\Multiple\File_Aaf.cpp">
<Filter>Source Files\Multiple</Filter>
</ClCompile>
@@ -1306,8 +1177,5 @@
<ClCompile Include="library\Source\MediaInfo\Tag\File_PropertyList.cpp">
<Filter>Source Files\Tag</Filter>
</ClCompile>
- <ClCompile Include="library\Source\MediaInfo\Export\Export_PBCore2.cpp">
- <Filter>Source Files\Export</Filter>
- </ClCompile>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/thirdparty/MediaInfo/library b/src/thirdparty/MediaInfo/library
-Subproject 91168ceca6f620dc3931eaeb21fc23b1a81b2c7
+Subproject 07cae7089dc94e1b3d6c5727b08371d45d1da8f
diff --git a/src/thirdparty/RARFileSource/RARFileSource.vcxproj b/src/thirdparty/RARFileSource/RARFileSource.vcxproj
index 628bcb9c7..66ab95ce5 100644
--- a/src/thirdparty/RARFileSource/RARFileSource.vcxproj
+++ b/src/thirdparty/RARFileSource/RARFileSource.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,41 +26,14 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
@@ -68,37 +41,7 @@
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <ResourceCompile>
- <ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <ResourceCompile>
- <ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- <ResourceCompile>
- <ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/RARFileSource/RARFileSource.vcxproj.filters b/src/thirdparty/RARFileSource/RARFileSource.vcxproj.filters
index fe5b16764..9b7a1c61f 100644
--- a/src/thirdparty/RARFileSource/RARFileSource.vcxproj.filters
+++ b/src/thirdparty/RARFileSource/RARFileSource.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/ResizableLib/ResizableLib.vcxproj b/src/thirdparty/ResizableLib/ResizableLib.vcxproj
index 04e7a11ce..981430f40 100644
--- a/src/thirdparty/ResizableLib/ResizableLib.vcxproj
+++ b/src/thirdparty/ResizableLib/ResizableLib.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,43 +34,13 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
diff --git a/src/thirdparty/ResizableLib/ResizableLib.vcxproj.filters b/src/thirdparty/ResizableLib/ResizableLib.vcxproj.filters
index 53f8a1d66..9eeb53358 100644
--- a/src/thirdparty/ResizableLib/ResizableLib.vcxproj.filters
+++ b/src/thirdparty/ResizableLib/ResizableLib.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/SoundTouch/SoundTouch.vcxproj b/src/thirdparty/SoundTouch/SoundTouch.vcxproj
index e82487e88..fb3113387 100644
--- a/src/thirdparty/SoundTouch/SoundTouch.vcxproj
+++ b/src/thirdparty/SoundTouch/SoundTouch.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
diff --git a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
index d5b55b10e..1d2ef5681 100644
--- a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
+++ b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,43 +34,13 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
diff --git a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj.filters b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj.filters
index baf26b5f9..236ef81d6 100644
--- a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj.filters
+++ b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{669fa26f-0c7f-40c4-bc82-db7a76c85378}</UniqueIdentifier>
diff --git a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
index a6adb9c72..c7dd043a1 100644
--- a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
+++ b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -25,62 +25,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<Import Project="..\..\..\YASM.props" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
<Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj.filters b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj.filters
index eac3699c3..3b185008f 100644
--- a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj.filters
+++ b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{0ee6e95d-30d8-431b-a0e0-af0605aaaa63}</UniqueIdentifier>
diff --git a/src/thirdparty/VirtualDub/h/vd2/system/VDString.h b/src/thirdparty/VirtualDub/h/vd2/system/VDString.h
index 941ea08a9..88d05706d 100644
--- a/src/thirdparty/VirtualDub/h/vd2/system/VDString.h
+++ b/src/thirdparty/VirtualDub/h/vd2/system/VDString.h
@@ -655,6 +655,8 @@ inline VDStringA operator+(const VDStringA& str, char c) {
return result;
}
+// Start patch MPC-HC
+/*
namespace std {
template<>
struct less<VDStringA> : binary_function<VDStringA, VDStringA, bool> {
@@ -663,6 +665,8 @@ namespace std {
}
};
}
+*/
+// End patch MPC-HC
///////////////////////////////////////////////////////////////////////////
diff --git a/src/thirdparty/VirtualDub/system/system.vcxproj b/src/thirdparty/VirtualDub/system/system.vcxproj
index ab7c79df4..0ecdcb423 100644
--- a/src/thirdparty/VirtualDub/system/system.vcxproj
+++ b/src/thirdparty/VirtualDub/system/system.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -25,19 +25,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
@@ -45,55 +33,13 @@
<ImportGroup Label="ExtensionSettings">
<Import Project="..\..\..\YASM.props" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\common.props" />
- <Import Project="..\..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
<Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>Winmm.lib</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>Winmm.lib</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Lib>
- <AdditionalDependencies>Winmm.lib</AdditionalDependencies>
- </Lib>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/VirtualDub/system/system.vcxproj.filters b/src/thirdparty/VirtualDub/system/system.vcxproj.filters
index b6839cba4..44ed37df0 100644
--- a/src/thirdparty/VirtualDub/system/system.vcxproj.filters
+++ b/src/thirdparty/VirtualDub/system/system.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{5c673951-5083-408a-a3de-a63babf1344b}</UniqueIdentifier>
diff --git a/src/thirdparty/XmlRpc4Win b/src/thirdparty/XmlRpc4Win
new file mode 160000
+Subproject 1d7362ccd55d5910a212d06afe377d82dc664d0
diff --git a/src/thirdparty/ZenLib/ZenLib.vcxproj b/src/thirdparty/ZenLib/ZenLib.vcxproj
index f673071e7..55e64ebb4 100644
--- a/src/thirdparty/ZenLib/ZenLib.vcxproj
+++ b/src/thirdparty/ZenLib/ZenLib.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,68 +26,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalIncludeDirectories>library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>library\Source;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/ZenLib/ZenLib.vcxproj.filters b/src/thirdparty/ZenLib/ZenLib.vcxproj.filters
index 5815ba73b..895bc70bf 100644
--- a/src/thirdparty/ZenLib/ZenLib.vcxproj.filters
+++ b/src/thirdparty/ZenLib/ZenLib.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -193,5 +193,8 @@
<ClInclude Include="library\Source\ZenLib\PreComp.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="library\Source\ZenLib\MemoryUtils.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/thirdparty/ZenLib/library b/src/thirdparty/ZenLib/library
-Subproject a0fe5c16604f526462aba2a6cfd53b6ce41fbc2
+Subproject d583e0ed6ca067f7e662f926cbd0e22a888d4a2
diff --git a/src/thirdparty/bs2b/bs2b.vcxproj b/src/thirdparty/bs2b/bs2b.vcxproj
index 3fcf1532a..e110c0747 100644
--- a/src/thirdparty/bs2b/bs2b.vcxproj
+++ b/src/thirdparty/bs2b/bs2b.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
diff --git a/src/thirdparty/lcms2/lcms2.vcxproj b/src/thirdparty/lcms2/lcms2.vcxproj
index 86bb9ddc8..a9324e799 100644
--- a/src/thirdparty/lcms2/lcms2.vcxproj
+++ b/src/thirdparty/lcms2/lcms2.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,68 +26,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
diff --git a/src/thirdparty/lcms2/lcms2.vcxproj.filters b/src/thirdparty/lcms2/lcms2.vcxproj.filters
index dcb2a8a15..781d672b6 100644
--- a/src/thirdparty/lcms2/lcms2.vcxproj.filters
+++ b/src/thirdparty/lcms2/lcms2.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/lcms2/library b/src/thirdparty/lcms2/library
-Subproject 07da965b104b9e0b4eae34dcaa30445a835411e
+Subproject 1272acb4b2e90088293874e9ab3c1d1e4f49f20
diff --git a/src/thirdparty/mhook/mhook.vcxproj b/src/thirdparty/mhook/mhook.vcxproj
index b16ea5ba9..63f5d8236 100644
--- a/src/thirdparty/mhook/mhook.vcxproj
+++ b/src/thirdparty/mhook/mhook.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -24,66 +24,21 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
diff --git a/src/thirdparty/mhook/mhook.vcxproj.filters b/src/thirdparty/mhook/mhook.vcxproj.filters
index 78c944675..b0c14de3f 100644
--- a/src/thirdparty/mhook/mhook.vcxproj.filters
+++ b/src/thirdparty/mhook/mhook.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/nanosvg b/src/thirdparty/nanosvg
new file mode 160000
+Subproject dc12d90586a8ab99da0c575aafff999666aa5d5
diff --git a/src/thirdparty/rapidjson b/src/thirdparty/rapidjson
new file mode 160000
+Subproject 3d5848a7cd3367c5cb451c6493165b774594830
diff --git a/src/thirdparty/sizecbar/sizecbar.vcxproj b/src/thirdparty/sizecbar/sizecbar.vcxproj
index cfaaa420d..ead70eb5d 100644
--- a/src/thirdparty/sizecbar/sizecbar.vcxproj
+++ b/src/thirdparty/sizecbar/sizecbar.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,22 +26,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseOfMfc>Static</UseOfMfc>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
@@ -49,22 +34,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
@@ -72,22 +42,7 @@
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
diff --git a/src/thirdparty/sizecbar/sizecbar.vcxproj.filters b/src/thirdparty/sizecbar/sizecbar.vcxproj.filters
index e7a19866f..23fc896d1 100644
--- a/src/thirdparty/sizecbar/sizecbar.vcxproj.filters
+++ b/src/thirdparty/sizecbar/sizecbar.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{8d9a4844-0f68-4c0d-a6f5-a20f411affaa}</UniqueIdentifier>
diff --git a/src/thirdparty/soxr/soxr.vcxproj b/src/thirdparty/soxr/soxr.vcxproj
index e3ad7990d..43ce57e58 100644
--- a/src/thirdparty/soxr/soxr.vcxproj
+++ b/src/thirdparty/soxr/soxr.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
diff --git a/src/thirdparty/soxr/soxr.vcxproj.filters b/src/thirdparty/soxr/soxr.vcxproj.filters
index 9fbb00b9b..b6f1808ab 100644
--- a/src/thirdparty/soxr/soxr.vcxproj.filters
+++ b/src/thirdparty/soxr/soxr.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="libsoxr">
<UniqueIdentifier>{e76300b5-2f4a-48a9-b672-aeefb9e98c4d}</UniqueIdentifier>
diff --git a/src/thirdparty/tinyxml2/library b/src/thirdparty/tinyxml2/library
new file mode 160000
+Subproject 74d44acb176f8510abf28ee0a70961eb2663198
diff --git a/src/thirdparty/tinyxml2/tinyxml2.vcxproj b/src/thirdparty/tinyxml2/tinyxml2.vcxproj
new file mode 100644
index 000000000..c70eb2919
--- /dev/null
+++ b/src/thirdparty/tinyxml2/tinyxml2.vcxproj
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="library\tinyxml2.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="library\tinyxml2.h" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E02F0C35-FB01-4059-90F9-9AC19DC22FBA}</ProjectGuid>
+ <ProjectName>tinyxml2</ProjectName>
+ <RootNamespace>tinyxml2</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <Import Project="..\..\platform.props" />
+ <PropertyGroup Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/thirdparty/tinyxml2/tinyxml2.vcxproj.filters b/src/thirdparty/tinyxml2/tinyxml2.vcxproj.filters
new file mode 100644
index 000000000..7076206b8
--- /dev/null
+++ b/src/thirdparty/tinyxml2/tinyxml2.vcxproj.filters
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{33d302a3-81d8-403b-8e2e-527be82b731a}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{cb52b8e3-8cfc-4b2e-95e8-f270eaa2c682}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="library\tinyxml2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="library\tinyxml2.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/thirdparty/unrar/archive.cpp b/src/thirdparty/unrar/archive.cpp
index 7ca0b7461..203899fef 100644
--- a/src/thirdparty/unrar/archive.cpp
+++ b/src/thirdparty/unrar/archive.cpp
@@ -109,9 +109,9 @@ RARFORMAT Archive::IsSignature(const byte *D,size_t Size)
#endif
if (Size>=7 && D[1]==0x61 && D[2]==0x72 && D[3]==0x21 && D[4]==0x1a && D[5]==0x07)
{
- // We check for non-zero last signature byte, so we can return
- // a sensible warning in case we'll want to change the archive
- // format sometimes in the future.
+ // We check the last signature byte, so we can return a sensible
+ // warning in case we'll want to change the archive format
+ // sometimes in the future.
if (D[6]==0)
Type=RARFMT15;
else
@@ -240,13 +240,22 @@ bool Archive::IsArchive(bool EnableBroken)
{
HEADER_TYPE HeaderType=GetHeaderType();
if (HeaderType==HEAD_SERVICE)
+ {
+ // If we have a split service headers, it surely indicates non-first
+ // volume. But not split service header does not guarantee the first
+ // volume, because we can have split file after non-split archive
+ // comment. So we do not quit from loop here.
FirstVolume=Volume && !SubHead.SplitBefore;
+ }
else
if (HeaderType==HEAD_FILE)
{
FirstVolume=Volume && !FileHead.SplitBefore;
break;
}
+ else
+ if (HeaderType==HEAD_ENDARC) // Might happen if archive contains only a split service header.
+ break;
SeekToNext();
}
CurBlockPos=SaveCurBlockPos;
diff --git a/src/thirdparty/unrar/archive.hpp b/src/thirdparty/unrar/archive.hpp
index 522709608..6d1515697 100644
--- a/src/thirdparty/unrar/archive.hpp
+++ b/src/thirdparty/unrar/archive.hpp
@@ -61,7 +61,7 @@ class Archive:public File
public:
Archive(RAROptions *InitCmd=NULL);
~Archive();
- RARFORMAT IsSignature(const byte *D,size_t Size);
+ static RARFORMAT IsSignature(const byte *D,size_t Size);
bool IsArchive(bool EnableBroken);
size_t SearchBlock(HEADER_TYPE HeaderType);
size_t SearchSubBlock(const wchar *Type);
diff --git a/src/thirdparty/unrar/arcread.cpp b/src/thirdparty/unrar/arcread.cpp
index 047289b7a..146393872 100644
--- a/src/thirdparty/unrar/arcread.cpp
+++ b/src/thirdparty/unrar/arcread.cpp
@@ -53,9 +53,11 @@ size_t Archive::SearchBlock(HEADER_TYPE HeaderType)
size_t Archive::SearchSubBlock(const wchar *Type)
{
- size_t Size;
+ size_t Size,Count=0;
while ((Size=ReadHeader())!=0 && GetHeaderType()!=HEAD_ENDARC)
{
+ if ((++Count & 127)==0)
+ Wait();
if (GetHeaderType()==HEAD_SERVICE && SubHead.CmpName(Type))
return Size;
SeekToNext();
@@ -318,9 +320,8 @@ size_t Archive::ReadHeader15()
else
*hd->FileName=0;
- char AnsiName[NM];
- IntToExt(FileName,AnsiName,ASIZE(AnsiName));
- GetWideName(AnsiName,hd->FileName,hd->FileName,ASIZE(hd->FileName));
+ if (*hd->FileName==0)
+ ArcCharToWide(FileName,hd->FileName,ASIZE(hd->FileName),ACTW_OEM);
#ifndef SFX_MODULE
ConvertNameCase(hd->FileName);
@@ -784,7 +785,12 @@ size_t Archive::ReadHeader50()
uint CompInfo=(uint)Raw.GetV();
hd->Method=(CompInfo>>7) & 7;
- hd->UnpVer=CompInfo & 0x3f;
+
+ // "+ 50" to not mix with old RAR format algorithms. For example,
+ // we may need to use the compression algorithm 15 in the future,
+ // but it was already used in RAR 1.5 and Unpack needs to distinguish
+ // them.
+ hd->UnpVer=(CompInfo & 0x3f) + 50;
hd->HostOS=(byte)Raw.GetV();
size_t NameSize=(size_t)Raw.GetV();
@@ -915,7 +921,7 @@ void Archive::ProcessExtra50(RawRead *Raw,size_t ExtraSize,BaseBlock *bb)
size_t NextPos=size_t(Raw->GetPos()+FieldSize);
uint64 FieldType=Raw->GetV();
- FieldSize=Raw->DataLeft(); // Field size without size and type fields.
+ FieldSize=int64(NextPos-Raw->GetPos()); // Field size without size and type fields.
if (bb->HeaderType==HEAD_MAIN)
{
@@ -982,6 +988,11 @@ void Archive::ProcessExtra50(RawRead *Raw,size_t ExtraSize,BaseBlock *bb)
sha256_done(&ctx, Digest);
hd->UsePswCheck=memcmp(csum,Digest,SIZE_PSWCHECK_CSUM)==0;
+
+ // RAR 5.21 and earlier set PswCheck field in service records to 0
+ // even if UsePswCheck was present.
+ if (bb->HeaderType==HEAD_SERVICE && memcmp(hd->PswCheck,"\0\0\0\0\0\0\0\0",SIZE_PSWCHECK)==0)
+ hd->UsePswCheck=0;
}
hd->SaltSet=true;
hd->CryptMethod=CRYPT_RAR50;
@@ -1095,6 +1106,19 @@ void Archive::ProcessExtra50(RawRead *Raw,size_t ExtraSize,BaseBlock *bb)
break;
case FHEXTRA_SUBDATA:
{
+ // RAR 5.21 and earlier set FHEXTRA_SUBDATA size to 1 less than
+ // required. It did not hurt extraction, because UnRAR 5.21
+ // and earlier ignored this field and set FieldSize as data left
+ // in entire extra area. But now we set the correct field size
+ // and set FieldSize based on actual extra record size,
+ // so we need to adjust it for those older archives here.
+ // FHEXTRA_SUBDATA in those archives always belongs to HEAD_SERVICE
+ // and always is last in extra area. So since its size is by 1
+ // less than needed, we always have 1 byte left in extra area,
+ // which fact we use here to detect such archives.
+ if (bb->HeaderType==HEAD_SERVICE && Raw->Size()-NextPos==1)
+ FieldSize++;
+
hd->SubData.Alloc((size_t)FieldSize);
Raw->GetB(hd->SubData.Addr(0),(size_t)FieldSize);
}
@@ -1266,6 +1290,11 @@ void Archive::ConvertFileHeader(FileHeader *hd)
else
hd->FileAttr=0x20;
+#ifdef _WIN_ALL
+ if (hd->HSType==HSYS_UNIX) // Convert Unix, OS X and Android decomposed chracters to Windows precomposed.
+ ConvertToPrecomposed(hd->FileName,ASIZE(hd->FileName));
+#endif
+
for (wchar *s=hd->FileName;*s!=0;s++)
{
#ifdef _UNIX
@@ -1344,14 +1373,19 @@ bool Archive::ReadSubData(Array<byte> *UnpData,File *DestFile)
uiMsg(UIERROR_SUBHEADERUNKNOWN,FileName);
return false;
}
- UnpData->Alloc((size_t)SubHead.UnpSize);
- SubDataIO.SetUnpackToMemory(&(*UnpData)[0],(uint)SubHead.UnpSize);
+ if (UnpData==NULL)
+ SubDataIO.SetTestMode(true);
+ else
+ {
+ UnpData->Alloc((size_t)SubHead.UnpSize);
+ SubDataIO.SetUnpackToMemory(&(*UnpData)[0],(uint)SubHead.UnpSize);
+ }
}
if (SubHead.Encrypted)
if (Cmd->Password.IsSet())
SubDataIO.SetEncryption(false,SubHead.CryptMethod,&Cmd->Password,
SubHead.SaltSet ? SubHead.Salt:NULL,SubHead.InitV,
- SubHead.Lg2Count,SubHead.PswCheck,SubHead.HashKey);
+ SubHead.Lg2Count,SubHead.HashKey,SubHead.PswCheck);
else
return false;
SubDataIO.UnpHash.Init(SubHead.FileHash.Type,1);
diff --git a/src/thirdparty/unrar/blake2s.cpp b/src/thirdparty/unrar/blake2s.cpp
index d481bc63a..a7207d33b 100644
--- a/src/thirdparty/unrar/blake2s.cpp
+++ b/src/thirdparty/unrar/blake2s.cpp
@@ -162,7 +162,7 @@ void blake2s_update( blake2s_state *S, const byte *in, size_t inlen )
memcpy( S->buf + left, in, (size_t)inlen );
S->buflen += (size_t)inlen; // Be lazy, do not compress
in += inlen;
- inlen -= inlen;
+ inlen = 0;
}
}
}
diff --git a/src/thirdparty/unrar/cmddata.cpp b/src/thirdparty/unrar/cmddata.cpp
index 3f84cc373..8502210f6 100644
--- a/src/thirdparty/unrar/cmddata.cpp
+++ b/src/thirdparty/unrar/cmddata.cpp
@@ -52,6 +52,7 @@ void CommandData::ParseCommandLine(bool Preprocess,int argc, char *argv[])
// In Windows we may prefer to implement our own command line parser
// to avoid replacing \" by " in standard parser. Such replacing corrupts
// destination paths like "dest path\" in extraction commands.
+ // Also our own parser is Unicode compatible.
const wchar *CmdLine=GetCommandLine();
wchar *Par;
@@ -466,6 +467,11 @@ void CommandData::ProcessSwitch(const wchar *Switch)
Shutdown=true;
break;
}
+ if (wcsicomp(Switch+1,L"VER")==0)
+ {
+ PrintVersion=true;
+ break;
+ }
break;
case 'K':
switch(toupperw(Switch[1]))
@@ -620,6 +626,12 @@ void CommandData::ProcessSwitch(const wchar *Switch)
AbsoluteLinks=true;
break;
#endif
+#ifdef _WIN_ALL
+ case 'N':
+ if (toupperw(Switch[2])=='I')
+ AllowIncompatNames=true;
+ break;
+#endif
case 'R':
Overwrite=OVERWRITE_AUTORENAME;
break;
@@ -766,6 +778,9 @@ void CommandData::ProcessSwitch(const wchar *Switch)
case 'L':
FilelistCharset=rch;
break;
+ case 'R':
+ RedirectCharset=rch;
+ break;
default:
BadSwitch(Switch);
AlreadyBad=true;
@@ -916,12 +931,26 @@ void CommandData::OutTitle()
if (TitleShown)
return;
TitleShown=true;
- wchar Version[50];
- int Beta=RARVER_BETA;
- if (Beta!=0)
+
+ wchar Version[80];
+ if (RARVER_BETA!=0)
swprintf(Version,ASIZE(Version),L"%d.%02d %ls %d",RARVER_MAJOR,RARVER_MINOR,St(MBeta),RARVER_BETA);
else
swprintf(Version,ASIZE(Version),L"%d.%02d",RARVER_MAJOR,RARVER_MINOR);
+#if defined(_WIN_32) || defined(_WIN_64)
+ wcsncatz(Version,L" ",ASIZE(Version));
+#endif
+#ifdef _WIN_32
+ wcsncatz(Version,St(Mx86),ASIZE(Version));
+#endif
+#ifdef _WIN_64
+ wcsncatz(Version,St(Mx64),ASIZE(Version));
+#endif
+ if (PrintVersion)
+ {
+ mprintf(L"%s",Version);
+ exit(0);
+ }
#ifdef UNRAR
mprintf(St(MUCopyright),Version,RARVER_YEAR);
#else
@@ -977,7 +1006,7 @@ void CommandData::OutHelp(RAR_EXIT ExitCode)
#ifndef _WIN_ALL
static MSGID Win32Only[]={
MCHelpSwIEML,MCHelpSwVD,MCHelpSwAO,MCHelpSwOS,MCHelpSwIOFF,
- MCHelpSwEP2,MCHelpSwOC,MCHelpSwDR,MCHelpSwRI
+ MCHelpSwEP2,MCHelpSwOC,MCHelpSwONI,MCHelpSwDR,MCHelpSwRI
};
bool Found=false;
for (int J=0;J<sizeof(Win32Only)/sizeof(Win32Only[0]);J++)
@@ -1019,24 +1048,24 @@ void CommandData::OutHelp(RAR_EXIT ExitCode)
// the include list created with -n switch.
bool CommandData::ExclCheck(const wchar *CheckName,bool Dir,bool CheckFullPath,bool CheckInclList)
{
- if (ExclCheckArgs(&ExclArgs,Dir,CheckName,CheckFullPath,MATCH_WILDSUBPATH))
+ if (CheckArgs(&ExclArgs,Dir,CheckName,CheckFullPath,MATCH_WILDSUBPATH))
return true;
if (!CheckInclList || InclArgs.ItemsCount()==0)
return false;
- if (ExclCheckArgs(&InclArgs,Dir,CheckName,CheckFullPath,MATCH_WILDSUBPATH))
+ if (CheckArgs(&InclArgs,Dir,CheckName,CheckFullPath,MATCH_WILDSUBPATH))
return false;
return true;
}
-bool CommandData::ExclCheckArgs(StringList *Args,bool Dir,const wchar *CheckName,bool CheckFullPath,int MatchMode)
+bool CommandData::CheckArgs(StringList *Args,bool Dir,const wchar *CheckName,bool CheckFullPath,int MatchMode)
{
wchar *Name=ConvertPath(CheckName,NULL);
wchar FullName[NM];
- wchar CurMask[NM+1]; // We reserve the space to append "*" to mask.
+ wchar CurMask[NM];
*FullName=0;
Args->Rewind();
- while (Args->GetString(CurMask,ASIZE(CurMask)-1))
+ while (Args->GetString(CurMask,ASIZE(CurMask)))
{
wchar *LastMaskChar=PointToLastChar(CurMask);
bool DirMask=IsPathDiv(*LastMaskChar); // Mask for directories only.
@@ -1053,23 +1082,24 @@ bool CommandData::ExclCheckArgs(StringList *Args,bool Dir,const wchar *CheckName
}
else
{
+ // REMOVED, we want -npath\* to match empty folders too.
// If mask has wildcards in name part and does not have the trailing
// '\' character, we cannot use it for directories.
- if (IsWildcard(PointToName(CurMask)))
- continue;
+ // if (IsWildcard(PointToName(CurMask)))
+ // continue;
}
}
else
{
// If we process a file inside of directory excluded by "dirmask\".
// we want to exclude such file too. So we convert "dirmask\" to
- // "dirmask\*". It is important for operations other than archiving.
- // When archiving, directory matched by "dirmask\" is excluded
- // from further scanning.
+ // "dirmask\*". It is important for operations other than archiving
+ // with -x. When archiving with -x, directory matched by "dirmask\"
+ // is excluded from further scanning.
if (DirMask)
- wcscat(CurMask,L"*");
+ wcsncatz(CurMask,L"*",ASIZE(CurMask));
}
#ifndef SFX_MODULE
@@ -1090,7 +1120,12 @@ bool CommandData::ExclCheckArgs(StringList *Args,bool Dir,const wchar *CheckName
#endif
{
wchar NewName[NM+2],*CurName=Name;
- if (CurMask[0]=='*' && IsPathDiv(CurMask[1]))
+
+ // Important to convert before "*\" check below, so masks like
+ // d:*\something are processed properly.
+ wchar *CmpMask=ConvertPath(CurMask,NULL);
+
+ if (CmpMask[0]=='*' && IsPathDiv(CmpMask[1]))
{
// We want "*\name" to match 'name' not only in subdirectories,
// but also in the current directory. We convert the name
@@ -1102,7 +1137,7 @@ bool CommandData::ExclCheckArgs(StringList *Args,bool Dir,const wchar *CheckName
CurName=NewName;
}
- if (CmpName(ConvertPath(CurMask,NULL),CurName,MatchMode))
+ if (CmpName(CmpMask,CurName,MatchMode))
return true;
}
}
@@ -1201,13 +1236,24 @@ void CommandData::ProcessCommand()
if (Command[0]!=0 && Command[1]!=0 && wcschr(SingleCharCommands,Command[0])!=NULL || *ArcName==0)
OutHelp(*Command==0 ? RARX_SUCCESS:RARX_USERERROR); // Return 'success' for 'rar' without parameters.
+ const wchar *ArcExt=GetExt(ArcName);
#ifdef _UNIX
- if (GetExt(ArcName)==NULL && (!FileExist(ArcName) || IsDir(GetFileAttr(ArcName))))
+ if (ArcExt==NULL && (!FileExist(ArcName) || IsDir(GetFileAttr(ArcName))))
wcsncatz(ArcName,L".rar",ASIZE(ArcName));
#else
- if (GetExt(ArcName)==NULL)
+ if (ArcExt==NULL)
wcsncatz(ArcName,L".rar",ASIZE(ArcName));
#endif
+ // Treat arcname.part1 as arcname.part1.rar.
+ if (ArcExt!=NULL && wcsnicomp(ArcExt,L".part",5)==0 && IsDigit(ArcExt[5]) &&
+ !FileExist(ArcName))
+ {
+ wchar Name[NM];
+ wcsncpyz(Name,ArcName,ASIZE(Name));
+ wcsncatz(Name,L".rar",ASIZE(Name));
+ if (FileExist(Name))
+ wcsncpyz(ArcName,Name,ASIZE(ArcName));
+ }
if (wcschr(L"AFUMD",*Command)==NULL)
{
diff --git a/src/thirdparty/unrar/cmddata.hpp b/src/thirdparty/unrar/cmddata.hpp
index d2cdbb94d..8b54ce3e2 100644
--- a/src/thirdparty/unrar/cmddata.hpp
+++ b/src/thirdparty/unrar/cmddata.hpp
@@ -12,7 +12,6 @@ class CommandData:public RAROptions
void ProcessSwitchesString(const wchar *Str);
void ProcessSwitch(const wchar *Switch);
void BadSwitch(const wchar *Switch);
- bool ExclCheckArgs(StringList *Args,bool Dir,const wchar *CheckName,bool CheckFullPath,int MatchMode);
uint GetExclAttr(const wchar *Str);
bool FileLists;
@@ -33,6 +32,7 @@ class CommandData:public RAROptions
void OutHelp(RAR_EXIT ExitCode);
bool IsSwitch(int Ch);
bool ExclCheck(const wchar *CheckName,bool Dir,bool CheckFullPath,bool CheckInclList);
+ static bool CheckArgs(StringList *Args,bool Dir,const wchar *CheckName,bool CheckFullPath,int MatchMode);
bool ExclDirByAttr(uint FileAttr);
bool TimeCheck(RarTime &ft);
bool SizeCheck(int64 Size);
diff --git a/src/thirdparty/unrar/consio.cpp b/src/thirdparty/unrar/consio.cpp
index 55cb5ce50..7f39a2b11 100644
--- a/src/thirdparty/unrar/consio.cpp
+++ b/src/thirdparty/unrar/consio.cpp
@@ -2,12 +2,11 @@
#include "log.cpp"
static MESSAGE_TYPE MsgStream=MSG_STDOUT;
+static RAR_CHARSET RedirectCharset=RCH_DEFAULT;
+
const int MaxMsgSize=2*NM+2048;
-#ifdef _WIN_ALL
static bool StdoutRedirected=false,StderrRedirected=false,StdinRedirected=false;
-#endif
-
#ifdef _WIN_ALL
static bool IsRedirected(DWORD nStdHandle)
@@ -42,13 +41,18 @@ void InitConsole()
if (!StderrRedirected)
_setmode(_fileno(stderr), _O_U16TEXT);
#endif
+#elif defined(_UNIX)
+ StdoutRedirected=!isatty(fileno(stdout));
+ StderrRedirected=!isatty(fileno(stderr));
+ StdinRedirected=!isatty(fileno(stdin));
#endif
}
-void InitConsoleOptions(MESSAGE_TYPE MsgStream)
+void InitConsoleOptions(MESSAGE_TYPE MsgStream,RAR_CHARSET RedirectCharset)
{
::MsgStream=MsgStream;
+ ::RedirectCharset=RedirectCharset;
}
@@ -63,17 +67,23 @@ static void cvt_wprintf(FILE *dest,const wchar *fmt,va_list arglist)
safebuf wchar Msg[MaxMsgSize];
if (dest==stdout && StdoutRedirected || dest==stderr && StderrRedirected)
{
- // Avoid Unicode for redirect in Windows, it does not work with pipes.
- vswprintf(Msg,ASIZE(Msg),fmtw,arglist);
- safebuf char MsgA[MaxMsgSize];
- WideToChar(Msg,MsgA,ASIZE(MsgA));
- CharToOemA(MsgA,MsgA); // Console tools like 'more' expect OEM encoding.
-
- // We already converted \n to \r\n above, so we use WriteFile instead
- // of C library to avoid unnecessary additional conversion.
HANDLE hOut=GetStdHandle(dest==stdout ? STD_OUTPUT_HANDLE:STD_ERROR_HANDLE);
+ vswprintf(Msg,ASIZE(Msg),fmtw,arglist);
DWORD Written;
- WriteFile(hOut,MsgA,(DWORD)strlen(MsgA),&Written,NULL);
+ if (RedirectCharset==RCH_UNICODE)
+ WriteFile(hOut,Msg,(DWORD)wcslen(Msg)*sizeof(*Msg),&Written,NULL);
+ else
+ {
+ // Avoid Unicode for redirect in Windows, it does not work with pipes.
+ safebuf char MsgA[MaxMsgSize];
+ WideToChar(Msg,MsgA,ASIZE(MsgA));
+ if (RedirectCharset!=RCH_ANSI)
+ CharToOemA(MsgA,MsgA); // Console tools like 'more' expect OEM encoding.
+
+ // We already converted \n to \r\n above, so we use WriteFile instead
+ // of C library to avoid unnecessary additional conversion.
+ WriteFile(hOut,MsgA,(DWORD)strlen(MsgA),&Written,NULL);
+ }
return;
}
// MSVC2008 vfwprintf writes every character to console separately
@@ -127,32 +137,37 @@ static void GetPasswordText(wchar *Str,uint MaxLength)
{
if (MaxLength==0)
return;
+ if (StdinRedirected)
+ getwstr(Str,MaxLength); // Read from pipe or redirected file.
+ else
+ {
#ifdef _WIN_ALL
- HANDLE hConIn=GetStdHandle(STD_INPUT_HANDLE);
- HANDLE hConOut=GetStdHandle(STD_OUTPUT_HANDLE);
- DWORD ConInMode,ConOutMode;
- DWORD Read=0;
- GetConsoleMode(hConIn,&ConInMode);
- GetConsoleMode(hConOut,&ConOutMode);
- SetConsoleMode(hConIn,ENABLE_LINE_INPUT);
- SetConsoleMode(hConOut,ENABLE_PROCESSED_OUTPUT|ENABLE_WRAP_AT_EOL_OUTPUT);
-
- ReadConsole(hConIn,Str,MaxLength-1,&Read,NULL);
- Str[Read]=0;
- SetConsoleMode(hConIn,ConInMode);
- SetConsoleMode(hConOut,ConOutMode);
+ HANDLE hConIn=GetStdHandle(STD_INPUT_HANDLE);
+ HANDLE hConOut=GetStdHandle(STD_OUTPUT_HANDLE);
+ DWORD ConInMode,ConOutMode;
+ DWORD Read=0;
+ GetConsoleMode(hConIn,&ConInMode);
+ GetConsoleMode(hConOut,&ConOutMode);
+ SetConsoleMode(hConIn,ENABLE_LINE_INPUT);
+ SetConsoleMode(hConOut,ENABLE_PROCESSED_OUTPUT|ENABLE_WRAP_AT_EOL_OUTPUT);
+
+ ReadConsole(hConIn,Str,MaxLength-1,&Read,NULL);
+ Str[Read]=0;
+ SetConsoleMode(hConIn,ConInMode);
+ SetConsoleMode(hConOut,ConOutMode);
#else
- char StrA[MAXPASSWORD];
+ char StrA[MAXPASSWORD];
#if defined(_EMX) || defined (__VMS)
- fgets(StrA,ASIZE(StrA)-1,stdin);
+ fgets(StrA,ASIZE(StrA)-1,stdin);
#elif defined(__sun)
- strncpyz(StrA,getpassphrase(""),ASIZE(StrA));
+ strncpyz(StrA,getpassphrase(""),ASIZE(StrA));
#else
- strncpyz(StrA,getpass(""),ASIZE(StrA));
+ strncpyz(StrA,getpass(""),ASIZE(StrA));
#endif
- CharToWide(StrA,Str,MaxLength);
- cleandata(StrA,sizeof(StrA));
+ CharToWide(StrA,Str,MaxLength);
+ cleandata(StrA,sizeof(StrA));
#endif
+ }
Str[MaxLength-1]=0;
RemoveLF(Str);
}
@@ -162,20 +177,22 @@ static void GetPasswordText(wchar *Str,uint MaxLength)
#ifndef SILENT
bool GetConsolePassword(UIPASSWORD_TYPE Type,const wchar *FileName,SecPassword *Password)
{
- uiAlarm(UIALARM_QUESTION);
+ if (!StdinRedirected)
+ uiAlarm(UIALARM_QUESTION);
while (true)
{
- if (Type==UIPASSWORD_GLOBAL)
- eprintf(L"\n%s: ",St(MAskPsw));
- else
- eprintf(St(MAskPswFor),FileName);
+ if (!StdinRedirected)
+ if (Type==UIPASSWORD_GLOBAL)
+ eprintf(L"\n%s: ",St(MAskPsw));
+ else
+ eprintf(St(MAskPswFor),FileName);
wchar PlainPsw[MAXPASSWORD];
GetPasswordText(PlainPsw,ASIZE(PlainPsw));
if (*PlainPsw==0 && Type==UIPASSWORD_GLOBAL)
return false;
- if (Type==UIPASSWORD_GLOBAL)
+ if (!StdinRedirected && Type==UIPASSWORD_GLOBAL)
{
eprintf(St(MReAskPsw));
wchar CmpStr[MAXPASSWORD];
@@ -222,8 +239,9 @@ bool getwstr(wchar *str,size_t n)
// calling Ask(), so let's better exit.
ErrHandler.Exit(RARX_USERBREAK);
}
- StrA[ReadSize-1]=0;
+ StrA[ReadSize]=0;
CharToWide(&StrA[0],str,n);
+ cleandata(&StrA[0],StrA.Size()); // We can use this function to enter passwords.
}
else
{
diff --git a/src/thirdparty/unrar/consio.hpp b/src/thirdparty/unrar/consio.hpp
index 5c9e67da1..4a0ed128e 100644
--- a/src/thirdparty/unrar/consio.hpp
+++ b/src/thirdparty/unrar/consio.hpp
@@ -2,7 +2,7 @@
#define _RAR_CONSIO_
void InitConsole();
-void InitConsoleOptions(MESSAGE_TYPE MsgStream);
+void InitConsoleOptions(MESSAGE_TYPE MsgStream,RAR_CHARSET RedirectCharset);
void OutComment(const wchar *Comment,size_t Size);
#ifndef SILENT
diff --git a/src/thirdparty/unrar/crc.cpp b/src/thirdparty/unrar/crc.cpp
index d593281e7..d77fa030c 100644
--- a/src/thirdparty/unrar/crc.cpp
+++ b/src/thirdparty/unrar/crc.cpp
@@ -37,15 +37,15 @@ static void InitTables()
{
InitCRC32(crc_tables[0]);
- for (uint I=0;I<256;I++) // Build additional lookup tables.
+ for (uint I=0;I<256;I++) // Build additional lookup tables.
{
- uint C=crc_tables[0][I];
- for (uint J=1;J<8;J++)
+ uint C=crc_tables[0][I];
+ for (uint J=1;J<8;J++)
{
- C=crc_tables[0][(byte)C]^(C>>8);
- crc_tables[J][I]=C;
- }
- }
+ C=crc_tables[0][(byte)C]^(C>>8);
+ crc_tables[J][I]=C;
+ }
+ }
}
@@ -62,13 +62,13 @@ uint CRC32(uint StartCRC,const void *Addr,size_t Size)
for (;Size>=8;Size-=8,Data+=8)
{
#ifdef BIG_ENDIAN
- StartCRC ^= Data[0]|(Data[1] << 8)|(Data[2] << 16)|(Data[3] << 24);
+ StartCRC ^= Data[0]|(Data[1] << 8)|(Data[2] << 16)|(Data[3] << 24);
uint NextData = Data[4]|(Data[5] << 8)|(Data[6] << 16)|(Data[7] << 24);
#else
- StartCRC ^= *(uint32 *) Data;
+ StartCRC ^= *(uint32 *) Data;
uint NextData = *(uint32 *) (Data +4);
#endif
- StartCRC = crc_tables[7][(byte) StartCRC ] ^
+ StartCRC = crc_tables[7][(byte) StartCRC ] ^
crc_tables[6][(byte)(StartCRC >> 8) ] ^
crc_tables[5][(byte)(StartCRC >> 16)] ^
crc_tables[4][(byte)(StartCRC >> 24)] ^
@@ -76,7 +76,7 @@ uint CRC32(uint StartCRC,const void *Addr,size_t Size)
crc_tables[2][(byte)(NextData >>8 ) ] ^
crc_tables[1][(byte)(NextData >> 16)] ^
crc_tables[0][(byte)(NextData >> 24)];
- }
+ }
for (;Size>0;Size--,Data++) // Process left data.
StartCRC=crc_tables[0][(byte)(StartCRC^Data[0])]^(StartCRC>>8);
diff --git a/src/thirdparty/unrar/dll.cpp b/src/thirdparty/unrar/dll.cpp
index 5617f45b2..a9aa112d8 100644
--- a/src/thirdparty/unrar/dll.cpp
+++ b/src/thirdparty/unrar/dll.cpp
@@ -74,7 +74,7 @@ HANDLE PASCAL RAROpenArchiveEx(struct RAROpenArchiveDataEx *r)
delete Data;
return NULL;
}
- if (!Data->Arc.IsArchive(false))
+ if (!Data->Arc.IsArchive(true))
{
if (Data->Cmd.DllError!=0)
r->OpenResult=Data->Cmd.DllError;
@@ -271,7 +271,16 @@ int PASCAL RARReadHeaderEx(HANDLE hArcData,struct RARHeaderDataEx *D)
D->HashType=RAR_HASH_NONE;
break;
}
-
+
+ D->RedirType=hd->RedirType;
+ // RedirNameSize sanity check is useful in case some developer
+ // did not initialize Reserved area with 0 as required in docs.
+ // We have taken 'Redir*' fields from Reserved area. We may remove
+ // this RedirNameSize check sometimes later.
+ if (hd->RedirType!=FSREDIR_NONE && D->RedirName!=NULL &&
+ D->RedirNameSize>0 && D->RedirNameSize<100000)
+ wcsncpyz(D->RedirName,hd->RedirName,D->RedirNameSize);
+ D->DirTarget=hd->DirTarget;
}
catch (RAR_EXIT ErrCode)
{
diff --git a/src/thirdparty/unrar/dll.hpp b/src/thirdparty/unrar/dll.hpp
index 9fd560939..8dc975eb9 100644
--- a/src/thirdparty/unrar/dll.hpp
+++ b/src/thirdparty/unrar/dll.hpp
@@ -31,7 +31,7 @@
#define RAR_VOL_ASK 0
#define RAR_VOL_NOTIFY 1
-#define RAR_DLL_VERSION 6
+#define RAR_DLL_VERSION 7
#define RAR_HASH_NONE 0
#define RAR_HASH_CRC32 1
@@ -98,7 +98,11 @@ struct RARHeaderDataEx
unsigned int DictSize;
unsigned int HashType;
char Hash[32];
- unsigned int Reserved[1014];
+ unsigned int RedirType;
+ wchar_t *RedirName;
+ unsigned int RedirNameSize;
+ unsigned int DirTarget;
+ unsigned int Reserved[994];
};
diff --git a/src/thirdparty/unrar/dll.rc b/src/thirdparty/unrar/dll.rc
index fa7ab25cb..011b4c174 100644
--- a/src/thirdparty/unrar/dll.rc
+++ b/src/thirdparty/unrar/dll.rc
@@ -2,8 +2,8 @@
#include <commctrl.h>
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 21, 100, 1510
-PRODUCTVERSION 5, 21, 100, 1510
+FILEVERSION 5, 40, 100, 2057
+PRODUCTVERSION 5, 40, 100, 2057
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
@@ -14,15 +14,15 @@ FILETYPE VFT_APP
VALUE "CompanyName", "Alexander Roshal\0"
VALUE "ProductName", "RAR decompression library\0"
VALUE "FileDescription", "RAR decompression library\0"
- VALUE "FileVersion", "5.21.0\0"
- VALUE "ProductVersion", "5.21.0\0"
- VALUE "LegalCopyright", "Copyright Alexander Roshal 1993-2015\0"
+ VALUE "FileVersion", "5.40.0\0"
+ VALUE "ProductVersion", "5.40.0\0"
+ VALUE "LegalCopyright", "Copyright Alexander Roshal 1993-2016\0"
VALUE "OriginalFilename", "Unrar.dll\0"
}
}
BLOCK "VarFileInfo"
{
- VALUE "Translation", 0, 0
+ VALUE "Translation", 0x0409, 0x04E4
}
}
diff --git a/src/thirdparty/unrar/errhnd.cpp b/src/thirdparty/unrar/errhnd.cpp
index 6486e400d..2f39556fe 100644
--- a/src/thirdparty/unrar/errhnd.cpp
+++ b/src/thirdparty/unrar/errhnd.cpp
@@ -12,9 +12,9 @@ void ErrorHandler::Clean()
ErrCount=0;
EnableBreak=true;
Silent=false;
- DoShutdown=false;
UserBreak=false;
MainExit=false;
+ DisableShutdown=false;
}
@@ -64,7 +64,10 @@ bool ErrorHandler::AskRepeatRead(const wchar *FileName)
if (!Silent)
{
SysErrMsg();
- return uiAskRepeatRead(FileName);
+ bool Repeat=uiAskRepeatRead(FileName);
+ if (!Repeat) // Disable shutdown if user pressed Cancel in error dialog.
+ DisableShutdown=true;
+ return Repeat;
}
#endif
return false;
@@ -99,8 +102,15 @@ bool ErrorHandler::AskRepeatWrite(const wchar *FileName,bool DiskFull)
#ifndef SILENT
if (!Silent)
{
+#ifndef _ANDROID
+ // We do not display "repeat write" prompt in Android, so we do not
+ // need the matching system error message.
SysErrMsg();
- return uiAskRepeatWrite(FileName,DiskFull);
+#endif
+ bool Repeat=uiAskRepeatWrite(FileName,DiskFull);
+ if (!Repeat) // Disable shutdown if user pressed Cancel in error dialog.
+ DisableShutdown=true;
+ return Repeat;
}
#endif
return false;
diff --git a/src/thirdparty/unrar/errhnd.hpp b/src/thirdparty/unrar/errhnd.hpp
index 1f5878d39..26df96d5b 100644
--- a/src/thirdparty/unrar/errhnd.hpp
+++ b/src/thirdparty/unrar/errhnd.hpp
@@ -25,7 +25,7 @@ class ErrorHandler
uint ErrCount;
bool EnableBreak;
bool Silent;
- bool DoShutdown;
+ bool DisableShutdown; // Shutdown is not suitable after last error.
public:
ErrorHandler();
void Clean();
@@ -57,11 +57,12 @@ class ErrorHandler
void SetSignalHandlers(bool Enable);
void Throw(RAR_EXIT Code);
void SetSilent(bool Mode) {Silent=Mode;};
- void SetShutdown(bool Mode) {DoShutdown=Mode;};
void SysErrMsg();
int GetSystemErrorCode();
void SetSystemErrorCode(int Code);
- bool UserBreak;
+ bool IsShutdownEnabled() {return !DisableShutdown;}
+
+ bool UserBreak; // Ctrl+Break is pressed.
bool MainExit; // main() is completed.
};
diff --git a/src/thirdparty/unrar/extinfo.cpp b/src/thirdparty/unrar/extinfo.cpp
index 01827eba0..15130ad81 100644
--- a/src/thirdparty/unrar/extinfo.cpp
+++ b/src/thirdparty/unrar/extinfo.cpp
@@ -20,6 +20,8 @@
#ifndef SFX_MODULE
void SetExtraInfo20(CommandData *Cmd,Archive &Arc,wchar *Name)
{
+ if (Cmd->Test)
+ return;
switch(Arc.SubBlockHead.SubType)
{
#ifdef _UNIX
@@ -45,15 +47,15 @@ void SetExtraInfo20(CommandData *Cmd,Archive &Arc,wchar *Name)
void SetExtraInfo(CommandData *Cmd,Archive &Arc,wchar *Name)
{
#ifdef _UNIX
- if (Cmd->ProcessOwners && Arc.Format==RARFMT15 &&
+ if (!Cmd->Test && Cmd->ProcessOwners && Arc.Format==RARFMT15 &&
Arc.SubHead.CmpName(SUBHEAD_TYPE_UOWNER))
ExtractUnixOwner30(Arc,Name);
#endif
#ifdef _WIN_ALL
- if (Cmd->ProcessOwners && Arc.SubHead.CmpName(SUBHEAD_TYPE_ACL))
+ if (!Cmd->Test && Cmd->ProcessOwners && Arc.SubHead.CmpName(SUBHEAD_TYPE_ACL))
ExtractACL(Arc,Name);
if (Arc.SubHead.CmpName(SUBHEAD_TYPE_STREAM))
- ExtractStreams(Arc,Name);
+ ExtractStreams(Arc,Name,Cmd->Test);
#endif
}
diff --git a/src/thirdparty/unrar/extract.cpp b/src/thirdparty/unrar/extract.cpp
index a24eb9405..6a95067df 100644
--- a/src/thirdparty/unrar/extract.cpp
+++ b/src/thirdparty/unrar/extract.cpp
@@ -89,7 +89,7 @@ void CmdExtract::ExtractArchiveInit(Archive &Arc)
DataIO.UnpVolume=false;
- PrevExtracted=false;
+ PrevProcessed=false;
AllMatchesExact=true;
ReconstructDone=false;
AnySolidDataUnpackedWell=false;
@@ -106,10 +106,31 @@ EXTRACT_ARC_CODE CmdExtract::ExtractArchive()
if (!Arc.IsArchive(true))
{
+#if !defined(SFX_MODULE) && !defined(RARDLL)
+ if (CmpExt(ArcName,L"rev"))
+ {
+ wchar FirstVolName[NM];
+ VolNameToFirstName(ArcName,FirstVolName,ASIZE(FirstVolName),true);
+
+ // If several volume names from same volume set are specified
+ // and current volume is not first in set and first volume is present
+ // and specified too, let's skip the current volume.
+ if (wcsicomp(ArcName,FirstVolName)!=0 && FileExist(FirstVolName) &&
+ Cmd->ArcNames.Search(FirstVolName,false))
+ return EXTRACT_ARC_NEXT;
+ RecVolumesTest(Cmd,NULL,ArcName);
+ TotalFileCount++; // Suppress "No files to extract" message.
+ return EXTRACT_ARC_NEXT;
+ }
+#endif
+
#ifndef GUI
mprintf(St(MNotRAR),ArcName);
#endif
+
+#ifndef SFX_MODULE
if (CmpExt(ArcName,L"rar"))
+#endif
ErrHandler.SetErrorCode(RARX_WARNING);
return EXTRACT_ARC_NEXT;
}
@@ -200,12 +221,29 @@ EXTRACT_ARC_CODE CmdExtract::ExtractArchive()
}
+#if !defined(SFX_MODULE) && !defined(RARDLL)
+ if (Cmd->Test && Arc.Volume)
+ RecVolumesTest(Cmd,&Arc,ArcName);
+#endif
+
return EXTRACT_ARC_NEXT;
}
bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
{
+ // We can get negative sizes in corrupt archive and it is unacceptable
+ // for size comparisons in CmdExtract::UnstoreFile and ComprDataIO::UnpRead,
+ // where we cast sizes to size_t and can exceed another read or available
+ // size. We could fix it when reading an archive. But we prefer to do it
+ // here, because this function is called directly in unrar.dll, so we fix
+ // bad parameters passed to dll. Also we want to see real negative sizes
+ // in the listing of corrupt archive.
+ if (Arc.FileHead.PackSize<0)
+ Arc.FileHead.PackSize=0;
+ if (Arc.FileHead.UnpSize<0)
+ Arc.FileHead.UnpSize=0;
+
wchar Command=Cmd->Command[0];
if (HeaderSize==0)
if (DataIO.UnpVolume)
@@ -228,10 +266,10 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
if (HeaderType!=HEAD_FILE)
{
#ifndef SFX_MODULE
- if (HeaderType==HEAD3_OLDSERVICE && PrevExtracted)
+ if (HeaderType==HEAD3_OLDSERVICE && PrevProcessed)
SetExtraInfo20(Cmd,Arc,DestFileName);
#endif
- if (HeaderType==HEAD_SERVICE && PrevExtracted)
+ if (HeaderType==HEAD_SERVICE && PrevProcessed)
SetExtraInfo(Cmd,Arc,DestFileName);
if (HeaderType==HEAD_ENDARC)
if (Arc.EndArcHead.NextVolume)
@@ -251,7 +289,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
Arc.SeekToNext();
return true;
}
- PrevExtracted=false;
+ PrevProcessed=false;
if (!Cmd->Recurse && MatchedArgs>=Cmd->FileArgs.ItemsCount() && AllMatchesExact)
return false;
@@ -307,6 +345,10 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
wchar ArcFileName[NM];
ConvertPath(Arc.FileHead.FileName,ArcFileName);
+#ifdef _WIN_ALL
+ if (!Cmd->AllowIncompatNames)
+ MakeNameCompatible(ArcFileName);
+#endif
if (Arc.FileHead.Version)
{
@@ -422,11 +464,43 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
if (!CheckUnpVer(Arc,ArcFileName))
{
- ExtrFile=false;
ErrHandler.SetErrorCode(RARX_FATAL);
#ifdef RARDLL
Cmd->DllError=ERAR_UNKNOWN_FORMAT;
#endif
+ Arc.SeekToNext();
+ return !Arc.Solid; // Can try extracting next file only in non-solid archive.
+ }
+
+
+ // Set a password before creating the file, so we can skip creating
+ // in case of wrong password.
+ SecPassword FilePassword=Cmd->Password;
+#if defined(_WIN_ALL) && !defined(SFX_MODULE)
+ ConvertDosPassword(Arc,FilePassword);
+#endif
+
+ byte PswCheck[SIZE_PSWCHECK];
+ DataIO.SetEncryption(false,Arc.FileHead.CryptMethod,&FilePassword,
+ Arc.FileHead.SaltSet ? Arc.FileHead.Salt:NULL,
+ Arc.FileHead.InitV,Arc.FileHead.Lg2Count,
+ Arc.FileHead.HashKey,PswCheck);
+
+ // If header is damaged, we cannot rely on password check value,
+ // because it can be damaged too.
+ if (Arc.FileHead.Encrypted && Arc.FileHead.UsePswCheck &&
+ memcmp(Arc.FileHead.PswCheck,PswCheck,SIZE_PSWCHECK)!=0 &&
+ !Arc.BrokenHeader)
+ {
+ uiMsg(UIERROR_BADPSW,Arc.FileName);
+ ErrHandler.SetErrorCode(RARX_BADPWD);
+ ExtrFile=false;
+#ifdef RARDLL
+ // If we already have ERAR_EOPEN as result of missing volume,
+ // we should not replace it with less precise ERAR_BAD_DATA.
+ if (Cmd->DllError!=ERAR_EOPEN)
+ Cmd->DllError=ERAR_BAD_PASSWORD;
+#endif
}
File CurFile;
@@ -472,6 +546,11 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
}
if (ExtrFile)
{
+ // Set it in test mode, so we also test subheaders such as NTFS streams
+ // after tested file.
+ if (Cmd->Test)
+ PrevProcessed=true;
+
bool TestMode=Cmd->Test || SkipSolid; // Unpack to memory, not to disk.
if (!SkipSolid)
@@ -508,28 +587,6 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
mprintf(L" ");
#endif
- SecPassword FilePassword=Cmd->Password;
-#if defined(_WIN_ALL) && !defined(SFX_MODULE)
- ConvertDosPassword(Arc,FilePassword);
-#endif
-
- byte PswCheck[SIZE_PSWCHECK];
- DataIO.SetEncryption(false,Arc.FileHead.CryptMethod,&FilePassword,
- Arc.FileHead.SaltSet ? Arc.FileHead.Salt:NULL,
- Arc.FileHead.InitV,Arc.FileHead.Lg2Count,
- PswCheck,Arc.FileHead.HashKey);
- bool WrongPassword=false;
-
- // If header is damaged, we cannot rely on password check value,
- // because it can be damaged too.
- if (Arc.FileHead.Encrypted && Arc.FileHead.UsePswCheck &&
- memcmp(Arc.FileHead.PswCheck,PswCheck,SIZE_PSWCHECK)!=0 &&
- !Arc.BrokenHeader)
- {
- uiMsg(UIERROR_BADPSW,Arc.FileName);
- ErrHandler.SetErrorCode(RARX_BADPWD);
- WrongPassword=true;
- }
DataIO.CurUnpRead=0;
DataIO.CurUnpWrite=0;
DataIO.UnpHash.Init(Arc.FileHead.FileHash.Type,Cmd->Threads);
@@ -540,7 +597,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
DataIO.SetSkipUnpCRC(SkipSolid);
#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
- if (!TestMode && !WrongPassword && !Arc.BrokenHeader &&
+ if (!TestMode && !Arc.BrokenHeader &&
Arc.FileHead.UnpSize>0xffffffff && (Fat32 || !NotFat32))
{
if (!Fat32) // Not detected yet.
@@ -550,7 +607,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
}
#endif
- if (!TestMode && !WrongPassword && !Arc.BrokenHeader &&
+ if (!TestMode && !Arc.BrokenHeader &&
(Arc.FileHead.PackSize<<11)>Arc.FileHead.UnpSize &&
(Arc.FileHead.UnpSize<100000000 || Arc.FileLength()>Arc.FileHead.PackSize))
CurFile.Prealloc(Arc.FileHead.UnpSize);
@@ -596,10 +653,10 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
// but not when testing an archive.
ShowChecksum=false;
}
- PrevExtracted=FileCreateMode && LinkSuccess;
+ PrevProcessed=FileCreateMode && LinkSuccess;
}
else
- if (!Arc.FileHead.SplitBefore && !WrongPassword)
+ if (!Arc.FileHead.SplitBefore)
if (Arc.FileHead.Method==0)
UnstoreFile(DataIO,Arc.FileHead.UnpSize);
else
@@ -646,7 +703,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
// Checksum is not calculated in skip solid mode for performance reason.
if (!SkipSolid && ShowChecksum)
{
- if (!WrongPassword && ValidCRC)
+ if (ValidCRC)
{
#ifndef GUI
if (Command!='P' && Command!='I')
@@ -656,19 +713,19 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
}
else
{
- if (!WrongPassword)
- if (Arc.FileHead.Encrypted && (!Arc.FileHead.UsePswCheck ||
- Arc.BrokenHeader) && !AnySolidDataUnpackedWell)
- uiMsg(UIERROR_CHECKSUMENC,Arc.FileName,ArcFileName);
- else
- uiMsg(UIERROR_CHECKSUM,Arc.FileName,ArcFileName);
+ if (Arc.FileHead.Encrypted && (!Arc.FileHead.UsePswCheck ||
+ Arc.BrokenHeader) && !AnySolidDataUnpackedWell)
+ uiMsg(UIERROR_CHECKSUMENC,Arc.FileName,ArcFileName);
+ else
+ uiMsg(UIERROR_CHECKSUM,Arc.FileName,ArcFileName);
BrokenFile=true;
ErrHandler.SetErrorCode(RARX_CRC);
#ifdef RARDLL
- // If we already have ERAR_EOPEN as result of missing volume,
+ // If we already have ERAR_EOPEN as result of missing volume
+ // or ERAR_BAD_PASSWORD for RAR5 wrong password,
// we should not replace it with less precise ERAR_BAD_DATA.
- if (Cmd->DllError!=ERAR_EOPEN)
- Cmd->DllError=WrongPassword ? ERAR_BAD_PASSWORD : ERAR_BAD_DATA;
+ if (Cmd->DllError!=ERAR_EOPEN && Cmd->DllError!=ERAR_BAD_PASSWORD)
+ Cmd->DllError=ERAR_BAD_DATA;
#endif
}
}
@@ -677,7 +734,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
mprintf(L"\b\b\b\b\b ");
#endif
- if (!TestMode && !WrongPassword && (Command=='X' || Command=='E') &&
+ if (!TestMode && (Command=='X' || Command=='E') &&
(!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) &&
(!BrokenFile || Cmd->KeepBroken))
{
@@ -712,7 +769,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
if (!Cmd->IgnoreGeneralAttr && !SetFileAttr(CurFile.FileName,Arc.FileHead.FileAttr))
uiMsg(UIERROR_FILEATTR,Arc.FileName,CurFile.FileName);
- PrevExtracted=true;
+ PrevProcessed=true;
}
}
}
@@ -785,12 +842,17 @@ void CmdExtract::ExtrPrepareName(Archive &Arc,const wchar *ArcFileName,wchar *De
{
wcsncpyz(DestName,Cmd->ExtrPath,DestSize);
- // We need IsPathDiv check here to correctly handle Unix forward slash
- // in the end of destination path in Windows: rar x arc dest/
- if (*Cmd->ExtrPath!=0 && !IsPathDiv(*PointToLastChar(Cmd->ExtrPath)))
+ if (*Cmd->ExtrPath!=0)
{
- // Destination path can be without trailing slash if it come from GUI shell.
- AddEndSlash(DestName,DestSize);
+ wchar LastChar=*PointToLastChar(Cmd->ExtrPath);
+ // We need IsPathDiv check here to correctly handle Unix forward slash
+ // in the end of destination path in Windows: rar x arc dest/
+ // IsDriveDiv is needed for current drive dir: rar x arc d:
+ if (!IsPathDiv(LastChar) && !IsDriveDiv(LastChar))
+ {
+ // Destination path can be without trailing slash if it come from GUI shell.
+ AddEndSlash(DestName,DestSize);
+ }
}
#ifndef SFX_MODULE
@@ -990,14 +1052,14 @@ void CmdExtract::ExtrCreateDir(Archive &Arc,const wchar *ArcFileName)
mprintf(St(MCreatDir),DestFileName);
mprintf(L" %s",St(MOk));
#endif
- PrevExtracted=true;
+ PrevProcessed=true;
}
else
if (DirExist)
{
if (!Cmd->IgnoreGeneralAttr)
SetFileAttr(DestFileName,Arc.FileHead.FileAttr);
- PrevExtracted=true;
+ PrevProcessed=true;
}
else
{
@@ -1008,7 +1070,7 @@ void CmdExtract::ExtrCreateDir(Archive &Arc,const wchar *ArcFileName)
#endif
ErrHandler.SetErrorCode(RARX_CREATE);
}
- if (PrevExtracted)
+ if (PrevProcessed)
{
#if defined(_WIN_ALL) && !defined(SFX_MODULE)
if (Cmd->SetCompressedAttr &&
diff --git a/src/thirdparty/unrar/extract.hpp b/src/thirdparty/unrar/extract.hpp
index 4ea317b61..85a21f532 100644
--- a/src/thirdparty/unrar/extract.hpp
+++ b/src/thirdparty/unrar/extract.hpp
@@ -44,7 +44,7 @@ class CmdExtract
wchar ArcName[NM];
bool PasswordAll;
- bool PrevExtracted;
+ bool PrevProcessed; // If previous file was successfully extracted or tested.
wchar DestFileName[NM];
bool PasswordCancelled;
#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
diff --git a/src/thirdparty/unrar/filcreat.cpp b/src/thirdparty/unrar/filcreat.cpp
index 6717eee90..d2bf0ac69 100644
--- a/src/thirdparty/unrar/filcreat.cpp
+++ b/src/thirdparty/unrar/filcreat.cpp
@@ -42,9 +42,13 @@ bool FileCreate(RAROptions *Cmd,File *NewFile,wchar *Name,size_t MaxNameSize,
if (Choice==UIASKREP_R_CANCEL)
ErrHandler.Exit(RARX_USERBREAK);
}
+
+ // Try to truncate the existing file first instead of delete,
+ // so we preserve existing file permissions such as NTFS permissions.
uint FileMode=WriteOnly ? FMF_WRITE|FMF_SHAREREAD:FMF_UPDATE|FMF_SHAREREAD;
if (NewFile!=NULL && NewFile->Create(Name,FileMode))
return true;
+
CreatePath(Name,true);
return NewFile!=NULL ? NewFile->Create(Name,FileMode):DelFile(Name);
}
@@ -63,13 +67,13 @@ bool GetAutoRenamedName(wchar *Name,size_t MaxNameSize)
Ext=Name+NameLength;
for (uint FileVer=1;;FileVer++)
{
-#ifdef _ANDROID // No swprintf in Android NDK r9.
+#ifdef _ANDROID // No swprintf in Android prior to Android 5.0.
uint NamePrefixLength=Ext-Name;
wcsncpy(NewName,Name,NamePrefixLength);
wcscpy(NewName+NamePrefixLength,L"(");
- itoa(FileVer,NewName+NamePrefixLength+1);
- wcscat(NewName,L")");
- wcscat(NewName,Ext);
+ itoa(FileVer,NewName+NamePrefixLength+1,ASIZE(NewName)-NamePrefixLength-1);
+ wcsncatz(NewName,L")",ASIZE(NewName));
+ wcsncatz(NewName,Ext,ASIZE(NewName));
#else
swprintf(NewName,ASIZE(NewName),L"%.*ls(%u)%ls",uint(Ext-Name),Name,FileVer,Ext);
#endif
diff --git a/src/thirdparty/unrar/file.cpp b/src/thirdparty/unrar/file.cpp
index 185474c25..7fbfb6e67 100644
--- a/src/thirdparty/unrar/file.cpp
+++ b/src/thirdparty/unrar/file.cpp
@@ -121,6 +121,12 @@ bool File::Open(const wchar *Name,uint Mode)
hNewFile=fdopen(handle,UpdateMode ? UPDATEBINARY:READBINARY);
#endif
}
+#ifdef _ANDROID
+ // If we open an existing file in r&w mode and external card is read-only
+ // for usual file API.
+ if (hNewFile==FILE_BAD_HANDLE && UpdateMode && errno!=ENOENT)
+ hNewFile=JniOpenFile(Name);
+#endif
if (hNewFile==FILE_BAD_HANDLE && errno==ENOENT)
ErrorType=FILE_NOTFOUND;
#endif
@@ -193,6 +199,8 @@ bool File::Create(const wchar *Name,uint Mode)
#ifdef _ANDROID
if (hFile==FILE_BAD_HANDLE)
hFile=JniCreateFile(Name); // If external card is read-only for usual file API.
+ if (hFile!=FILE_BAD_HANDLE)
+ JniFileNotify(Name,false);
#endif
#else
hFile=fopen(NameA,WriteMode ? WRITEBINARY:CREATEBINARY);
@@ -541,7 +549,7 @@ void File::Prealloc(int64 Size)
#if defined(_UNIX) && defined(USE_FALLOCATE)
// fallocate is rather new call. Only latest kernels support it.
// So we are not using it by default yet.
- int fd = GetFD(hFile);
+ int fd = GetFD();
if (fd >= 0)
fallocate(fd, 0, 0, Size);
#endif
@@ -567,7 +575,20 @@ bool File::Truncate()
#ifdef _WIN_ALL
return SetEndOfFile(hFile)==TRUE;
#else
- return false;
+ return ftruncate(GetFD(),(off_t)Tell())==0;
+#endif
+}
+
+
+void File::Flush()
+{
+#ifdef _WIN_ALL
+ FlushFileBuffers(hFile);
+#else
+#ifndef FILE_USE_OPEN
+ fflush(hFile);
+#endif
+ fsync(GetFD());
#endif
}
diff --git a/src/thirdparty/unrar/file.hpp b/src/thirdparty/unrar/file.hpp
index 0d6534ff7..139a40c6e 100644
--- a/src/thirdparty/unrar/file.hpp
+++ b/src/thirdparty/unrar/file.hpp
@@ -90,6 +90,7 @@ class File
byte GetByte();
void PutByte(byte Byte);
bool Truncate();
+ void Flush();
void SetOpenFileTime(RarTime *ftm,RarTime *ftc=NULL,RarTime *fta=NULL);
void SetCloseFileTime(RarTime *ftm,RarTime *fta=NULL);
static void SetCloseFileTimeByName(const wchar *Name,RarTime *ftm,RarTime *fta);
diff --git a/src/thirdparty/unrar/filefn.cpp b/src/thirdparty/unrar/filefn.cpp
index 6526f4337..0c2b03dd7 100644
--- a/src/thirdparty/unrar/filefn.cpp
+++ b/src/thirdparty/unrar/filefn.cpp
@@ -32,6 +32,8 @@ MKDIR_CODE MakeDir(const wchar *Name,bool SetAttr,uint Attr)
#ifdef _ANDROID
if (ErrCode==-1 && errno!=ENOENT)
ErrCode=JniMkdir(Name) ? 0 : -1; // If external card is read-only for usual file API.
+ if (ErrCode!=-1)
+ JniFileNotify(Name,false);
#endif
if (ErrCode==-1)
return errno==ENOENT ? MKDIR_BADPATH:MKDIR_ERROR;
@@ -333,11 +335,11 @@ void CalcFileSum(File *SrcFile,uint *CRC32,byte *Blake2,uint Threads,int64 Size,
{
SaveFilePos SavePos(*SrcFile);
#ifndef SILENT
- int64 FileLength=SrcFile->FileLength();
+ int64 FileLength=Size==INT64NDF ? SrcFile->FileLength() : Size;
#endif
#ifndef GUI
- if ((Flags & (CALCFSUM_SHOWTEXT|CALCFSUM_SHOWALL))!=0)
+ if ((Flags & (CALCFSUM_SHOWTEXT|CALCFSUM_SHOWPERCENT))!=0)
#endif
uiMsg(UIEVENT_FILESUMSTART);
@@ -353,6 +355,7 @@ void CalcFileSum(File *SrcFile,uint *CRC32,byte *Blake2,uint Threads,int64 Size,
HashBlake2.Init(HASH_BLAKE2,Threads);
int64 BlockCount=0;
+ int64 TotalRead=0;
while (true)
{
size_t SizeToRead;
@@ -363,14 +366,20 @@ void CalcFileSum(File *SrcFile,uint *CRC32,byte *Blake2,uint Threads,int64 Size,
int ReadSize=SrcFile->Read(&Data[0],SizeToRead);
if (ReadSize==0)
break;
+ TotalRead+=ReadSize;
if ((++BlockCount & 0xf)==0)
{
#ifndef SILENT
+ if ((Flags & CALCFSUM_SHOWPROGRESS)!=0)
+ uiExtractProgress(TotalRead,FileLength,TotalRead,FileLength);
+ else
+ {
#ifndef GUI
- if ((Flags & CALCFSUM_SHOWALL)!=0)
+ if ((Flags & CALCFSUM_SHOWPERCENT)!=0)
#endif
- uiMsg(UIEVENT_FILESUMPROGRESS,ToPercent(BlockCount*int64(BufSize),FileLength));
+ uiMsg(UIEVENT_FILESUMPROGRESS,ToPercent(TotalRead,FileLength));
+ }
#endif
Wait();
}
@@ -384,7 +393,7 @@ void CalcFileSum(File *SrcFile,uint *CRC32,byte *Blake2,uint Threads,int64 Size,
Size-=ReadSize;
}
#ifndef GUI
- if ((Flags & CALCFSUM_SHOWALL)!=0)
+ if ((Flags & CALCFSUM_SHOWPERCENT)!=0)
#endif
uiMsg(UIEVENT_FILESUMEND);
@@ -420,6 +429,11 @@ bool RenameFile(const wchar *SrcName,const wchar *DestName)
#ifdef _ANDROID
if (!Success)
Success=JniRename(SrcName,DestName); // If external card is read-only for usual file API.
+ if (Success)
+ {
+ JniFileNotify(SrcName,true);
+ JniFileNotify(DestName,false);
+ }
#endif
return Success;
#endif
@@ -444,6 +458,8 @@ bool DelFile(const wchar *Name)
#ifdef _ANDROID
if (!Success)
Success=JniDelete(Name);
+ if (Success)
+ JniFileNotify(Name,true);
#endif
return Success;
#endif
diff --git a/src/thirdparty/unrar/filefn.hpp b/src/thirdparty/unrar/filefn.hpp
index b06cc64e1..3a0c7a798 100644
--- a/src/thirdparty/unrar/filefn.hpp
+++ b/src/thirdparty/unrar/filefn.hpp
@@ -28,7 +28,7 @@ void PrepareToDelete(const wchar *Name);
uint GetFileAttr(const wchar *Name);
bool SetFileAttr(const wchar *Name,uint Attr);
-enum CALCFSUM_FLAGS {CALCFSUM_SHOWTEXT=1,CALCFSUM_SHOWALL=2,CALCFSUM_CURPOS=4};
+enum CALCFSUM_FLAGS {CALCFSUM_SHOWTEXT=1,CALCFSUM_SHOWPERCENT=2,CALCFSUM_SHOWPROGRESS=4,CALCFSUM_CURPOS=8};
void CalcFileSum(File *SrcFile,uint *CRC32,byte *Blake2,uint Threads,int64 Size=INT64NDF,uint Flags=0);
diff --git a/src/thirdparty/unrar/filestr.cpp b/src/thirdparty/unrar/filestr.cpp
index 5fa946a4d..d8ac36da5 100644
--- a/src/thirdparty/unrar/filestr.cpp
+++ b/src/thirdparty/unrar/filestr.cpp
@@ -1,7 +1,5 @@
#include "rar.hpp"
-static bool IsUnicode(byte *Data,int Size);
-
bool ReadTextFile(
const wchar *Name,
StringList *List,
@@ -36,7 +34,7 @@ bool ReadTextFile(
else
SrcFile.SetHandleType(FILE_HANDLESTD);
- unsigned int DataSize=0,ReadSize;
+ uint DataSize=0,ReadSize;
const int ReadBlock=4096;
// Our algorithm below needs at least two trailing zeroes after data.
@@ -44,7 +42,7 @@ bool ReadTextFile(
// in case read Unicode data contains uneven number of bytes.
const size_t ZeroPadding=5;
- Array<char> Data(ReadBlock+ZeroPadding);
+ Array<byte> Data(ReadBlock+ZeroPadding);
while ((ReadSize=SrcFile.Read(&Data[DataSize],ReadBlock))!=0)
{
DataSize+=ReadSize;
@@ -55,17 +53,30 @@ bool ReadTextFile(
Array<wchar> WideStr;
- if (SrcCharset==RCH_UNICODE ||
- SrcCharset==RCH_DEFAULT && IsUnicode((byte *)&Data[0],DataSize))
+ int LowEndian=Data[0]==255 && Data[1]==254 ? 1:0;
+ int BigEndian=Data[0]==254 && Data[1]==255 ? 1:0;
+
+ bool IsUnicode=false;
+ if (LowEndian || BigEndian)
+ for (size_t I=2;I<DataSize;I++)
+ if (Data[I]<32 && Data[I]!='\r' && Data[I]!='\n')
+ {
+ IsUnicode=true; // High byte in UTF-16 char is found.
+ break;
+ }
+
+ if (SrcCharset==RCH_UNICODE || SrcCharset==RCH_DEFAULT && IsUnicode)
{
- // Unicode in native system format, can be more than 2 bytes per character.
- Array<wchar> DataW(Data.Size()/2+1);
- for (size_t I=2;I<Data.Size()-1;I+=2)
+ size_t Start=2; // Skip byte order mark.
+ if (!LowEndian && !BigEndian) // No byte order mask.
{
- // Need to convert Data to (byte) first to prevent the sign extension
- // to higher bytes.
- DataW[(I-2)/2]=(wchar)((byte)Data[I])+(wchar)((byte)Data[I+1])*256;
+ Start=0;
+ LowEndian=1;
}
+
+ Array<wchar> DataW(Data.Size()/2+1);
+ for (size_t I=Start;I<Data.Size()-1;I+=2)
+ DataW[(I-Start)/2]=Data[I+BigEndian]+Data[I+LowEndian]*256;
wchar *CurStr=&DataW[0];
@@ -122,7 +133,7 @@ bool ReadTextFile(
}
else
{
- char *CurStr=&Data[0];
+ char *CurStr=(char *)&Data[0];
while (*CurStr!=0)
{
char *NextStr=CurStr,*CmtPtr=NULL;
@@ -183,14 +194,3 @@ bool ReadTextFile(
}
return true;
}
-
-
-bool IsUnicode(byte *Data,int Size)
-{
- if (Size<4 || Data[0]!=0xff || Data[1]!=0xfe)
- return false;
- for (int I=2;I<Size;I++)
- if (Data[I]<32 && Data[I]!='\r' && Data[I]!='\n')
- return true;
- return false;
-}
diff --git a/src/thirdparty/unrar/getbits.cpp b/src/thirdparty/unrar/getbits.cpp
index e57b3e32f..e4db2695f 100644
--- a/src/thirdparty/unrar/getbits.cpp
+++ b/src/thirdparty/unrar/getbits.cpp
@@ -38,7 +38,7 @@ void BitInput::faddbits(uint Bits)
uint BitInput::fgetbits()
{
// Function wrapped version of inline getbits to save code size.
- return(getbits());
+ return getbits();
}
diff --git a/src/thirdparty/unrar/getbits.hpp b/src/thirdparty/unrar/getbits.hpp
index 6a5430b0b..2e151da9a 100644
--- a/src/thirdparty/unrar/getbits.hpp
+++ b/src/thirdparty/unrar/getbits.hpp
@@ -37,7 +37,7 @@ class BitInput
BitField|=(uint)InBuf[InAddr+1] << 8;
BitField|=(uint)InBuf[InAddr+2];
BitField >>= (8-InBit);
- return(BitField & 0xffff);
+ return BitField & 0xffff;
}
// Return 32 bits from current position in the buffer.
@@ -50,7 +50,7 @@ class BitInput
BitField|=(uint)InBuf[InAddr+3];
BitField <<= InBit;
BitField|=(uint)InBuf[InAddr+4] >> (8-InBit);
- return(BitField & 0xffffffff);
+ return BitField & 0xffffffff;
}
void faddbits(uint Bits);
@@ -60,7 +60,7 @@ class BitInput
// if buffer will be overflown.
bool Overflow(uint IncPtr)
{
- return(InAddr+IncPtr>=MAX_SIZE);
+ return InAddr+IncPtr>=MAX_SIZE;
}
void SetExternalBuffer(byte *Buf);
diff --git a/src/thirdparty/unrar/hash.cpp b/src/thirdparty/unrar/hash.cpp
index 578e32fa0..42791f4f4 100644
--- a/src/thirdparty/unrar/hash.cpp
+++ b/src/thirdparty/unrar/hash.cpp
@@ -41,6 +41,7 @@ bool HashValue::operator == (const HashValue &cmp)
DataHash::DataHash()
{
+ blake2ctx=NULL;
HashType=HASH_NONE;
#ifdef RAR_SMP
ThPool=NULL;
@@ -54,20 +55,26 @@ DataHash::~DataHash()
#ifdef RAR_SMP
DestroyThreadPool(ThPool);
#endif
- cleandata(&blake2ctx, sizeof(blake2ctx));
cleandata(&CurCRC32, sizeof(CurCRC32));
+ if (blake2ctx!=NULL)
+ {
+ cleandata(blake2ctx, sizeof(blake2sp_state));
+ delete blake2ctx;
+ }
}
void DataHash::Init(HASH_TYPE Type,uint MaxThreads)
{
+ if (blake2ctx==NULL)
+ blake2ctx=new blake2sp_state;
HashType=Type;
if (Type==HASH_RAR14)
CurCRC32=0;
if (Type==HASH_CRC32)
CurCRC32=0xffffffff; // Initial CRC32 value.
if (Type==HASH_BLAKE2)
- blake2sp_init( &blake2ctx );
+ blake2sp_init(blake2ctx);
#ifdef RAR_SMP
DataHash::MaxThreads=Min(MaxThreads,MaxHashThreads);
#endif
@@ -88,10 +95,10 @@ void DataHash::Update(const void *Data,size_t DataSize)
#ifdef RAR_SMP
if (MaxThreads>1 && ThPool==NULL)
ThPool=CreateThreadPool();
- blake2ctx.ThPool=ThPool;
- blake2ctx.MaxThreads=MaxThreads;
+ blake2ctx->ThPool=ThPool;
+ blake2ctx->MaxThreads=MaxThreads;
#endif
- blake2sp_update( &blake2ctx, (byte *)Data, DataSize);
+ blake2sp_update( blake2ctx, (byte *)Data, DataSize);
}
}
@@ -106,8 +113,8 @@ void DataHash::Result(HashValue *Result)
if (HashType==HASH_BLAKE2)
{
// Preserve the original context, so we can continue hashing if necessary.
- blake2sp_state res=blake2ctx;
- blake2sp_final( &res, Result->Digest );
+ blake2sp_state res=*blake2ctx;
+ blake2sp_final(&res,Result->Digest);
}
}
diff --git a/src/thirdparty/unrar/hash.hpp b/src/thirdparty/unrar/hash.hpp
index dae31d1b2..b7d879f66 100644
--- a/src/thirdparty/unrar/hash.hpp
+++ b/src/thirdparty/unrar/hash.hpp
@@ -29,7 +29,7 @@ class DataHash
private:
HASH_TYPE HashType;
uint CurCRC32;
- blake2sp_state blake2ctx;
+ blake2sp_state *blake2ctx;
#ifdef RAR_SMP
ThreadPool *ThPool;
diff --git a/src/thirdparty/unrar/headers.hpp b/src/thirdparty/unrar/headers.hpp
index 7f15a67b6..948647899 100644
--- a/src/thirdparty/unrar/headers.hpp
+++ b/src/thirdparty/unrar/headers.hpp
@@ -20,9 +20,9 @@
#define SIZEOF_STREAMHEAD 26
#define VER_PACK 29
-#define VER_PACK5 0
+#define VER_PACK5 50 // It is stored as 0, but we subtract 50 when saving an archive.
#define VER_UNPACK 29
-#define VER_UNPACK5 0
+#define VER_UNPACK5 50 // It is stored as 0, but we add 50 when reading an archive.
#define MHD_VOLUME 0x0001U
diff --git a/src/thirdparty/unrar/isnt.cpp b/src/thirdparty/unrar/isnt.cpp
index 53c722ab4..6fadec049 100644
--- a/src/thirdparty/unrar/isnt.cpp
+++ b/src/thirdparty/unrar/isnt.cpp
@@ -19,6 +19,6 @@ DWORD WinNT()
Result=dwMajorVersion*0x100+dwMinorVersion;
- return(Result);
+ return Result;
}
#endif
diff --git a/src/thirdparty/unrar/isnt.hpp b/src/thirdparty/unrar/isnt.hpp
index 520ac8ad7..877d88012 100644
--- a/src/thirdparty/unrar/isnt.hpp
+++ b/src/thirdparty/unrar/isnt.hpp
@@ -3,7 +3,8 @@
enum WINNT_VERSION {
WNT_NONE=0,WNT_NT351=0x0333,WNT_NT4=0x0400,WNT_W2000=0x0500,
- WNT_WXP=0x0501,WNT_W2003=0x0502,WNT_VISTA=0x0600,WNT_W7=0x0601
+ WNT_WXP=0x0501,WNT_W2003=0x0502,WNT_VISTA=0x0600,WNT_W7=0x0601,
+ WNT_W8=0x0602,WNT_W81=0x0603,WNT_W10=0x0a00
};
DWORD WinNT();
diff --git a/src/thirdparty/unrar/list.cpp b/src/thirdparty/unrar/list.cpp
index d64e274a6..561122b45 100644
--- a/src/thirdparty/unrar/list.cpp
+++ b/src/thirdparty/unrar/list.cpp
@@ -77,7 +77,7 @@ void ListArchive(CommandData *Cmd)
#ifndef SFX_MODULE
// Only RAR 1.5 archives store the volume number in end record.
if (Arc.EndArcHead.StoreVolNumber && Arc.Format==RARFMT15)
- swprintf(VolNumText,ASIZE(VolNumText),L"%.10ls %d",St(MListVolume),Arc.VolNumber+1);
+ swprintf(VolNumText,ASIZE(VolNumText),L"%.10ls %u",St(MListVolume),Arc.VolNumber+1);
#endif
if (Technical && ShowService)
{
@@ -117,22 +117,22 @@ void ListArchive(CommandData *Cmd)
if (TitleShown)
{
wchar UnpSizeText[20];
- itoa(TotalUnpSize,UnpSizeText);
+ itoa(TotalUnpSize,UnpSizeText,ASIZE(UnpSizeText));
wchar PackSizeText[20];
- itoa(TotalPackSize,PackSizeText);
+ itoa(TotalPackSize,PackSizeText,ASIZE(PackSizeText));
if (Verbose)
{
- mprintf(L"\n----------- --------- -------- ----- -------- ----- -------- ----");
- mprintf(L"\n%21ls %9ls %3d%% %-25ls %u",UnpSizeText,
+ mprintf(L"\n----------- --------- -------- ----- ---------- ----- -------- ----");
+ mprintf(L"\n%21ls %9ls %3d%% %-27ls %u",UnpSizeText,
PackSizeText,ToPercentUnlim(TotalPackSize,TotalUnpSize),
VolNumText,FileCount);
}
else
{
- mprintf(L"\n----------- --------- -------- ----- ----");
- mprintf(L"\n%21ls %-14ls %u",UnpSizeText,VolNumText,FileCount);
+ mprintf(L"\n----------- --------- ---------- ----- ----");
+ mprintf(L"\n%21ls %-16ls %u",UnpSizeText,VolNumText,FileCount);
}
SumFileCount+=FileCount;
@@ -149,9 +149,7 @@ void ListArchive(CommandData *Cmd)
if (Cmd->VolSize!=0 && (Arc.FileHead.SplitAfter ||
Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
MergeArchive(Arc,NULL,false,Cmd->Command[0]))
- {
Arc.Seek(0,SEEK_SET);
- }
else
#endif
break;
@@ -172,14 +170,14 @@ void ListArchive(CommandData *Cmd)
if (ArcCount>1 && !Bare && !Technical)
{
wchar UnpSizeText[20],PackSizeText[20];
- itoa(SumUnpSize,UnpSizeText);
- itoa(SumPackSize,PackSizeText);
+ itoa(SumUnpSize,UnpSizeText,ASIZE(UnpSizeText));
+ itoa(SumPackSize,PackSizeText,ASIZE(PackSizeText));
if (Verbose)
- mprintf(L"%21ls %9ls %3d%% %26ls %u",UnpSizeText,PackSizeText,
+ mprintf(L"%21ls %9ls %3d%% %28ls %u",UnpSizeText,PackSizeText,
ToPercentUnlim(SumPackSize,SumUnpSize),L"",SumFileCount);
else
- mprintf(L"%21ls %16s %lu",UnpSizeText,L"",SumFileCount);
+ mprintf(L"%21ls %18s %lu",UnpSizeText,L"",SumFileCount);
}
}
@@ -205,22 +203,22 @@ void ListFileHeader(Archive &Arc,FileHeader &hd,bool &TitleShown,bool Verbose,bo
if (Verbose)
{
mprintf(L"\n%ls",St(MListTitleV));
- mprintf(L"\n----------- --------- -------- ----- -------- ----- -------- ----");
+ mprintf(L"\n----------- --------- -------- ----- ---------- ----- -------- ----");
}
else
{
mprintf(L"\n%ls",St(MListTitleL));
- mprintf(L"\n----------- --------- -------- ----- ----");
+ mprintf(L"\n----------- --------- ---------- ----- ----");
}
TitleShown=true;
}
- wchar UnpSizeText[20],PackSizeText[20];
+ wchar UnpSizeText[30],PackSizeText[30];
if (hd.UnpSize==INT64NDF)
wcscpy(UnpSizeText,L"?");
else
- itoa(hd.UnpSize,UnpSizeText);
- itoa(hd.PackSize,PackSizeText);
+ itoa(hd.UnpSize,UnpSizeText,ASIZE(UnpSizeText));
+ itoa(hd.PackSize,PackSizeText,ASIZE(PackSizeText));
wchar AttrStr[30];
if (hd.HeaderType==HEAD_SERVICE)
@@ -242,7 +240,7 @@ void ListFileHeader(Archive &Arc,FileHeader &hd,bool &TitleShown,bool Verbose,bo
swprintf(RatioStr,ASIZE(RatioStr),L"%d%%",ToPercentUnlim(hd.PackSize,hd.UnpSize));
wchar DateStr[50];
- hd.mtime.GetText(DateStr,ASIZE(DateStr),Technical,Technical);
+ hd.mtime.GetText(DateStr,ASIZE(DateStr),Technical);
if (Technical)
{
@@ -309,12 +307,12 @@ void ListFileHeader(Archive &Arc,FileHeader &hd,bool &TitleShown,bool Verbose,bo
mprintf(L"\n%12ls: %ls",St(MListMtime),DateStr);
if (hd.ctime.IsSet())
{
- hd.ctime.GetText(DateStr,ASIZE(DateStr),true,true);
+ hd.ctime.GetText(DateStr,ASIZE(DateStr),true);
mprintf(L"\n%12ls: %ls",St(MListCtime),DateStr);
}
if (hd.atime.IsSet())
{
- hd.atime.GetText(DateStr,ASIZE(DateStr),true,true);
+ hd.atime.GetText(DateStr,ASIZE(DateStr),true);
mprintf(L"\n%12ls: %ls",St(MListAtime),DateStr);
}
mprintf(L"\n%12ls: %ls",St(MListAttr),AttrStr);
@@ -405,7 +403,7 @@ void ListFileHeader(Archive &Arc,FileHeader &hd,bool &TitleShown,bool Verbose,bo
else
mprintf(L"???????? ");
}
- mprintf(L"%-12ls",Name);
+ mprintf(L"%ls",Name);
}
/*
@@ -435,13 +433,13 @@ void ListFileAttr(uint A,HOST_SYSTEM_TYPE HostType,wchar *AttrStr,size_t AttrSiz
{
case HSYS_WINDOWS:
swprintf(AttrStr,AttrSize,L"%c%c%c%c%c%c%c",
- (A & 0x2000) ? 'I' : '.', // Not content indexed.
- (A & 0x0800) ? 'C' : '.', // Compressed.
- (A & 0x0020) ? 'A' : '.', // Archive.
- (A & 0x0010) ? 'D' : '.', // Directory.
- (A & 0x0004) ? 'S' : '.', // System.
- (A & 0x0002) ? 'H' : '.', // Hidden.
- (A & 0x0001) ? 'R' : '.'); // Read-only.
+ (A & 0x2000)!=0 ? 'I' : '.', // Not content indexed.
+ (A & 0x0800)!=0 ? 'C' : '.', // Compressed.
+ (A & 0x0020)!=0 ? 'A' : '.', // Archive.
+ (A & 0x0010)!=0 ? 'D' : '.', // Directory.
+ (A & 0x0004)!=0 ? 'S' : '.', // System.
+ (A & 0x0002)!=0 ? 'H' : '.', // Hidden.
+ (A & 0x0001)!=0 ? 'R' : '.'); // Read-only.
break;
case HSYS_UNIX:
switch (A & 0xF000)
@@ -459,13 +457,13 @@ void ListFileAttr(uint A,HOST_SYSTEM_TYPE HostType,wchar *AttrStr,size_t AttrSiz
swprintf(AttrStr+1,AttrSize-1,L"%c%c%c%c%c%c%c%c%c",
(A & 0x0100) ? 'r' : '-',
(A & 0x0080) ? 'w' : '-',
- (A & 0x0040) ? ((A & 0x0800) ? 's':'x'):((A & 0x0800) ? 'S':'-'),
+ (A & 0x0040) ? ((A & 0x0800)!=0 ? 's':'x'):((A & 0x0800)!=0 ? 'S':'-'),
(A & 0x0020) ? 'r' : '-',
(A & 0x0010) ? 'w' : '-',
- (A & 0x0008) ? ((A & 0x0400) ? 's':'x'):((A & 0x0400) ? 'S':'-'),
+ (A & 0x0008) ? ((A & 0x0400)!=0 ? 's':'x'):((A & 0x0400)!=0 ? 'S':'-'),
(A & 0x0004) ? 'r' : '-',
(A & 0x0002) ? 'w' : '-',
- (A & 0x0001) ? 'x' : '-');
+ (A & 0x0001) ? ((A & 0x200)!=0 ? 't' : 'x') : '-');
break;
case HSYS_UNKNOWN:
wcscpy(AttrStr,L"?");
diff --git a/src/thirdparty/unrar/loclang.hpp b/src/thirdparty/unrar/loclang.hpp
index 52bcafe92..71b8985d1 100644
--- a/src/thirdparty/unrar/loclang.hpp
+++ b/src/thirdparty/unrar/loclang.hpp
@@ -9,6 +9,8 @@
#define MShare L"\nTrial version Type RAR -? for help\n"
#define MUCopyright L"\nUNRAR %s freeware Copyright (c) 1993-%d Alexander Roshal\n"
#define MBeta L"beta"
+#define Mx86 L"x86"
+#define Mx64 L"x64"
#define MMonthJan L"Jan"
#define MMonthFeb L"Feb"
#define MMonthMar L"Mar"
@@ -83,6 +85,7 @@
#define MCHelpSwINUL L"\n inul Disable all messages"
#define MCHelpSwIOFF L"\n ioff Turn PC off after completing an operation"
#define MCHelpSwISND L"\n isnd Enable sound"
+#define MCHelpSwIVER L"\n iver Display the version number"
#define MCHelpSwK L"\n k Lock archive"
#define MCHelpSwKB L"\n kb Keep broken extracted files"
#define MCHelpSwLog L"\n log[f][=name] Write names to log file"
@@ -100,6 +103,7 @@
#define MCHelpSwOH L"\n oh Save hard links as the link instead of the file"
#define MCHelpSwOI L"\n oi[0-4][:min] Save identical files as references"
#define MCHelpSwOL L"\n ol[a] Process symbolic links as the link [absolute paths]"
+#define MCHelpSwONI L"\n oni Allow potentially incompatible names"
#define MCHelpSwOR L"\n or Rename files automatically"
#define MCHelpSwOS L"\n os Save NTFS streams"
#define MCHelpSwOW L"\n ow Save or restore file owner and group"
@@ -237,7 +241,7 @@
#define MDeleting L"\nDeleting %s"
#define MEraseArc L"\nErasing empty archive %s"
#define MNoDelFiles L"\nNo files to delete"
-#define MLogTitle L"\n\n-------- %2d %s %d, archive %s\n"
+#define MLogTitle L"-------- %2d %s %d, archive %s"
#define MPathTooLong L"\nERROR: Path too long\n"
#define MListArchive L"Archive"
#define MListDetails L"Details"
@@ -248,8 +252,8 @@
#define MListLock L"lock"
#define MListEnc L"encrypted"
#define MListEncHead L"encrypted headers"
-#define MListTitleL L" Attributes Size Date Time Name"
-#define MListTitleV L" Attributes Size Packed Ratio Date Time Checksum Name"
+#define MListTitleL L" Attributes Size Date Time Name"
+#define MListTitleV L" Attributes Size Packed Ratio Date Time Checksum Name"
#define MListName L"Name"
#define MListType L"Type"
#define MListFile L"File"
@@ -258,7 +262,7 @@
#define MListWSymlink L"Windows symbolic link"
#define MListJunction L"NTFS junction point"
#define MListHardlink L"Hard link"
-#define MListCopy L"File copy"
+#define MListCopy L"File reference"
#define MListStream L"NTFS alternate data stream"
#define MListTarget L"Target"
#define MListSize L"Size"
@@ -375,7 +379,7 @@
#define MNumFound L"%d found."
#define MUnknownExtra L"\nUnknown extra field in %s."
#define MCopyError L"\nCannot copy %s to %s."
-#define MCopyErrorHint L"\nYou need to unpack the entire archive to create file copy entries."
+#define MCopyErrorHint L"\nYou need to unpack the entire archive to create file reference entries."
#define MCopyingData L"\nCopying data"
#define MErrCreateLnkS L"\nCannot create symbolic link %s"
#define MErrCreateLnkH L"\nCannot create hard link %s"
diff --git a/src/thirdparty/unrar/options.hpp b/src/thirdparty/unrar/options.hpp
index a6ec227f0..05d9e10cc 100644
--- a/src/thirdparty/unrar/options.hpp
+++ b/src/thirdparty/unrar/options.hpp
@@ -95,6 +95,7 @@ class RAROptions
RAR_CHARSET CommentCharset;
RAR_CHARSET FilelistCharset;
RAR_CHARSET ErrlogCharset;
+ RAR_CHARSET RedirectCharset;
wchar ArcPath[NM];
SecPassword Password;
@@ -113,6 +114,7 @@ class RAROptions
bool DisablePercentage;
bool DisableCopyright;
bool DisableDone;
+ bool PrintVersion;
int Solid;
int SolidCount;
bool ClearArc;
@@ -139,6 +141,10 @@ class RAROptions
bool OpenShared;
bool DeleteFiles;
+#ifdef _WIN_ALL
+ bool AllowIncompatNames; // Allow names with trailing dots and spaces.
+#endif
+
#ifndef SFX_MODULE
bool GenerateArcName;
diff --git a/src/thirdparty/unrar/pathfn.cpp b/src/thirdparty/unrar/pathfn.cpp
index b6e220eee..1fe6b98dc 100644
--- a/src/thirdparty/unrar/pathfn.cpp
+++ b/src/thirdparty/unrar/pathfn.cpp
@@ -144,9 +144,16 @@ bool IsDriveDiv(int Ch)
}
+bool IsDriveLetter(const wchar *Path)
+{
+ wchar Letter=etoupperw(Path[0]);
+ return Letter>='A' && Letter<='Z' && IsDriveDiv(Path[1]);
+}
+
+
int GetPathDisk(const wchar *Path)
{
- if (IsDiskLetter(Path))
+ if (IsDriveLetter(Path))
return etoupperw(*Path)-'A';
else
return -1;
@@ -534,7 +541,7 @@ bool IsFullPath(const wchar *Path)
return true;
*/
#if defined(_WIN_ALL) || defined(_EMX)
- return Path[0]=='\\' && Path[1]=='\\' || IsDiskLetter(Path) && IsPathDiv(Path[2]);
+ return Path[0]=='\\' && Path[1]=='\\' || IsDriveLetter(Path) && IsPathDiv(Path[2]);
#else
return IsPathDiv(Path[0]);
#endif
@@ -547,17 +554,10 @@ bool IsFullRootPath(const wchar *Path)
}
-bool IsDiskLetter(const wchar *Path)
-{
- wchar Letter=etoupperw(Path[0]);
- return Letter>='A' && Letter<='Z' && IsDriveDiv(Path[1]);
-}
-
-
void GetPathRoot(const wchar *Path,wchar *Root,size_t MaxSize)
{
*Root=0;
- if (IsDiskLetter(Path))
+ if (IsDriveLetter(Path))
swprintf(Root,MaxSize,L"%c:\\",*Path);
else
if (Path[0]=='\\' && Path[1]=='\\')
@@ -733,16 +733,16 @@ static void GenArcName(wchar *ArcName,const wchar *GenerateMask,uint ArcNumber,b
char Field[10][6];
- sprintf(Field[0],"%04d",rlt.Year);
- sprintf(Field[1],"%02d",rlt.Month);
- sprintf(Field[2],"%02d",rlt.Day);
- sprintf(Field[3],"%02d",rlt.Hour);
- sprintf(Field[4],"%02d",rlt.Minute);
- sprintf(Field[5],"%02d",rlt.Second);
- sprintf(Field[6],"%02d",CurWeek);
- sprintf(Field[7],"%d",WeekDay+1);
- sprintf(Field[8],"%03d",rlt.yDay+1);
- sprintf(Field[9],"%05d",ArcNumber);
+ sprintf(Field[0],"%04u",rlt.Year);
+ sprintf(Field[1],"%02u",rlt.Month);
+ sprintf(Field[2],"%02u",rlt.Day);
+ sprintf(Field[3],"%02u",rlt.Hour);
+ sprintf(Field[4],"%02u",rlt.Minute);
+ sprintf(Field[5],"%02u",rlt.Second);
+ sprintf(Field[6],"%02u",(uint)CurWeek);
+ sprintf(Field[7],"%u",(uint)WeekDay+1);
+ sprintf(Field[8],"%03u",rlt.yDay+1);
+ sprintf(Field[9],"%05u",ArcNumber);
const wchar *MaskChars=L"YMDHISWAEN";
@@ -873,7 +873,7 @@ wchar* GetWideName(const char *Name,const wchar *NameW,wchar *DestW,size_t DestS
if (DestSize>0)
DestW[DestSize-1]=0;
- return(DestW);
+ return DestW;
}
@@ -887,11 +887,11 @@ bool GetWinLongPath(const wchar *Src,wchar *Dest,size_t MaxSize)
return false;
const wchar *Prefix=L"\\\\?\\";
const size_t PrefixLength=4;
- bool FullPath=IsDiskLetter(Src) && IsPathDiv(Src[2]);
+ bool FullPath=IsDriveLetter(Src) && IsPathDiv(Src[2]);
size_t SrcLength=wcslen(Src);
if (IsFullPath(Src)) // Paths in d:\path\name format.
{
- if (IsDiskLetter(Src))
+ if (IsDriveLetter(Src))
{
if (MaxSize<=PrefixLength+SrcLength)
return false;
@@ -945,4 +945,39 @@ bool GetWinLongPath(const wchar *Src,wchar *Dest,size_t MaxSize)
}
return false;
}
+
+
+// Convert Unix, OS X and Android decomposed chracters to Windows precomposed.
+void ConvertToPrecomposed(wchar *Name,size_t NameSize)
+{
+ wchar FileName[NM];
+ if (WinNT()>=WNT_VISTA && // MAP_PRECOMPOSED is not supported in XP.
+ FoldString(MAP_PRECOMPOSED,Name,-1,FileName,ASIZE(FileName))!=0)
+ {
+ FileName[ASIZE(FileName)-1]=0;
+ wcsncpyz(Name,FileName,NameSize);
+ }
+}
+
+
+// Remove trailing spaces and dots in file name and in dir names in path.
+void MakeNameCompatible(wchar *Name)
+{
+ int Src=0,Dest=0;
+ while (true)
+ {
+ if (IsPathDiv(Name[Src]) || Name[Src]==0)
+ for (int I=Dest-1;I>0 && (Name[I]==' ' || Name[I]=='.');I--)
+ {
+ if (IsPathDiv(Name[I-1])) // Permit path1/./path2 paths.
+ break;
+ Dest--;
+ }
+ Name[Dest]=Name[Src];
+ if (Name[Src]==0)
+ break;
+ Src++;
+ Dest++;
+ }
+}
#endif
diff --git a/src/thirdparty/unrar/pathfn.hpp b/src/thirdparty/unrar/pathfn.hpp
index ae1f8c2e8..f08269464 100644
--- a/src/thirdparty/unrar/pathfn.hpp
+++ b/src/thirdparty/unrar/pathfn.hpp
@@ -12,6 +12,7 @@ bool CmpExt(const wchar *Name,const wchar *Ext);
bool IsWildcard(const wchar *Str);
bool IsPathDiv(int Ch);
bool IsDriveDiv(int Ch);
+bool IsDriveLetter(const wchar *Path);
int GetPathDisk(const wchar *Path);
void AddEndSlash(wchar *Path,size_t MaxLength);
void MakeName(const wchar *Path,const wchar *Name,wchar *Pathname,size_t MaxSize);
@@ -57,7 +58,6 @@ inline void SlashToNative(const wchar *SrcName,wchar *DestName,size_t MaxLength)
void ConvertNameToFull(const wchar *Src,wchar *Dest,size_t MaxSize);
bool IsFullPath(const wchar *Path);
bool IsFullRootPath(const wchar *Path);
-bool IsDiskLetter(const wchar *Path);
void GetPathRoot(const wchar *Path,wchar *Root,size_t MaxSize);
int ParseVersionFileName(wchar *Name,bool Truncate);
wchar* VolNameToFirstName(const wchar *VolName,wchar *FirstName,size_t MaxSize,bool NewNumbering);
@@ -69,6 +69,8 @@ void GenerateArchiveName(wchar *ArcName,size_t MaxSize,const wchar *GenerateMask
#ifdef _WIN_ALL
bool GetWinLongPath(const wchar *Src,wchar *Dest,size_t MaxSize);
+void ConvertToPrecomposed(wchar *Name,size_t NameSize);
+void MakeNameCompatible(wchar *Name);
#endif
#endif
diff --git a/src/thirdparty/unrar/rar.cpp b/src/thirdparty/unrar/rar.cpp
index 6c8f07240..c1f070be9 100644
--- a/src/thirdparty/unrar/rar.cpp
+++ b/src/thirdparty/unrar/rar.cpp
@@ -55,6 +55,7 @@ int main(int argc, char *argv[])
}
Cmd->AddArcName(ModuleName);
Cmd->ParseDone();
+ Cmd->AbsoluteLinks=true; // If users runs SFX, he trusts an archive source.
#else // !SFX_MODULE
Cmd->ParseCommandLine(true,argc,argv);
if (!Cmd->ConfigDisabled)
@@ -70,10 +71,9 @@ int main(int argc, char *argv[])
#endif
uiInit(Cmd->Sound);
- InitConsoleOptions(Cmd->MsgStream);
+ InitConsoleOptions(Cmd->MsgStream,Cmd->RedirectCharset);
InitLogOptions(Cmd->LogName,Cmd->ErrlogCharset);
ErrHandler.SetSilent(Cmd->AllYes || Cmd->MsgStream==MSG_NULL);
- ErrHandler.SetShutdown(Cmd->Shutdown);
Cmd->OutTitle();
Cmd->ProcessCommand();
@@ -94,7 +94,7 @@ int main(int argc, char *argv[])
}
#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SHELL_EXT)
- if (ShutdownOnClose)
+ if (ShutdownOnClose && ErrHandler.IsShutdownEnabled())
Shutdown();
#endif
ErrHandler.MainExit=true;
diff --git a/src/thirdparty/unrar/rardefs.hpp b/src/thirdparty/unrar/rardefs.hpp
index 93276233b..80f39b129 100644
--- a/src/thirdparty/unrar/rardefs.hpp
+++ b/src/thirdparty/unrar/rardefs.hpp
@@ -13,7 +13,9 @@
// for CryptProtectMemory in SecPassword.
#define MAXPASSWORD 128
-#define MAXSFXSIZE 0x100000
+#define MAXSFXSIZE 0x200000
+
+#define MAXCMTSIZE 0x40000
#define DefSFXName L"default.sfx"
#define DefSortListName L"rarfiles.lst"
diff --git a/src/thirdparty/unrar/raros.hpp b/src/thirdparty/unrar/raros.hpp
index de3bbeb76..4f4f2ae79 100644
--- a/src/thirdparty/unrar/raros.hpp
+++ b/src/thirdparty/unrar/raros.hpp
@@ -19,7 +19,7 @@
#endif
#endif
-#ifdef ANDROID
+#if defined(ANDROID) || defined(__ANDROID__)
#define _UNIX
#define _ANDROID
#endif
diff --git a/src/thirdparty/unrar/rdwrfn.cpp b/src/thirdparty/unrar/rdwrfn.cpp
index 50c715d3c..5d2598e40 100644
--- a/src/thirdparty/unrar/rdwrfn.cpp
+++ b/src/thirdparty/unrar/rdwrfn.cpp
@@ -2,6 +2,10 @@
ComprDataIO::ComprDataIO()
{
+#ifndef RAR_NOCRYPT
+ Crypt=new CryptData;
+ Decrypt=new CryptData;
+#endif
Init();
}
@@ -33,6 +37,13 @@ void ComprDataIO::Init()
}
+ComprDataIO::~ComprDataIO()
+{
+#ifndef RAR_NOCRYPT
+ delete Crypt;
+ delete Decrypt;
+#endif
+}
@@ -127,7 +138,7 @@ int ComprDataIO::UnpRead(byte *Addr,size_t Count)
ReadSize=TotalRead;
#ifndef RAR_NOCRYPT
if (Decryption)
- Decrypt.DecryptBlock(Addr,ReadSize);
+ Decrypt->DecryptBlock(Addr,ReadSize);
#endif
}
Wait();
@@ -269,13 +280,13 @@ void ComprDataIO::GetUnpackedData(byte **Data,size_t *Size)
void ComprDataIO::SetEncryption(bool Encrypt,CRYPT_METHOD Method,
SecPassword *Password,const byte *Salt,const byte *InitV,
- uint Lg2Cnt,byte *PswCheck,byte *HashKey)
+ uint Lg2Cnt,byte *HashKey,byte *PswCheck)
{
#ifndef RAR_NOCRYPT
if (Encrypt)
- Encryption=Crypt.SetCryptKeys(true,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
+ Encryption=Crypt->SetCryptKeys(true,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
else
- Decryption=Decrypt.SetCryptKeys(false,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
+ Decryption=Decrypt->SetCryptKeys(false,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
#endif
}
@@ -284,7 +295,7 @@ void ComprDataIO::SetEncryption(bool Encrypt,CRYPT_METHOD Method,
void ComprDataIO::SetAV15Encryption()
{
Decryption=true;
- Decrypt.SetAV15Encryption();
+ Decrypt->SetAV15Encryption();
}
#endif
@@ -293,7 +304,7 @@ void ComprDataIO::SetAV15Encryption()
void ComprDataIO::SetCmt13Encryption()
{
Decryption=true;
- Decrypt.SetCmt13Encryption();
+ Decrypt->SetCmt13Encryption();
}
#endif
diff --git a/src/thirdparty/unrar/rdwrfn.hpp b/src/thirdparty/unrar/rdwrfn.hpp
index c61128d77..a8508d60b 100644
--- a/src/thirdparty/unrar/rdwrfn.hpp
+++ b/src/thirdparty/unrar/rdwrfn.hpp
@@ -38,8 +38,8 @@ class ComprDataIO
int64 *SubHeadPos;
#ifndef RAR_NOCRYPT
- CryptData Crypt;
- CryptData Decrypt;
+ CryptData *Crypt;
+ CryptData *Decrypt;
#endif
@@ -49,6 +49,7 @@ class ComprDataIO
public:
ComprDataIO();
+ ~ComprDataIO();
void Init();
int UnpRead(byte *Addr,size_t Count);
void UnpWrite(byte *Addr,size_t Count);
@@ -61,7 +62,7 @@ class ComprDataIO
void SetCommand(CmdAdd *Cmd) {Command=Cmd;}
void SetSubHeader(FileHeader *hd,int64 *Pos) {SubHead=hd;SubHeadPos=Pos;}
void SetEncryption(bool Encrypt,CRYPT_METHOD Method,SecPassword *Password,
- const byte *Salt,const byte *InitV,uint Lg2Cnt,byte *PswCheck,byte *HashKey);
+ const byte *Salt,const byte *InitV,uint Lg2Cnt,byte *HashKey,byte *PswCheck);
void SetAV15Encryption();
void SetCmt13Encryption();
void SetUnpackToMemory(byte *Addr,uint Size);
diff --git a/src/thirdparty/unrar/recvol.cpp b/src/thirdparty/unrar/recvol.cpp
index beb2ce57f..c15863428 100644
--- a/src/thirdparty/unrar/recvol.cpp
+++ b/src/thirdparty/unrar/recvol.cpp
@@ -31,12 +31,83 @@ bool RecVolumesRestore(RAROptions *Cmd,const wchar *Name,bool Silent)
// handling exceptions. So it can close and delete files on Cancel.
if (Fmt==RARFMT15)
{
- RecVolumes3 RecVol;
+ RecVolumes3 RecVol(false);
return RecVol.Restore(Cmd,Name,Silent);
}
else
{
- RecVolumes5 RecVol;
+ RecVolumes5 RecVol(false);
return RecVol.Restore(Cmd,Name,Silent);
}
}
+
+
+void RecVolumesTest(RAROptions *Cmd,Archive *Arc,const wchar *Name)
+{
+ wchar RevName[NM];
+ *RevName=0;
+ if (Arc!=NULL)
+ {
+ // We received .rar or .exe volume as a parameter, trying to find
+ // the matching .rev file number 1.
+ bool NewNumbering=Arc->NewNumbering;
+
+ wchar ArcName[NM];
+ wcsncpyz(ArcName,Name,ASIZE(ArcName));
+
+ wchar *VolNumStart=VolNameToFirstName(ArcName,ArcName,ASIZE(ArcName),NewNumbering);
+ wchar RecVolMask[NM];
+ wcsncpyz(RecVolMask,ArcName,ASIZE(RecVolMask));
+ size_t BaseNamePartLength=VolNumStart-ArcName;
+ wcsncpyz(RecVolMask+BaseNamePartLength,L"*.rev",ASIZE(RecVolMask)-BaseNamePartLength);
+
+ FindFile Find;
+ Find.SetMask(RecVolMask);
+ FindData RecData;
+
+ while (Find.Next(&RecData))
+ {
+ wchar *Num=GetVolNumPart(RecData.Name);
+ if (*Num!='1') // Name must have "0...01" numeric part.
+ continue;
+ bool FirstVol=true;
+ while (--Num>=RecData.Name && IsDigit(*Num))
+ if (*Num!='0')
+ {
+ FirstVol=false;
+ break;
+ }
+ if (FirstVol)
+ {
+ wcsncpyz(RevName,RecData.Name,ASIZE(RevName));
+ Name=RevName;
+ break;
+ }
+ }
+ if (*RevName==0) // First .rev file not found.
+ return;
+ }
+
+ File RevFile;
+ if (!RevFile.Open(Name))
+ {
+ ErrHandler.OpenErrorMsg(Name); // It also sets RARX_OPEN.
+ return;
+ }
+#ifndef GUI
+ mprintf(L"\n");
+#endif
+ byte Sign[REV5_SIGN_SIZE];
+ bool Rev5=RevFile.Read(Sign,REV5_SIGN_SIZE)==REV5_SIGN_SIZE && memcmp(Sign,REV5_SIGN,REV5_SIGN_SIZE)==0;
+ RevFile.Close();
+ if (Rev5)
+ {
+ RecVolumes5 RecVol(true);
+ RecVol.Test(Cmd,Name);
+ }
+ else
+ {
+ RecVolumes3 RecVol(true);
+ RecVol.Test(Cmd,Name);
+ }
+}
diff --git a/src/thirdparty/unrar/recvol.hpp b/src/thirdparty/unrar/recvol.hpp
index 5956d7bbb..7f2f1adb9 100644
--- a/src/thirdparty/unrar/recvol.hpp
+++ b/src/thirdparty/unrar/recvol.hpp
@@ -14,10 +14,11 @@ class RecVolumes3
ThreadPool *RSThreadPool;
#endif
public:
- RecVolumes3();
+ RecVolumes3(bool TestOnly);
~RecVolumes3();
void Make(RAROptions *Cmd,wchar *ArcName);
bool Restore(RAROptions *Cmd,const wchar *Name,bool Silent);
+ void Test(RAROptions *Cmd,const wchar *Name);
};
@@ -74,11 +75,13 @@ class RecVolumes5
public: // 'public' only because called from thread functions.
void ProcessAreaRS(RecRSThreadData *td);
public:
- RecVolumes5();
+ RecVolumes5(bool TestOnly);
~RecVolumes5();
bool Restore(RAROptions *Cmd,const wchar *Name,bool Silent);
+ void Test(RAROptions *Cmd,const wchar *Name);
};
bool RecVolumesRestore(RAROptions *Cmd,const wchar *Name,bool Silent);
+void RecVolumesTest(RAROptions *Cmd,Archive *Arc,const wchar *Name);
#endif
diff --git a/src/thirdparty/unrar/recvol3.cpp b/src/thirdparty/unrar/recvol3.cpp
index 3c77eba37..4cbc39c86 100644
--- a/src/thirdparty/unrar/recvol3.cpp
+++ b/src/thirdparty/unrar/recvol3.cpp
@@ -38,13 +38,23 @@ THREAD_PROC(RSDecodeThread)
}
#endif
-RecVolumes3::RecVolumes3()
+RecVolumes3::RecVolumes3(bool TestOnly)
{
- Buf.Alloc(TotalBufferSize);
memset(SrcFile,0,sizeof(SrcFile));
+ if (TestOnly)
+ {
+#ifdef RAR_SMP
+ RSThreadPool=NULL;
+#endif
+ }
+ else
+ {
+ Buf.Alloc(TotalBufferSize);
+ memset(SrcFile,0,sizeof(SrcFile));
#ifdef RAR_SMP
- RSThreadPool=CreateThreadPool();
+ RSThreadPool=CreateThreadPool();
#endif
+ }
}
@@ -74,26 +84,34 @@ void RSEncode::EncodeBuf()
}
+// Check for names like arc5_3_1.rev created by RAR 3.0.
+static bool IsNewStyleRev(const wchar *Name)
+{
+ wchar *Ext=GetExt(Name);
+ if (Ext==NULL)
+ return true;
+ int DigitGroup=0;
+ for (Ext--;Ext>Name;Ext--)
+ if (!IsDigit(*Ext))
+ if (*Ext=='_' && IsDigit(*(Ext-1)))
+ DigitGroup++;
+ else
+ break;
+ return DigitGroup<2;
+}
+
+
bool RecVolumes3::Restore(RAROptions *Cmd,const wchar *Name,bool Silent)
{
wchar ArcName[NM];
wcsncpyz(ArcName,Name,ASIZE(ArcName));
wchar *Ext=GetExt(ArcName);
- bool NewStyle=false;
+ bool NewStyle=false; // New style .rev volumes are supported since RAR 3.10.
bool RevName=Ext!=NULL && wcsicomp(Ext,L".rev")==0;
if (RevName)
{
- for (int DigitGroup=0;Ext>ArcName && DigitGroup<3;Ext--)
- if (!IsDigit(*Ext))
- if (IsDigit(*(Ext-1)) && (*Ext=='_' || DigitGroup<2))
- DigitGroup++;
- else
- if (DigitGroup<2)
- {
- NewStyle=true;
- break;
- }
- while (IsDigit(*Ext) && Ext>ArcName+1)
+ NewStyle=IsNewStyleRev(ArcName);
+ while (Ext>ArcName+1 && (IsDigit(*(Ext-1)) || *(Ext-1)=='_'))
Ext--;
wcscpy(Ext,L"*.*");
@@ -480,3 +498,54 @@ void RSEncode::DecodeBuf()
Buf[Erasures[I]*RecBufferSize+BufPos]=Data[Erasures[I]];
}
}
+
+
+void RecVolumes3::Test(RAROptions *Cmd,const wchar *Name)
+{
+ if (!IsNewStyleRev(Name)) // RAR 3.0 name#_#_#.rev do not include CRC32.
+ {
+ ErrHandler.UnknownMethodMsg(Name,Name);
+ return;
+ }
+
+ wchar VolName[NM];
+ wcsncpyz(VolName,Name,ASIZE(VolName));
+
+ while (FileExist(VolName))
+ {
+ File CurFile;
+ if (!CurFile.Open(VolName))
+ {
+ ErrHandler.OpenErrorMsg(VolName); // It also sets RARX_OPEN.
+ continue;
+ }
+ if (!uiStartFileExtract(VolName,false,true,false))
+ return;
+#ifndef GUI
+ mprintf(St(MExtrTestFile),VolName);
+ mprintf(L" ");
+#endif
+ CurFile.Seek(0,SEEK_END);
+ int64 Length=CurFile.Tell();
+ CurFile.Seek(Length-4,SEEK_SET);
+ uint FileCRC=0;
+ for (int I=0;I<4;I++)
+ FileCRC|=CurFile.GetByte()<<(I*8);
+
+ uint CalcCRC;
+ CalcFileSum(&CurFile,&CalcCRC,NULL,1,Length-4,Cmd->DisablePercentage ? 0 : CALCFSUM_SHOWPROGRESS);
+ if (FileCRC==CalcCRC)
+ {
+#ifndef GUI
+ mprintf(L"%s%s ",L"\b\b\b\b\b ",St(MOk));
+#endif
+ }
+ else
+ {
+ uiMsg(UIERROR_CHECKSUM,VolName,VolName);
+ ErrHandler.SetErrorCode(RARX_CRC);
+ }
+
+ NextVolumeName(VolName,ASIZE(VolName),false);
+ }
+}
diff --git a/src/thirdparty/unrar/recvol5.cpp b/src/thirdparty/unrar/recvol5.cpp
index 4cb0fc72d..bd5534ed7 100644
--- a/src/thirdparty/unrar/recvol5.cpp
+++ b/src/thirdparty/unrar/recvol5.cpp
@@ -2,8 +2,9 @@
static const uint MaxVolumes=65535;
-RecVolumes5::RecVolumes5()
+RecVolumes5::RecVolumes5(bool TestOnly)
{
+ RealBuf=NULL;
RealReadBuffer=NULL;
DataCount=0;
@@ -16,13 +17,21 @@ RecVolumes5::RecVolumes5()
ThreadData[I].RecRSPtr=this;
ThreadData[I].RS=NULL;
}
+
+ if (TestOnly)
+ {
#ifdef RAR_SMP
- RecThreadPool=CreateThreadPool();
+ RecThreadPool=NULL;
#endif
-
- RealBuf=NULL; // Might be needed in case of exception.
- RealBuf=new byte[TotalBufferSize+SSE_ALIGNMENT];
- Buf=(byte *)ALIGN_VALUE(RealBuf,SSE_ALIGNMENT);
+ }
+ else
+ {
+#ifdef RAR_SMP
+ RecThreadPool=CreateThreadPool();
+#endif
+ RealBuf=new byte[TotalBufferSize+SSE_ALIGNMENT];
+ Buf=(byte *)ALIGN_VALUE(RealBuf,SSE_ALIGNMENT);
+ }
}
@@ -129,7 +138,7 @@ void RecVolumes5::ProcessAreaRS(RecRSThreadData *td)
bool RecVolumes5::Restore(RAROptions *Cmd,const wchar *Name,bool Silent)
{
wchar ArcName[NM];
- wcscpy(ArcName,Name);
+ wcsncpyz(ArcName,Name,ASIZE(ArcName));
wchar *Num=GetVolNumPart(ArcName);
while (Num>ArcName && IsDigit(*(Num-1)))
@@ -288,7 +297,7 @@ bool RecVolumes5::Restore(RAROptions *Cmd,const wchar *Name,bool Silent)
Item->f=NULL;
}
- if (Item->New=(Item->f==NULL))
+ if ((Item->New=(Item->f==NULL))) // Additional parentheses to avoid GCC warning.
{
wcsncpyz(Item->Name,FirstVolName,ASIZE(Item->Name));
uiMsg(UIMSG_CREATING,Item->Name);
@@ -339,7 +348,11 @@ bool RecVolumes5::Restore(RAROptions *Cmd,const wchar *Name,bool Silent)
RSCoder16 RS;
if (!RS.Init(DataCount,RecCount,ValidFlags))
+ {
+ delete[] ValidFlags;
+ delete[] Data;
return false; // Should not happen, we check parameter validity above.
+ }
RealReadBuffer=new byte[RecBufferSize+SSE_ALIGNMENT];
byte *ReadBuf=(byte *)ALIGN_VALUE(RealReadBuffer,SSE_ALIGNMENT);
@@ -462,3 +475,51 @@ uint RecVolumes5::ReadHeader(File *RecFile,bool FirstRev)
return RecNum;
}
+
+
+void RecVolumes5::Test(RAROptions *Cmd,const wchar *Name)
+{
+ wchar VolName[NM];
+ wcsncpyz(VolName,Name,ASIZE(VolName));
+
+ uint FoundRecVolumes=0;
+ while (FileExist(VolName))
+ {
+ File CurFile;
+ if (!CurFile.Open(VolName))
+ {
+ ErrHandler.OpenErrorMsg(VolName); // It also sets RARX_OPEN.
+ continue;
+ }
+ if (!uiStartFileExtract(VolName,false,true,false))
+ return;
+#ifndef GUI
+ mprintf(St(MExtrTestFile),VolName);
+ mprintf(L" ");
+#endif
+ bool Valid=false;
+ uint RecNum=ReadHeader(&CurFile,FoundRecVolumes==0);
+ if (RecNum!=0)
+ {
+ FoundRecVolumes++;
+
+ uint RevCRC;
+ CalcFileSum(&CurFile,&RevCRC,NULL,1,INT64NDF,CALCFSUM_CURPOS|(Cmd->DisablePercentage ? 0 : CALCFSUM_SHOWPROGRESS));
+ Valid=RevCRC==RecItems[RecNum].CRC;
+ }
+
+ if (Valid)
+ {
+#ifndef GUI
+ mprintf(L"%s%s ",L"\b\b\b\b\b ",St(MOk));
+#endif
+ }
+ else
+ {
+ uiMsg(UIERROR_CHECKSUM,VolName,VolName);
+ ErrHandler.SetErrorCode(RARX_CRC);
+ }
+
+ NextVolumeName(VolName,ASIZE(VolName),false);
+ }
+}
diff --git a/src/thirdparty/unrar/rs16.cpp b/src/thirdparty/unrar/rs16.cpp
index 082ab83f4..e1b4af1d3 100644
--- a/src/thirdparty/unrar/rs16.cpp
+++ b/src/thirdparty/unrar/rs16.cpp
@@ -215,6 +215,7 @@ void RSCoder16::InvertDecoderMatrix()
}
+#if 0
// Multiply matrix to data vector. When encoding, it contains data in Data
// and stores error correction codes in Out. When decoding it contains
// broken data followed by ECC in Data and stores recovered data to Out.
@@ -252,6 +253,7 @@ void RSCoder16::Process(const uint *Data, uint *Out)
Out[I] = R;
}
}
+#endif
// We update ECC in blocks by applying every data block to all ECC blocks.
diff --git a/src/thirdparty/unrar/rs16.hpp b/src/thirdparty/unrar/rs16.hpp
index ba518ac1d..b67a7ca86 100644
--- a/src/thirdparty/unrar/rs16.hpp
+++ b/src/thirdparty/unrar/rs16.hpp
@@ -35,7 +35,9 @@ class RSCoder16
~RSCoder16();
bool Init(uint DataCount, uint RecCount, bool *ValidityFlags);
+#if 0 // We use only UpdateECC now.
void Process(const uint *Data, uint *Out);
+#endif
void UpdateECC(uint DataNum, uint ECCNum, const byte *Data, byte *ECC, size_t BlockSize);
};
diff --git a/src/thirdparty/unrar/scantree.cpp b/src/thirdparty/unrar/scantree.cpp
index 40e4e47c9..ed48efe4b 100644
--- a/src/thirdparty/unrar/scantree.cpp
+++ b/src/thirdparty/unrar/scantree.cpp
@@ -8,6 +8,7 @@ ScanTree::ScanTree(StringList *FileMasks,RECURSE_MODE Recurse,bool GetLinks,SCAN
ScanTree::GetDirs=GetDirs;
ScanEntireDisk=false;
+ FolderWildcards=false;
SetAllMaskDepth=0;
*CurMask=0;
@@ -16,6 +17,8 @@ ScanTree::ScanTree(StringList *FileMasks,RECURSE_MODE Recurse,bool GetLinks,SCAN
Errors=0;
*ErrArcName=0;
Cmd=NULL;
+ ErrDirList=NULL;
+ ErrDirSpecPathLength=NULL;
}
@@ -27,11 +30,14 @@ ScanTree::~ScanTree()
}
-SCAN_CODE ScanTree::GetNext(FindData *FindData)
+SCAN_CODE ScanTree::GetNext(FindData *FD)
{
if (Depth<0)
return SCAN_DONE;
+#ifndef SILENT
+ uint LoopCount=0;
+#endif
SCAN_CODE FindCode;
while (1)
@@ -39,8 +45,15 @@ SCAN_CODE ScanTree::GetNext(FindData *FindData)
if (*CurMask==0 && !GetNextMask())
return SCAN_DONE;
+#ifndef SILENT
+ // Let's return some ticks to system or WinRAR can become irresponsible
+ // while scanning files in command like "winrar a -r arc c:\file.ext".
+ // Also we reset system sleep timer here.
+ if ((++LoopCount & 0x3ff)==0)
+ Wait();
+#endif
- FindCode=FindProc(FindData);
+ FindCode=FindProc(FD);
if (FindCode==SCAN_ERROR)
{
Errors++;
@@ -48,21 +61,151 @@ SCAN_CODE ScanTree::GetNext(FindData *FindData)
}
if (FindCode==SCAN_NEXT)
continue;
- if (FindCode==SCAN_SUCCESS && FindData->IsDir && GetDirs==SCAN_SKIPDIRS)
+ if (FindCode==SCAN_SUCCESS && FD->IsDir && GetDirs==SCAN_SKIPDIRS)
continue;
if (FindCode==SCAN_DONE && GetNextMask())
continue;
+ if (FilterList.ItemsCount()>0 && FindCode==SCAN_SUCCESS)
+ if (!CommandData::CheckArgs(&FilterList,FD->IsDir,FD->Name,false,MATCH_WILDSUBPATH))
+ continue;
break;
}
- return(FindCode);
+ return FindCode;
}
-bool ScanTree::GetNextMask()
+// For masks like dir1\dir2*\*.ext in non-recursive mode.
+bool ScanTree::ExpandFolderMask()
{
+ bool WildcardFound=false;
+ uint SlashPos=0;
+ for (int I=0;CurMask[I]!=0;I++)
+ {
+ if (CurMask[I]=='?' || CurMask[I]=='*')
+ WildcardFound=true;
+ if (WildcardFound && IsPathDiv(CurMask[I]))
+ {
+ // First path separator position after folder wildcard mask.
+ // In case of dir1\dir2*\dir3\name.ext mask it may point not to file
+ // name, so we cannot use PointToName() here.
+ SlashPos=I;
+ break;
+ }
+ }
+
+ wchar Mask[NM];
+ wcsncpyz(Mask,CurMask,ASIZE(Mask));
+ Mask[SlashPos]=0;
+
+ // Prepare the list of all folders matching the wildcard mask.
+ ExpandedFolderList.Reset();
+ FindFile Find;
+ Find.SetMask(Mask);
+ FindData FD;
+ while (Find.Next(&FD))
+ if (FD.IsDir)
+ {
+ wcsncatz(FD.Name,CurMask+SlashPos,ASIZE(FD.Name));
+
+ // Treat dir*\* or dir*\*.* as dir, so empty 'dir' is also matched
+ // by such mask. Skipping empty dir with dir*\*.* confused some users.
+ wchar *LastMask=PointToName(FD.Name);
+ if (wcscmp(LastMask,L"*")==0 || wcscmp(LastMask,L"*.*")==0)
+ RemoveNameFromPath(FD.Name);
+
+ ExpandedFolderList.AddString(FD.Name);
+ }
+ if (ExpandedFolderList.ItemsCount()==0)
+ return false;
+ // Return the first matching folder name now.
+ ExpandedFolderList.GetString(CurMask,ASIZE(CurMask));
+ return true;
+}
+
+
+// For masks like dir1\dir2*\file.ext this function sets 'dir1' recursive mask
+// and '*\dir2*\file.ext' filter. Masks without folder wildcards are
+// returned as is.
+bool ScanTree::GetFilteredMask()
+{
+ // If we have some matching folders left for non-recursive folder wildcard
+ // mask, we return it here.
+ if (ExpandedFolderList.ItemsCount()>0 && ExpandedFolderList.GetString(CurMask,ASIZE(CurMask)))
+ return true;
+
+ FolderWildcards=false;
+ FilterList.Reset();
if (!FileMasks->GetString(CurMask,ASIZE(CurMask)))
return false;
- CurMask[ASIZE(CurMask)-1]=0;
+
+ // Check if folder wildcards present.
+ bool WildcardFound=false;
+ uint FolderWildcardCount=0;
+ uint SlashPos=0;
+ for (int I=0;CurMask[I]!=0;I++)
+ {
+ if (CurMask[I]=='?' || CurMask[I]=='*')
+ WildcardFound=true;
+ if (IsPathDiv(CurMask[I]) || IsDriveDiv(CurMask[I]))
+ {
+ if (WildcardFound)
+ {
+ // Calculate a number of folder wildcards in current mask.
+ FolderWildcardCount++;
+ WildcardFound=false;
+ }
+ if (FolderWildcardCount==0)
+ SlashPos=I; // Slash position before first folder wildcard mask.
+ }
+ }
+ if (FolderWildcardCount==0)
+ return true;
+ FolderWildcards=true; // Global folder wildcards flag.
+
+ // If we have only one folder wildcard component and -r is missing or -r-
+ // is specified, prepare matching folders in non-recursive mode.
+ // We assume -r for masks like dir1*\dir2*\file*, because it is complicated
+ // to fast find them using OS file find API call.
+ if ((Recurse==RECURSE_NONE || Recurse==RECURSE_DISABLE) && FolderWildcardCount==1)
+ return ExpandFolderMask();
+
+ wchar Filter[NM];
+ // Convert path\dir*\ to *\dir filter to search for 'dir' in all 'path' subfolders.
+ wcscpy(Filter,L"*");
+ AddEndSlash(Filter,ASIZE(Filter));
+ // SlashPos might point or not point to path separator for masks like 'dir*', '\dir*' or 'd:dir*'
+ wchar *WildName=IsPathDiv(CurMask[SlashPos]) || IsDriveDiv(CurMask[SlashPos]) ? CurMask+SlashPos+1 : CurMask+SlashPos;
+ wcsncatz(Filter,WildName,ASIZE(Filter));
+
+ // Treat dir*\* or dir*\*.* as dir\, so empty 'dir' is also matched
+ // by such mask. Skipping empty dir with dir*\*.* confused some users.
+ wchar *LastMask=PointToName(Filter);
+ if (wcscmp(LastMask,L"*")==0 || wcscmp(LastMask,L"*.*")==0)
+ *LastMask=0;
+
+ FilterList.AddString(Filter);
+
+ bool RelativeDrive=IsDriveDiv(CurMask[SlashPos]);
+ if (RelativeDrive)
+ SlashPos++; // Use "d:" instead of "d" for d:* mask.
+
+ CurMask[SlashPos]=0;
+
+ if (!RelativeDrive) // Keep d: mask as is, not convert to d:\*
+ {
+ // We need to append "\*" both for -ep1 to work correctly and to
+ // convert d:\* masks previously truncated to d: back to original form.
+ AddEndSlash(CurMask,ASIZE(CurMask));
+ wcsncatz(CurMask,MASKALL,ASIZE(CurMask));
+ }
+ return true;
+}
+
+
+bool ScanTree::GetNextMask()
+{
+ if (!GetFilteredMask())
+ return false;
#ifdef _WIN_ALL
UnixSlashToDos(CurMask,CurMask,ASIZE(CurMask));
#endif
@@ -70,7 +213,7 @@ bool ScanTree::GetNextMask()
// We wish to scan entire disk if mask like c:\ is specified
// regardless of recursion mode. Use c:\*.* mask when need to scan only
// the root directory.
- ScanEntireDisk=IsDiskLetter(CurMask) && IsPathDiv(CurMask[2]) && CurMask[3]==0;
+ ScanEntireDisk=IsDriveLetter(CurMask) && IsPathDiv(CurMask[2]) && CurMask[3]==0;
wchar *Name=PointToName(CurMask);
if (*Name==0)
@@ -111,8 +254,10 @@ SCAN_CODE ScanTree::FindProc(FindData *FD)
// SearchAll means that we'll use "*" mask for search, so we'll find
// subdirectories and will be able to recurse into them.
// We do not use "*" for directories at any level or for files
- // at top level in recursion mode.
+ // at top level in recursion mode. We always comrpess the entire directory
+ // if folder wildcard is specified.
bool SearchAll=!IsDir && (Depth>0 || Recurse==RECURSE_ALWAYS ||
+ FolderWildcards && Recurse!=RECURSE_DISABLE ||
Wildcards && Recurse==RECURSE_WILDCARDS ||
ScanEntireDisk && Recurse!=RECURSE_DISABLE);
if (Depth==0)
@@ -324,6 +469,10 @@ void ScanTree::ScanError(bool &Error)
if (Error)
{
+ if (ErrDirList!=NULL)
+ ErrDirList->AddString(CurMask);
+ if (ErrDirSpecPathLength!=NULL)
+ ErrDirSpecPathLength->Push((uint)SpecPathLength);
wchar FullName[NM];
// This conversion works for wildcard masks too.
ConvertNameToFull(CurMask,FullName,ASIZE(FullName));
diff --git a/src/thirdparty/unrar/scantree.hpp b/src/thirdparty/unrar/scantree.hpp
index 7ed9a3833..40a6d8497 100644
--- a/src/thirdparty/unrar/scantree.hpp
+++ b/src/thirdparty/unrar/scantree.hpp
@@ -18,6 +18,8 @@ class CommandData;
class ScanTree
{
private:
+ bool ExpandFolderMask();
+ bool GetFilteredMask();
bool GetNextMask();
SCAN_CODE FindProc(FindData *FD);
void ScanError(bool &Error);
@@ -33,11 +35,25 @@ class ScanTree
SCAN_DIRS GetDirs;
int Errors;
- // set when processing paths like c:\ (root directory without wildcards)
+ // Set when processing paths like c:\ (root directory without wildcards).
bool ScanEntireDisk;
wchar CurMask[NM];
wchar OrigCurMask[NM];
+
+ // Store all folder masks generated from folder wildcard mask in non-recursive mode.
+ StringList ExpandedFolderList;
+
+ // Store a filter string for folder wildcard in recursive mode.
+ StringList FilterList;
+
+ // Save the list of unreadable dirs here.
+ StringList *ErrDirList;
+ Array<uint> *ErrDirSpecPathLength;
+
+ // Set if processing a folder wildcard mask.
+ bool FolderWildcards;
+
bool SearchAllInRoot;
size_t SpecPathLength;
@@ -52,6 +68,11 @@ class ScanTree
int GetErrors() {return Errors;};
void SetErrArcName(const wchar *Name) {wcsncpyz(ErrArcName,Name,ASIZE(ErrArcName));}
void SetCommandData(CommandData *Cmd) {ScanTree::Cmd=Cmd;}
+ void SetErrDirList(StringList *List,Array<uint> *Lengths)
+ {
+ ErrDirList=List;
+ ErrDirSpecPathLength=Lengths;
+ }
};
#endif
diff --git a/src/thirdparty/unrar/secpassword.cpp b/src/thirdparty/unrar/secpassword.cpp
index 2ac289b72..242b16702 100644
--- a/src/thirdparty/unrar/secpassword.cpp
+++ b/src/thirdparty/unrar/secpassword.cpp
@@ -35,7 +35,7 @@ class CryptLoader
{
if (!LoadCalled)
{
- hCrypt = LoadLibraryW(L"Crypt32.dll");
+ hCrypt = LoadSysLibrary(L"Crypt32.dll");
if (hCrypt != NULL)
{
pCryptProtectMemory = (CRYPTPROTECTMEMORY)GetProcAddress(hCrypt, "CryptProtectMemory");
diff --git a/src/thirdparty/unrar/smallfn.cpp b/src/thirdparty/unrar/smallfn.cpp
index fe7cb1dc2..81259d02f 100644
--- a/src/thirdparty/unrar/smallfn.cpp
+++ b/src/thirdparty/unrar/smallfn.cpp
@@ -3,7 +3,7 @@
int ToPercent(int64 N1,int64 N2)
{
if (N2<N1)
- return(100);
+ return 100;
return ToPercentUnlim(N1,N2);
}
@@ -12,7 +12,7 @@ int ToPercent(int64 N1,int64 N2)
int ToPercentUnlim(int64 N1,int64 N2)
{
if (N2==0)
- return(0);
+ return 0;
return (int)(N1*100/N2);
}
diff --git a/src/thirdparty/unrar/strfn.cpp b/src/thirdparty/unrar/strfn.cpp
index e234da834..8c46543b5 100644
--- a/src/thirdparty/unrar/strfn.cpp
+++ b/src/thirdparty/unrar/strfn.cpp
@@ -15,6 +15,10 @@ const wchar *NullToEmpty(const wchar *Str)
void IntToExt(const char *Src,char *Dest,size_t DestSize)
{
#ifdef _WIN_ALL
+ // OemToCharBuff does not stop at 0, so let's check source length.
+ size_t SrcLength=strlen(Src)+1;
+ if (DestSize>SrcLength)
+ DestSize=SrcLength;
OemToCharBuffA(Src,Dest,(DWORD)DestSize);
Dest[DestSize-1]=0;
#elif defined(_ANDROID)
@@ -28,6 +32,21 @@ void IntToExt(const char *Src,char *Dest,size_t DestSize)
}
+// Convert archived names to Unicode. Allow user to select a code page in GUI.
+void ArcCharToWide(const char *Src,wchar *Dest,size_t DestSize,ACTW_ENCODING Encoding)
+{
+ if (Encoding==ACTW_UTF8)
+ UtfToWide(Src,Dest,DestSize);
+ else
+ CharToWide(Src,Dest,DestSize);
+ // Ensure that we return a zero terminate string for security reason.
+ // While [Jni]CharToWide might already do it, be protected in case of future
+ // changes in these functions.
+ if (DestSize>0)
+ Dest[DestSize-1]=0;
+}
+
+
int stricomp(const char *s1,const char *s2)
{
#ifdef _WIN_ALL
@@ -83,7 +102,7 @@ wchar* RemoveLF(wchar *Str)
{
for (int I=(int)wcslen(Str)-1;I>=0 && (Str[I]=='\r' || Str[I]=='\n');I--)
Str[I]=0;
- return(Str);
+ return Str;
}
@@ -91,9 +110,9 @@ unsigned char loctolower(unsigned char ch)
{
#ifdef _WIN_ALL
// Convert to LPARAM first to avoid a warning in 64 bit mode.
- return((int)(LPARAM)CharLowerA((LPSTR)ch));
+ return (int)(LPARAM)CharLowerA((LPSTR)ch);
#else
- return(tolower(ch));
+ return tolower(ch);
#endif
}
@@ -102,9 +121,9 @@ unsigned char loctoupper(unsigned char ch)
{
#ifdef _WIN_ALL
// Convert to LPARAM first to avoid a warning in 64 bit mode.
- return((int)(LPARAM)CharUpperA((LPSTR)ch));
+ return (int)(LPARAM)CharUpperA((LPSTR)ch);
#else
- return(toupper(ch));
+ return toupper(ch);
#endif
}
@@ -116,8 +135,8 @@ unsigned char loctoupper(unsigned char ch)
unsigned char etoupper(unsigned char ch)
{
if (ch=='i')
- return('I');
- return(toupper(ch));
+ return 'I';
+ return toupper(ch);
}
@@ -125,8 +144,8 @@ unsigned char etoupper(unsigned char ch)
wchar etoupperw(wchar ch)
{
if (ch=='i')
- return('I');
- return(toupperw(ch));
+ return 'I';
+ return toupperw(ch);
}
@@ -136,7 +155,7 @@ wchar etoupperw(wchar ch)
// values, resulting in undefined behavior in standard isdigit.
bool IsDigit(int ch)
{
- return(ch>='0' && ch<='9');
+ return ch>='0' && ch<='9';
}
@@ -146,7 +165,7 @@ bool IsDigit(int ch)
// values, resulting in undefined behavior in standard isspace.
bool IsSpace(int ch)
{
- return(ch==' ' || ch=='\t');
+ return ch==' ' || ch=='\t';
}
@@ -156,7 +175,7 @@ bool IsSpace(int ch)
// values, resulting in undefined behavior in standard function.
bool IsAlpha(int ch)
{
- return(ch>='A' && ch<='Z' || ch>='a' && ch<='z');
+ return ch>='A' && ch<='Z' || ch>='a' && ch<='z';
}
@@ -285,34 +304,52 @@ wchar* wcsncatz(wchar* dest, const wchar* src, size_t maxlen)
}
-void itoa(int64 n,char *Str)
+void itoa(int64 n,char *Str,size_t MaxSize)
{
char NumStr[50];
size_t Pos=0;
+ int Neg=n < 0 ? 1 : 0;
+ if (Neg)
+ n=-n;
+
do
{
+ if (Pos+1>=MaxSize-Neg)
+ break;
NumStr[Pos++]=char(n%10)+'0';
n=n/10;
} while (n!=0);
+ if (Neg)
+ NumStr[Pos++]='-';
+
for (size_t I=0;I<Pos;I++)
Str[I]=NumStr[Pos-I-1];
Str[Pos]=0;
}
-void itoa(int64 n,wchar *Str)
+void itoa(int64 n,wchar *Str,size_t MaxSize)
{
wchar NumStr[50];
size_t Pos=0;
+ int Neg=n < 0 ? 1 : 0;
+ if (Neg)
+ n=-n;
+
do
{
+ if (Pos+1>=MaxSize-Neg)
+ break;
NumStr[Pos++]=wchar(n%10)+'0';
n=n/10;
} while (n!=0);
+ if (Neg)
+ NumStr[Pos++]='-';
+
for (size_t I=0;I<Pos;I++)
Str[I]=NumStr[Pos-I-1];
Str[Pos]=0;
diff --git a/src/thirdparty/unrar/strfn.hpp b/src/thirdparty/unrar/strfn.hpp
index eae67747c..d6d8d124d 100644
--- a/src/thirdparty/unrar/strfn.hpp
+++ b/src/thirdparty/unrar/strfn.hpp
@@ -4,6 +4,10 @@
const char* NullToEmpty(const char *Str);
const wchar* NullToEmpty(const wchar *Str);
void IntToExt(const char *Src,char *Dest,size_t DestSize);
+
+enum ACTW_ENCODING { ACTW_DEFAULT, ACTW_OEM, ACTW_UTF8};
+void ArcCharToWide(const char *Src,wchar *Dest,size_t DestSize,ACTW_ENCODING Encoding);
+
int stricomp(const char *s1,const char *s2);
int strnicomp(const char *s1,const char *s2,size_t n);
wchar* RemoveEOL(wchar *Str);
@@ -34,8 +38,8 @@ bool LowAscii(const wchar *Str);
int wcsicompc(const wchar *Str1,const wchar *Str2);
-void itoa(int64 n,char *Str);
-void itoa(int64 n,wchar *Str);
+void itoa(int64 n,char *Str,size_t MaxSize);
+void itoa(int64 n,wchar *Str,size_t MaxSize);
const wchar* GetWide(const char *Src);
const wchar* GetCmdParam(const wchar *CmdLine,wchar *Param,size_t MaxSize);
#ifndef SILENT
diff --git a/src/thirdparty/unrar/suballoc.cpp b/src/thirdparty/unrar/suballoc.cpp
index 4bc07bf9d..d1fb690d0 100644
--- a/src/thirdparty/unrar/suballoc.cpp
+++ b/src/thirdparty/unrar/suballoc.cpp
@@ -66,8 +66,6 @@ inline void SubAllocator::SplitBlock(void* pv,int OldIndx,int NewIndx)
}
-
-
void SubAllocator::StopSubAllocator()
{
if ( SubAllocatorSize )
diff --git a/src/thirdparty/unrar/suballoc.hpp b/src/thirdparty/unrar/suballoc.hpp
index 0280289cf..5989e82e8 100644
--- a/src/thirdparty/unrar/suballoc.hpp
+++ b/src/thirdparty/unrar/suballoc.hpp
@@ -57,7 +57,6 @@ class SubAllocator
inline void* RemoveNode(int indx);
inline uint U2B(int NU);
inline void SplitBlock(void* pv,int OldIndx,int NewIndx);
- uint GetUsedMemory();
inline void GlueFreeBlocks();
void* AllocUnitsRare(int indx);
inline RARPPM_MEM_BLK* MBPtr(RARPPM_MEM_BLK *BasePtr,int Items);
diff --git a/src/thirdparty/unrar/system.cpp b/src/thirdparty/unrar/system.cpp
index dc858744a..6c9d8ba7b 100644
--- a/src/thirdparty/unrar/system.cpp
+++ b/src/thirdparty/unrar/system.cpp
@@ -21,6 +21,10 @@ void SetPriority(int Priority)
{
PriorityClass=IDLE_PRIORITY_CLASS;
PriorityLevel=THREAD_PRIORITY_IDLE;
+
+// Background mode for Vista, can be slow for many small files.
+// if (WinNT()>=WNT_VISTA)
+// SetPriorityClass(GetCurrentProcess(),PROCESS_MODE_BACKGROUND_BEGIN);
}
else
if (Priority<7)
@@ -58,15 +62,29 @@ void SetPriority(int Priority)
ThreadPool::SetPriority(PriorityLevel);
#endif
-// Background mode for Vista, too slow for real life use.
-// if (WinNT()>=WNT_VISTA && Priority==1)
-// SetPriorityClass(GetCurrentProcess(),PROCESS_MODE_BACKGROUND_BEGIN);
-
#endif
}
#endif
+// Monotonic clock. Like clock(), returns time passed in CLOCKS_PER_SEC items.
+// In Android 5+ and Unix usual clock() returns time spent by all threads
+// together, so we cannot use it to measure time intervals anymore.
+clock_t MonoClock()
+{
+#if defined(_ANDROID) && defined(_UNIX) && defined(CLOCK_MONOTONIC)
+ struct timespec CurTime;
+ clock_gettime(CLOCK_MONOTONIC, &CurTime);
+ int64 nsec = int64(CurTime.tv_sec)*1000000000 + CurTime.tv_nsec;
+ nsec /= 1000000000 / CLOCKS_PER_SEC;
+ return (clock_t)nsec;
+#else
+ return clock();
+#endif
+}
+
+
+
#ifndef SETUP
void Wait()
{
@@ -74,7 +92,18 @@ void Wait()
ErrHandler.Exit(RARX_USERBREAK);
#if defined(_WIN_ALL) && !defined(SFX_MODULE)
if (SleepTime!=0)
- Sleep(SleepTime);
+ {
+ static clock_t LastTime=MonoClock();
+ if (MonoClock()-LastTime>10*CLOCKS_PER_SEC/1000)
+ {
+ Sleep(SleepTime);
+ LastTime=MonoClock();
+ }
+ }
+#endif
+#ifdef _WIN_ALL
+ // Reset system sleep timer to prevent system going sleep.
+ SetThreadExecutionState(ES_SYSTEM_REQUIRED);
#endif
}
#endif
@@ -101,6 +130,21 @@ void Shutdown()
+
+#ifdef _WIN_ALL
+// Load library from Windows System32 folder. Use this function to prevent
+// loading a malicious code from current folder or same folder as exe.
+HMODULE WINAPI LoadSysLibrary(const wchar *Name)
+{
+ wchar SysDir[NM];
+ if (GetSystemDirectory(SysDir,ASIZE(SysDir))==0)
+ return NULL;
+ MakeName(SysDir,Name,SysDir,ASIZE(SysDir));
+ return LoadLibrary(SysDir);
+}
+#endif
+
+
#ifdef USE_SSE
SSE_VERSION _SSE_Version=GetSSEVersion();
diff --git a/src/thirdparty/unrar/system.hpp b/src/thirdparty/unrar/system.hpp
index 88445be79..bc7cda3bf 100644
--- a/src/thirdparty/unrar/system.hpp
+++ b/src/thirdparty/unrar/system.hpp
@@ -19,10 +19,14 @@
void InitSystemOptions(int SleepTime);
void SetPriority(int Priority);
+clock_t MonoClock();
void Wait();
bool EmailFile(const wchar *FileName,const wchar *MailToW);
void Shutdown();
+#ifdef _WIN_ALL
+HMODULE WINAPI LoadSysLibrary(const wchar *Name);
+#endif
#ifdef USE_SSE
diff --git a/src/thirdparty/unrar/threadmisc.cpp b/src/thirdparty/unrar/threadmisc.cpp
index d1524e0cf..4ad5af2e5 100644
--- a/src/thirdparty/unrar/threadmisc.cpp
+++ b/src/thirdparty/unrar/threadmisc.cpp
@@ -58,7 +58,6 @@ ThreadPool* CreateThreadPool()
if (GlobalPoolUseCount++ == 0)
GlobalPool=new ThreadPool(MaxPoolThreads);
-#ifdef RARDLL
// We use a simple thread pool, which does not allow to add tasks from
// different functions and threads in the same time. It is ok for RAR,
// but UnRAR.dll can be used in multithreaded environment. So if one of
@@ -70,7 +69,6 @@ ThreadPool* CreateThreadPool()
CriticalSectionEnd(&PoolCreateSync.CritSection);
return Pool;
}
-#endif
CriticalSectionEnd(&PoolCreateSync.CritSection);
return GlobalPool;
@@ -79,18 +77,20 @@ ThreadPool* CreateThreadPool()
void DestroyThreadPool(ThreadPool *Pool)
{
- CriticalSectionStart(&PoolCreateSync.CritSection);
+ if (Pool!=NULL)
+ {
+ CriticalSectionStart(&PoolCreateSync.CritSection);
- if (Pool!=NULL && Pool==GlobalPool && GlobalPoolUseCount > 0 && --GlobalPoolUseCount == 0)
- delete GlobalPool;
-#ifdef RARDLL
- // To correctly work in multithreaded environment UnRAR.dll creates
- // new pools if global pool is already in use. We delete such pools here.
- if (Pool!=NULL && Pool!=GlobalPool)
- delete Pool;
-#endif
+ if (Pool==GlobalPool && GlobalPoolUseCount > 0 && --GlobalPoolUseCount == 0)
+ delete GlobalPool;
- CriticalSectionEnd(&PoolCreateSync.CritSection);
+ // To correctly work in multithreaded environment UnRAR.dll creates
+ // new pools if global pool is already in use. We delete such pools here.
+ if (Pool!=GlobalPool)
+ delete Pool;
+
+ CriticalSectionEnd(&PoolCreateSync.CritSection);
+ }
}
diff --git a/src/thirdparty/unrar/timefn.cpp b/src/thirdparty/unrar/timefn.cpp
index ba9f49686..b524f7744 100644
--- a/src/thirdparty/unrar/timefn.cpp
+++ b/src/thirdparty/unrar/timefn.cpp
@@ -122,6 +122,7 @@ void RarTime::SetLocal(RarLocalTime *lt)
st.wMinute=lt->Minute;
st.wSecond=lt->Second;
st.wMilliseconds=0;
+ st.wDayOfWeek=0;
FILETIME lft;
if (SystemTimeToFileTime(&st,&lft))
{
@@ -140,7 +141,7 @@ void RarTime::SetLocal(RarLocalTime *lt)
{
// Reverse procedure which we do in GetLocal.
SYSTEMTIME st1,st2;
- FileTimeToSystemTime(&lft,&st2);
+ FileTimeToSystemTime(&lft,&st2); // st2 might be unequal to st, because we added lt->Reminder to lft.
TzSpecificLocalTimeToSystemTime(NULL,&st2,&st1);
SystemTimeToFileTime(&st1,&ft);
@@ -174,6 +175,51 @@ void RarTime::SetLocal(RarLocalTime *lt)
}
+void RarTime::SetUTC(RarLocalTime *lt) // Input is in UTC format.
+{
+#ifdef _WIN_ALL
+ SYSTEMTIME st;
+ st.wYear=lt->Year;
+ st.wMonth=lt->Month;
+ st.wDay=lt->Day;
+ st.wHour=lt->Hour;
+ st.wMinute=lt->Minute;
+ st.wSecond=lt->Second;
+ st.wMilliseconds=0;
+ st.wDayOfWeek=0;
+ FILETIME ft;
+ if (SystemTimeToFileTime(&st,&ft))
+ *this=ft;
+ else
+ Reset();
+#else
+ struct tm t;
+
+ t.tm_sec=lt->Second;
+ t.tm_min=lt->Minute;
+ t.tm_hour=lt->Hour;
+ t.tm_mday=lt->Day;
+ t.tm_mon=lt->Month-1;
+ t.tm_year=lt->Year-1900;
+ t.tm_isdst=-1;
+
+ /* get the local time for Jan 2, 1900 00:00 UTC */
+ time_t zero = 24*60*60L;
+ struct tm *timeptr = localtime( &zero );
+ int gmtime_hours = timeptr->tm_hour;
+
+ /* if the local time is the "day before" the UTC, subtract 24 hours
+ from the hours to get the UTC offset */
+ if( timeptr->tm_mday < 2 )
+ gmtime_hours -= 24;
+
+ *this=mktime(&t)+gmtime_hours*3600;
+ itime+=lt->Reminder;
+
+#endif
+}
+
+
// Return the stored time as 64-bit number of 100-nanosecond intervals since
// 01.01.1601. Actually we do not care since which date this time starts from
// as long as this date is the same for GetRaw and SetRaw. We use the value
@@ -216,7 +262,7 @@ void RarTime::SetDos(uint DosTime)
#if !defined(GUI) || !defined(SFX_MODULE)
-void RarTime::GetText(wchar *DateStr,size_t MaxSize,bool FullYear,bool FullMS)
+void RarTime::GetText(wchar *DateStr,size_t MaxSize,bool FullMS)
{
if (IsSet())
{
@@ -225,15 +271,12 @@ void RarTime::GetText(wchar *DateStr,size_t MaxSize,bool FullYear,bool FullMS)
if (FullMS)
swprintf(DateStr,MaxSize,L"%u-%02u-%02u %02u:%02u:%02u,%03u",lt.Year,lt.Month,lt.Day,lt.Hour,lt.Minute,lt.Second,lt.Reminder/10000);
else
- if (FullYear)
- swprintf(DateStr,MaxSize,L"%02u-%02u-%u %02u:%02u",lt.Day,lt.Month,lt.Year,lt.Hour,lt.Minute);
- else
- swprintf(DateStr,MaxSize,L"%02u-%02u-%02u %02u:%02u",lt.Day,lt.Month,lt.Year%100,lt.Hour,lt.Minute);
+ swprintf(DateStr,MaxSize,L"%u-%02u-%02u %02u:%02u",lt.Year,lt.Month,lt.Day,lt.Hour,lt.Minute);
}
else
{
// We use escape before '?' to avoid weird C trigraph characters.
- wcscpy(DateStr,FullYear ? L"\?\?-\?\?-\?\?\?\? \?\?:\?\?":L"\?\?-\?\?-\?\? \?\?:\?\?");
+ wcscpy(DateStr,L"\?\?\?\?-\?\?-\?\? \?\?:\?\?");
}
}
#endif
diff --git a/src/thirdparty/unrar/timefn.hpp b/src/thirdparty/unrar/timefn.hpp
index 355baaf74..e9d775866 100644
--- a/src/thirdparty/unrar/timefn.hpp
+++ b/src/thirdparty/unrar/timefn.hpp
@@ -17,6 +17,8 @@ struct RarLocalTime
class RarTime
{
+ public:
+ static const uint TICKS_PER_SECOND = 10000000; // Raw time items per second.
private:
// Internal FILETIME like time representation in 100 nanoseconds
// since 01.01.1601.
@@ -39,11 +41,12 @@ class RarTime
bool operator >= (RarTime &rt) {return itime>rt.itime || itime==rt.itime;}
void GetLocal(RarLocalTime *lt);
void SetLocal(RarLocalTime *lt);
+ void SetUTC(RarLocalTime *lt);
uint64 GetRaw();
void SetRaw(uint64 RawTime);
uint GetDos();
void SetDos(uint DosTime);
- void GetText(wchar *DateStr,size_t MaxSize,bool FullYear,bool FullMS);
+ void GetText(wchar *DateStr,size_t MaxSize,bool FullMS);
void SetIsoText(const wchar *TimeText);
void SetAgeText(const wchar *TimeText);
void SetCurrentTime();
diff --git a/src/thirdparty/unrar/uiconsole.cpp b/src/thirdparty/unrar/uiconsole.cpp
index ba7550c6b..d1457fcd8 100644
--- a/src/thirdparty/unrar/uiconsole.cpp
+++ b/src/thirdparty/unrar/uiconsole.cpp
@@ -6,8 +6,8 @@ UIASKREP_RESULT uiAskReplace(wchar *Name,size_t MaxNameSize,int64 FileSize,RarTi
FindData ExistingFD;
memset(&ExistingFD,0,sizeof(ExistingFD)); // In case find fails.
FindFile::FastFind(Name,&ExistingFD);
- itoa(ExistingFD.Size,SizeText1);
- ExistingFD.mtime.GetText(DateStr1,ASIZE(DateStr1),true,false);
+ itoa(ExistingFD.Size,SizeText1,ASIZE(SizeText1));
+ ExistingFD.mtime.GetText(DateStr1,ASIZE(DateStr1),false);
if (FileSize==INT64NDF || FileTime==NULL)
{
@@ -16,8 +16,8 @@ UIASKREP_RESULT uiAskReplace(wchar *Name,size_t MaxNameSize,int64 FileSize,RarTi
}
else
{
- itoa(FileSize,SizeText2);
- FileTime->GetText(DateStr2,ASIZE(DateStr2),true,false);
+ itoa(FileSize,SizeText2,ASIZE(SizeText2));
+ FileTime->GetText(DateStr2,ASIZE(DateStr2),false);
eprintf(St(MAskReplace),Name,SizeText1,DateStr1,SizeText2,DateStr2);
}
@@ -135,6 +135,7 @@ void uiMsgStore::Msg()
break;
case UIERROR_FILECOPYHINT:
Log(Str[0],St(MCopyErrorHint));
+ mprintf(L" "); // For progress percent.
break;
case UIERROR_DIRCREATE:
Log(Str[0],St(MExtrErrMkDir),Str[1]);
@@ -342,14 +343,15 @@ void uiAlarm(UIALARM_TYPE Type)
{
if (uiSoundEnabled)
{
- static clock_t LastTime=clock();
- if ((clock()-LastTime)/CLOCKS_PER_SEC>5)
+ static clock_t LastTime=-10; // Negative to always beep first time.
+ if ((MonoClock()-LastTime)/CLOCKS_PER_SEC>5)
{
#ifdef _WIN_ALL
MessageBeep(-1);
#else
putwchar('\007');
#endif
+ LastTime=MonoClock();
}
}
}
diff --git a/src/thirdparty/unrar/unicode.cpp b/src/thirdparty/unrar/unicode.cpp
index 9c1080aa7..be3363293 100644
--- a/src/thirdparty/unrar/unicode.cpp
+++ b/src/thirdparty/unrar/unicode.cpp
@@ -359,7 +359,7 @@ bool UtfToWide(const char *Src,wchar *Dest,size_t DestSize)
continue;
}
if (Dest!=NULL)
- if (sizeof(*Dest)==2) // Use the surrogate pair for 2 byte Unicode.
+ if (sizeof(*Dest)==2) // Use the surrogate pair.
{
*(Dest++)=((d-0x10000)>>10)+0xd800;
*(Dest++)=(d&0x3ff)+0xdc00;
@@ -380,7 +380,7 @@ bool UtfToWide(const char *Src,wchar *Dest,size_t DestSize)
int wcsicomp(const wchar *s1,const wchar *s2)
{
#ifdef _WIN_ALL
- return CompareStringW(LOCALE_USER_DEFAULT,NORM_IGNORECASE|SORT_STRINGSORT,s1,-1,s2,-1)-2;
+ return CompareString(LOCALE_USER_DEFAULT,NORM_IGNORECASE|SORT_STRINGSORT,s1,-1,s2,-1)-2;
#else
while (true)
{
@@ -476,7 +476,7 @@ int toupperw(int ch)
// CharUpper is more reliable than towupper in Windows, which seems to be
// C locale dependent even in Unicode version. For example, towupper failed
// to convert lowercase Russian characters.
- return (int)CharUpper((wchar *)ch);
+ return (int)(INT_PTR)CharUpper((wchar *)(INT_PTR)ch);
#else
return towupper(ch);
#endif
@@ -488,7 +488,7 @@ int tolowerw(int ch)
#ifdef _WIN_ALL
// CharLower is more reliable than towlower in Windows.
// See comment for towupper above.
- return (int)CharLower((wchar *)ch);
+ return (int)(INT_PTR)CharLower((wchar *)(INT_PTR)ch);
#else
return towlower(ch);
#endif
diff --git a/src/thirdparty/unrar/unpack.cpp b/src/thirdparty/unrar/unpack.cpp
index a7f19805c..9b4c8540e 100644
--- a/src/thirdparty/unrar/unpack.cpp
+++ b/src/thirdparty/unrar/unpack.cpp
@@ -47,7 +47,7 @@ Unpack::Unpack(ComprDataIO *DataIO)
Unpack::~Unpack()
{
- InitFilters30();
+ InitFilters30(false);
if (Window!=NULL)
free(Window);
@@ -114,7 +114,7 @@ void Unpack::Init(size_t WinSize,bool Solid)
if (!Fragmented)
{
// Clean the window to generate the same output when unpacking corrupt
- // RAR files, which may access to unused areas of sliding dictionary.
+ // RAR files, which may access unused areas of sliding dictionary.
memset(NewWindow,0,WinSize);
// If Window is not NULL, it means that window size has grown.
@@ -122,7 +122,7 @@ void Unpack::Init(size_t WinSize,bool Solid)
// RAR archiving code does not allow it in solid streams now,
// but let's implement it anyway just in case we'll change it sometimes.
if (Grow)
- for (size_t I=1;I<MaxWinSize;I++)
+ for (size_t I=1;I<=MaxWinSize;I++)
NewWindow[(UnpPtr-I)&(WinSize-1)]=Window[(UnpPtr-I)&(MaxWinSize-1)];
if (Window!=NULL)
@@ -137,21 +137,27 @@ void Unpack::Init(size_t WinSize,bool Solid)
void Unpack::DoUnpack(int Method,bool Solid)
{
+ // Methods <50 will crash in Fragmented mode when accessing NULL Window.
+ // They cannot be called in such mode now, but we check it below anyway
+ // just for extra safety.
switch(Method)
{
#ifndef SFX_MODULE
case 15: // rar 1.5 compression
- Unpack15(Solid);
+ if (!Fragmented)
+ Unpack15(Solid);
break;
case 20: // rar 2.x compression
case 26: // files larger than 2GB
- Unpack20(Solid);
+ if (!Fragmented)
+ Unpack20(Solid);
break;
#endif
case 29: // rar 3.x compression
- Unpack29(Solid);
+ if (!Fragmented)
+ Unpack29(Solid);
break;
- case 0: // RAR 5.0 compression algorithm 0.
+ case 50: // RAR 5.0 compression algorithm.
#ifdef RAR_SMP
if (MaxUserThreads>1)
{
@@ -184,9 +190,11 @@ void Unpack::UnpInitData(bool Solid)
memset(&BlockTables,0,sizeof(BlockTables));
UnpPtr=WrPtr=0;
WriteBorder=Min(MaxWinSize,UNPACK_MAX_WRITE)&MaxWinMask;
-
- InitFilters();
}
+ // Filters never share several solid files, so we can safely reset them
+ // even in solid archive.
+ InitFilters();
+
Inp.InitBitInput();
WrittenFileSize=0;
ReadTop=0;
@@ -311,7 +319,7 @@ void Unpack::MakeDecodeTables(byte *LengthTable,DecodeTable *Dec,uint Size)
// Find the upper limit for current bit field and adjust the bit length
// accordingly if necessary.
- while (BitField>=Dec->DecodeLen[CurBitLength] && CurBitLength<ASIZE(Dec->DecodeLen))
+ while (CurBitLength<ASIZE(Dec->DecodeLen) && BitField>=Dec->DecodeLen[CurBitLength])
CurBitLength++;
// Translation of right aligned bit string to bit length.
diff --git a/src/thirdparty/unrar/unpack.hpp b/src/thirdparty/unrar/unpack.hpp
index 2c0ed48dd..d47ce4324 100644
--- a/src/thirdparty/unrar/unpack.hpp
+++ b/src/thirdparty/unrar/unpack.hpp
@@ -4,13 +4,17 @@
// Maximum allowed number of compressed bits processed in quick mode.
#define MAX_QUICK_DECODE_BITS 10
-// Maximum number of filters per entire data block.
+// Maximum number of filters per entire data block. Must be at least
+// twice more than MAX_PACK_FILTERS to store filters from two data blocks.
#define MAX_UNPACK_FILTERS 8192
// Maximum number of filters per entire data block for RAR3 unpack.
-#define MAX3_FILTERS 1024
+// Must be at least twice more than v3_MAX_PACK_FILTERS to store filters
+// from two data blocks.
+#define MAX3_UNPACK_FILTERS 8192
-// Write data in 4 MB or smaller blocks.
+// Write data in 4 MB or smaller blocks. Must not exceed PACK_MAX_WRITE,
+// so we keep number of buffered filter in unpacker reasonable.
#define UNPACK_MAX_WRITE 0x400000
// Decode compressed bit fields to alphabet numbers.
@@ -146,7 +150,7 @@ struct UnpackFilter30
unsigned int ExecCount;
bool NextWindow;
- // position of parent filter in Filters array used as prototype for filter
+ // Position of parent filter in Filters array used as prototype for filter
// in PrgStack array. Not defined for filters in Filters array.
unsigned int ParentFilter;
@@ -309,7 +313,7 @@ class Unpack:PackDef
void UnpInitData30(bool Solid);
void Unpack29(bool Solid);
- void InitFilters30();
+ void InitFilters30(bool Solid);
bool ReadEndOfBlock();
bool ReadVMCode();
bool ReadVMCodePPM();
diff --git a/src/thirdparty/unrar/unpack15.cpp b/src/thirdparty/unrar/unpack15.cpp
index 131d2665c..0bcb31454 100644
--- a/src/thirdparty/unrar/unpack15.cpp
+++ b/src/thirdparty/unrar/unpack15.cpp
@@ -401,6 +401,14 @@ void Unpack::GetFlagsBuf()
unsigned int Flags,NewFlagsPlace;
unsigned int FlagsPlace=DecodeNum(Inp.fgetbits(),STARTHF2,DecHf2,PosHf2);
+ // Our Huffman table stores 257 items and needs all them in other parts
+ // of code such as when StMode is on, so the first item is control item.
+ // While normally we do not use the last item to code the flags byte here,
+ // we need to check for value 256 when unpacking in case we unpack
+ // a corrupt archive.
+ if (FlagsPlace>=sizeof(ChSetC)/sizeof(ChSetC[0]))
+ return;
+
while (1)
{
Flags=ChSetC[FlagsPlace];
diff --git a/src/thirdparty/unrar/unpack30.cpp b/src/thirdparty/unrar/unpack30.cpp
index 980df0244..c5b72e2cb 100644
--- a/src/thirdparty/unrar/unpack30.cpp
+++ b/src/thirdparty/unrar/unpack30.cpp
@@ -310,11 +310,11 @@ bool Unpack::ReadVMCode()
// Try to read the new buffer if only one byte is left.
// But if we read all bytes except the last, one byte is enough.
if (Inp.InAddr>=ReadTop-1 && !UnpReadBuf30() && I<Length-1)
- return(false);
+ return false;
VMCode[I]=Inp.getbits()>>8;
Inp.addbits(8);
}
- return(AddVMCode(FirstByte,&VMCode[0],Length));
+ return AddVMCode(FirstByte,&VMCode[0],Length);
}
@@ -322,7 +322,7 @@ bool Unpack::ReadVMCodePPM()
{
unsigned int FirstByte=SafePPMDecodeChar();
if ((int)FirstByte==-1)
- return(false);
+ return false;
int Length=(FirstByte & 7)+1;
if (Length==7)
{
@@ -336,10 +336,10 @@ bool Unpack::ReadVMCodePPM()
{
int B1=SafePPMDecodeChar();
if (B1==-1)
- return(false);
+ return false;
int B2=SafePPMDecodeChar();
if (B2==-1)
- return(false);
+ return false;
Length=B1*256+B2;
}
Array<byte> VMCode(Length);
@@ -350,7 +350,7 @@ bool Unpack::ReadVMCodePPM()
return(false);
VMCode[I]=Ch;
}
- return(AddVMCode(FirstByte,&VMCode[0],Length));
+ return AddVMCode(FirstByte,&VMCode[0],Length);
}
@@ -361,11 +361,11 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
VM.Init();
uint FiltPos;
- if (FirstByte & 0x80)
+ if ((FirstByte & 0x80)!=0)
{
FiltPos=RarVM::ReadData(VMCodeInp);
if (FiltPos==0)
- InitFilters30();
+ InitFilters30(false);
else
FiltPos--;
}
@@ -373,7 +373,7 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
FiltPos=LastFilter; // Use the same filter as last time.
if (FiltPos>Filters30.Size() || FiltPos>OldFilterLengths.Size())
- return(false);
+ return false;
LastFilter=FiltPos;
bool NewFilter=(FiltPos==Filters30.Size());
@@ -382,7 +382,7 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
UnpackFilter30 *Filter;
if (NewFilter) // New filter code, never used before since VM reset.
{
- if (FiltPos>MAX3_FILTERS)
+ if (FiltPos>MAX3_UNPACK_FILTERS)
{
// Too many different filters, corrupt archive.
delete StackFilter;
@@ -418,6 +418,11 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
}
if (EmptyCount==0)
{
+ if (PrgStack.Size()>MAX3_UNPACK_FILTERS)
+ {
+ delete StackFilter;
+ return false;
+ }
PrgStack.Add(1);
EmptyCount=1;
}
@@ -426,10 +431,10 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
StackFilter->ExecCount=Filter->ExecCount;
uint BlockStart=RarVM::ReadData(VMCodeInp);
- if (FirstByte & 0x40)
+ if ((FirstByte & 0x40)!=0)
BlockStart+=258;
StackFilter->BlockStart=(uint)((BlockStart+UnpPtr)&MaxWinMask);
- if (FirstByte & 0x20)
+ if ((FirstByte & 0x20)!=0)
{
StackFilter->BlockLength=RarVM::ReadData(VMCodeInp);
@@ -454,9 +459,9 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
StackFilter->Prg.InitR[4]=StackFilter->BlockLength;
StackFilter->Prg.InitR[5]=StackFilter->ExecCount;
- if (FirstByte & 0x10) // set registers to optional parameters if any
+ if ((FirstByte & 0x10)!=0) // Set registers to optional parameters if any.
{
- unsigned int InitMask=VMCodeInp.fgetbits()>>9;
+ uint InitMask=VMCodeInp.fgetbits()>>9;
VMCodeInp.faddbits(7);
for (int I=0;I<7;I++)
if (InitMask & (1<<I))
@@ -467,12 +472,12 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
{
uint VMCodeSize=RarVM::ReadData(VMCodeInp);
if (VMCodeSize>=0x10000 || VMCodeSize==0)
- return(false);
+ return false;
Array<byte> VMCode(VMCodeSize);
for (uint I=0;I<VMCodeSize;I++)
{
if (VMCodeInp.Overflow(3))
- return(false);
+ return false;
VMCode[I]=VMCodeInp.fgetbits()>>8;
VMCodeInp.faddbits(8);
}
@@ -502,13 +507,13 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
VM.SetLowEndianValue((uint *)&GlobalData[0x2c],StackFilter->ExecCount);
memset(&GlobalData[0x30],0,16);
- if (FirstByte & 8) // Put the data block passed as parameter if any.
+ if ((FirstByte & 8)!=0) // Put the data block passed as parameter if any.
{
if (VMCodeInp.Overflow(3))
- return(false);
+ return false;
uint DataSize=RarVM::ReadData(VMCodeInp);
if (DataSize>VM_GLOBALMEMSIZE-VM_FIXEDGLOBALSIZE)
- return(false);
+ return false;
size_t CurSize=StackFilter->Prg.GlobalData.Size();
if (CurSize<DataSize+VM_FIXEDGLOBALSIZE)
StackFilter->Prg.GlobalData.Add(DataSize+VM_FIXEDGLOBALSIZE-CurSize);
@@ -516,12 +521,12 @@ bool Unpack::AddVMCode(uint FirstByte,byte *Code,int CodeSize)
for (uint I=0;I<DataSize;I++)
{
if (VMCodeInp.Overflow(3))
- return(false);
+ return false;
GlobalData[I]=VMCodeInp.fgetbits()>>8;
VMCodeInp.faddbits(8);
}
}
- return(true);
+ return true;
}
@@ -529,7 +534,7 @@ bool Unpack::UnpReadBuf30()
{
int DataSize=ReadTop-Inp.InAddr; // Data left to process.
if (DataSize<0)
- return(false);
+ return false;
if (Inp.InAddr>BitInput::MAX_SIZE/2)
{
// If we already processed more than half of buffer, let's move
@@ -549,7 +554,7 @@ bool Unpack::UnpReadBuf30()
if (ReadCode>0)
ReadTop+=ReadCode;
ReadBorder=ReadTop-30;
- return(ReadCode!=-1);
+ return ReadCode!=-1;
}
@@ -625,6 +630,7 @@ void Unpack::UnpWriteBuf30()
while (I+1<PrgStack.Size())
{
UnpackFilter30 *NextFilter=PrgStack[I+1];
+ // It is required to check NextWindow here.
if (NextFilter==NULL || NextFilter->BlockStart!=BlockStart ||
NextFilter->BlockLength!=FilteredDataSize || NextFilter->NextWindow)
break;
@@ -816,21 +822,23 @@ void Unpack::UnpInitData30(bool Solid)
memset(UnpOldTable,0,sizeof(UnpOldTable));
PPMEscChar=2;
UnpBlockType=BLOCK_LZ;
-
- InitFilters30();
}
+ InitFilters30(Solid);
}
-void Unpack::InitFilters30()
+void Unpack::InitFilters30(bool Solid)
{
- OldFilterLengths.Reset();
- LastFilter=0;
+ if (!Solid)
+ {
+ OldFilterLengths.SoftReset();
+ LastFilter=0;
- for (size_t I=0;I<Filters30.Size();I++)
- delete Filters30[I];
- Filters30.Reset();
+ for (size_t I=0;I<Filters30.Size();I++)
+ delete Filters30[I];
+ Filters30.SoftReset();
+ }
for (size_t I=0;I<PrgStack.Size();I++)
delete PrgStack[I];
- PrgStack.Reset();
+ PrgStack.SoftReset();
}
diff --git a/src/thirdparty/unrar/unpack50.cpp b/src/thirdparty/unrar/unpack50.cpp
index 7821a3e6b..894e3495f 100644
--- a/src/thirdparty/unrar/unpack50.cpp
+++ b/src/thirdparty/unrar/unpack50.cpp
@@ -189,11 +189,15 @@ bool Unpack::ReadFilter(BitInput &Inp,UnpackFilter &Filter)
bool Unpack::AddFilter(UnpackFilter &Filter)
{
- if (Filters.Size()>=MAX_UNPACK_FILTERS-1)
+ if (Filters.Size()>=MAX_UNPACK_FILTERS)
+ {
UnpWriteBuf(); // Write data, apply and flush filters.
+ if (Filters.Size()>=MAX_UNPACK_FILTERS)
+ InitFilters(); // Still too many filters, prevent excessive memory use.
+ }
// If distance to filter start is that large that due to circular dictionary
- // mode it points to old not written yet data, then we set 'NextWindow'
+ // mode now it points to old not written yet data, then we set 'NextWindow'
// flag and process this filter only after processing that older data.
Filter.NextWindow=WrPtr!=UnpPtr && ((WrPtr-UnpPtr)&MaxWinMask)<=Filter.BlockStart;
@@ -250,7 +254,7 @@ void Unpack::UnpWriteBuf()
for (size_t I=0;I<Filters.Size();I++)
{
// Here we apply filters to data which we need to write.
- // We always copy data to virtual machine memory before processing.
+ // We always copy data to another memory block before processing.
// We cannot process them just in place in Window buffer, because
// these data can be used for future string matches, so we must
// preserve them in original form.
@@ -261,7 +265,7 @@ void Unpack::UnpWriteBuf()
if (flt->NextWindow)
{
// Here we skip filters which have block start in current data range
- // due to address warp around in circular dictionary, but actually
+ // due to address wrap around in circular dictionary, but actually
// belong to next dictionary block. If such filter start position
// is included to current write range, then we reset 'NextWindow' flag.
// In fact we can reset it even without such check, because current
@@ -372,7 +376,8 @@ void Unpack::UnpWriteBuf()
}
// We prefer to write data in blocks not exceeding UNPACK_MAX_WRITE
- // instead of potentially huge MaxWinSize blocks.
+ // instead of potentially huge MaxWinSize blocks. It also allows us
+ // to keep the size of Filters array reasonable.
WriteBorder=(UnpPtr+Min(MaxWinSize,UNPACK_MAX_WRITE))&MaxWinMask;
// Choose the nearest among WriteBorder and WrPtr actual written border.
@@ -644,5 +649,5 @@ bool Unpack::ReadTables(BitInput &Inp,UnpackBlockHeader &Header,UnpackBlockTable
void Unpack::InitFilters()
{
- Filters.Reset();
+ Filters.SoftReset();
}
diff --git a/src/thirdparty/unrar/unpack50mt.cpp b/src/thirdparty/unrar/unpack50mt.cpp
index 9925cf2b8..ce31f0a32 100644
--- a/src/thirdparty/unrar/unpack50mt.cpp
+++ b/src/thirdparty/unrar/unpack50mt.cpp
@@ -43,6 +43,7 @@ void Unpack::InitMT()
{
// Typical number of items in RAR blocks does not exceed 0x4000.
CurData->DecodedAllocated=0x4100;
+ // It will be freed in the object destructor, not in this file.
CurData->Decoded=(UnpackDecodedItem *)malloc(CurData->DecodedAllocated*sizeof(UnpackDecodedItem));
if (CurData->Decoded==NULL)
ErrHandler.MemoryError();
@@ -96,7 +97,6 @@ void Unpack::Unpack5MT(bool Solid)
if (ReadSize>0 && DataSize<TooSmallToProcess)
continue;
- bool BufferProcessed=false;
while (BlockStart<DataSize && !Done)
{
uint BlockNumber=0,BlockNumberMT=0;
@@ -275,6 +275,7 @@ void Unpack::Unpack5MT(bool Solid)
}
}
}
+ UnpPtr&=MaxWinMask; // ProcessDecoded and maybe others can leave UnpPtr > MaxWinMask here.
UnpWriteBuf();
BlockHeader=UnpThreadData[LastBlockNum].BlockHeader;
@@ -328,9 +329,10 @@ void Unpack::UnpackDecode(UnpackThreadData &D)
if (D.DecodedSize>D.DecodedAllocated-8) // Filter can use several slots.
{
D.DecodedAllocated=D.DecodedAllocated*2;
- D.Decoded=(UnpackDecodedItem *)realloc(D.Decoded,D.DecodedAllocated*sizeof(UnpackDecodedItem));
- if (D.Decoded==NULL)
- ErrHandler.MemoryError();
+ void *Decoded=realloc(D.Decoded,D.DecodedAllocated*sizeof(UnpackDecodedItem));
+ if (Decoded==NULL)
+ ErrHandler.MemoryError(); // D.Decoded will be freed in the destructor.
+ D.Decoded=(UnpackDecodedItem *)Decoded;
}
UnpackDecodedItem *CurItem=D.Decoded+D.DecodedSize++;
diff --git a/src/thirdparty/unrar/unpackinline.cpp b/src/thirdparty/unrar/unpackinline.cpp
index 70b533dbb..1dc6980c5 100644
--- a/src/thirdparty/unrar/unpackinline.cpp
+++ b/src/thirdparty/unrar/unpackinline.cpp
@@ -44,6 +44,11 @@ _forceinline void Unpack::CopyString(uint Length,uint Distance)
else
while (Length>=8)
{
+ // In theory we still could overlap here.
+ // Supposing Distance == MaxWinSize - 1 we have memcpy(Src, Src + 1, 8).
+ // But for real RAR archives Distance <= MaxWinSize - MAX_LZ_MATCH
+ // always, so overlap here is impossible.
+
// This memcpy expanded inline by MSVC. We could also use uint64
// assignment, which seems to provide about the same speed.
memcpy(Dest,Src,8);
diff --git a/src/thirdparty/unrar/unrar.vcxproj b/src/thirdparty/unrar/unrar.vcxproj
index 88eede44a..ff6457293 100644
--- a/src/thirdparty/unrar/unrar.vcxproj
+++ b/src/thirdparty/unrar/unrar.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -25,65 +25,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
<PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/thirdparty/unrar/unrar.vcxproj.filters b/src/thirdparty/unrar/unrar.vcxproj.filters
index fa5898820..b03c6d792 100644
--- a/src/thirdparty/unrar/unrar.vcxproj.filters
+++ b/src/thirdparty/unrar/unrar.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/thirdparty/unrar/version.hpp b/src/thirdparty/unrar/version.hpp
index 8518b5516..f9085307c 100644
--- a/src/thirdparty/unrar/version.hpp
+++ b/src/thirdparty/unrar/version.hpp
@@ -1,6 +1,6 @@
#define RARVER_MAJOR 5
-#define RARVER_MINOR 21
+#define RARVER_MINOR 40
#define RARVER_BETA 0
#define RARVER_DAY 15
-#define RARVER_MONTH 2
-#define RARVER_YEAR 2015
+#define RARVER_MONTH 8
+#define RARVER_YEAR 2016
diff --git a/src/thirdparty/unrar/volume.cpp b/src/thirdparty/unrar/volume.cpp
index 8e317ba3f..f0d010fd2 100644
--- a/src/thirdparty/unrar/volume.cpp
+++ b/src/thirdparty/unrar/volume.cpp
@@ -247,7 +247,8 @@ bool DllVolChange(RAROptions *Cmd,wchar *NextName,size_t NameSize)
// We quit only on 'abort' condition, but not on 'name not changed'.
// It is legitimate for program to return the same name when waiting
// for currently non-existent volume.
- if (DllVolAborted)
+ // Also we quit to prevent an infinite loop if no callback is defined.
+ if (DllVolAborted || Cmd->Callback==NULL && Cmd->ChangeVolProc==NULL)
{
Cmd->DllError=ERAR_EOPEN;
return false;
diff --git a/src/thirdparty/unrar/win32acl.cpp b/src/thirdparty/unrar/win32acl.cpp
index 315d4db57..44d0bfa45 100644
--- a/src/thirdparty/unrar/win32acl.cpp
+++ b/src/thirdparty/unrar/win32acl.cpp
@@ -49,7 +49,7 @@ void ExtractACL20(Archive &Arc,const wchar *FileName)
si|=SACL_SECURITY_INFORMATION;
SECURITY_DESCRIPTOR *sd=(SECURITY_DESCRIPTOR *)&UnpData[0];
- int SetCode=SetFileSecurityW(FileName,si,sd);
+ int SetCode=SetFileSecurity(FileName,si,sd);
if (!SetCode)
{
diff --git a/src/thirdparty/unrar/win32lnk.cpp b/src/thirdparty/unrar/win32lnk.cpp
index b291056f0..71c20b95e 100644
--- a/src/thirdparty/unrar/win32lnk.cpp
+++ b/src/thirdparty/unrar/win32lnk.cpp
@@ -62,7 +62,11 @@ bool CreateReparsePoint(CommandData *Cmd,const wchar *Name,FileHeader *hd)
size_t PrintLength=wcslen(PrintName);
bool AbsPath=WinPrefix;
- if (!Cmd->AbsoluteLinks && (AbsPath || !IsRelativeSymlinkSafe(hd->FileName,hd->RedirName)))
+ // IsFullPath is not really needed here, AbsPath check is enough.
+ // We added it just for extra safety, in case some Windows version would
+ // allow to create absolute targets with SYMLINK_FLAG_RELATIVE.
+ if (!Cmd->AbsoluteLinks && (AbsPath || IsFullPath(hd->RedirName) ||
+ !IsRelativeSymlinkSafe(hd->FileName,hd->RedirName)))
return false;
CreatePath(Name,true);
diff --git a/src/thirdparty/unrar/win32stm.cpp b/src/thirdparty/unrar/win32stm.cpp
index edcd7b5fa..9e24c13ec 100644
--- a/src/thirdparty/unrar/win32stm.cpp
+++ b/src/thirdparty/unrar/win32stm.cpp
@@ -78,7 +78,7 @@ void ExtractStreams20(Archive &Arc,const wchar *FileName)
#ifdef _WIN_ALL
-void ExtractStreams(Archive &Arc,const wchar *FileName)
+void ExtractStreams(Archive &Arc,const wchar *FileName,bool TestMode)
{
wchar FullName[NM+2];
if (FileName[0]!=0 && FileName[1]==0)
@@ -89,9 +89,6 @@ void ExtractStreams(Archive &Arc,const wchar *FileName)
else
wcsncpyz(FullName,FileName,ASIZE(FullName));
- byte *Data=&Arc.SubHead.SubData[0];
- size_t DataSize=Arc.SubHead.SubData.Size();
-
wchar StreamName[NM];
GetStreamNameNTFS(Arc,StreamName,ASIZE(StreamName));
if (*StreamName!=':')
@@ -101,6 +98,12 @@ void ExtractStreams(Archive &Arc,const wchar *FileName)
return;
}
+ if (TestMode)
+ {
+ Arc.ReadSubData(NULL,NULL);
+ return;
+ }
+
wcsncatz(FullName,StreamName,ASIZE(FullName));
FindData fd;
diff --git a/src/thirdparty/versions.txt b/src/thirdparty/versions.txt
index c924e2c5c..011228181 100644
--- a/src/thirdparty/versions.txt
+++ b/src/thirdparty/versions.txt
@@ -2,22 +2,26 @@ Project Version
----------------------------------------
bs2b 3.1.0 (modified)
CSizingControlBar 2.45 (modified)
-LAV Filters 0.66-4-0745609 (custom build based on 0.66.0)
-Little CMS 2.7 (git 07da965)
+LAV Filters 0.69-4-g1400993e (custom build based on stable v0.69)
+Little CMS 2.8 (1272acb)
Logitech SDK 3.01 (driver 8.00.100)
-MediaInfoLib 0.7.75
+MediaInfoLib 0.7.92
Mhook 2.3 (modified)
MultiMon 28 Aug '03 (modified)
+NanoSVG git dc12d90
QuickTime SDK 7.3
+RapidJSON 1.0.2
RARFileSource 0.9.3 (modified)
RealMedia SDK -
ResizableLib 1.3
sanear 0.2
SoundTouch 1.9.0
soxr 0.1.2
+tinyxml2 4.0.1
TreePropSheet 7 Mar '03 (modified)
-UnRAR 5.2.7
+UnRAR 5.4.5
VirtualDub 1.10.4
-ZenLib 0.4.31
+XmlRpcC4Win 1.0.13 (modified)
+ZenLib 0.4.34
zita-resampler 1.3.0
-zlib 1.2.8
+zlib 1.2.11
diff --git a/src/thirdparty/zita-resampler/zita-resampler.vcxproj b/src/thirdparty/zita-resampler/zita-resampler.vcxproj
index 47601a38d..706e846db 100644
--- a/src/thirdparty/zita-resampler/zita-resampler.vcxproj
+++ b/src/thirdparty/zita-resampler/zita-resampler.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
diff --git a/src/thirdparty/zlib/ChangeLog b/src/thirdparty/zlib/ChangeLog
index f22aabaef..30199a65a 100644
--- a/src/thirdparty/zlib/ChangeLog
+++ b/src/thirdparty/zlib/ChangeLog
@@ -1,10 +1,53 @@
ChangeLog file for zlib
+Changes in 1.2.11 (15 Jan 2017)
+- Fix deflate stored bug when pulling last block from window
+- Permit immediate deflateParams changes before any deflate input
+
+Changes in 1.2.10 (2 Jan 2017)
+- Avoid warnings on snprintf() return value
+- Fix bug in deflate_stored() for zero-length input
+- Fix bug in gzwrite.c that produced corrupt gzip files
+- Remove files to be installed before copying them in Makefile.in
+- Add warnings when compiling with assembler code
+
+Changes in 1.2.9 (31 Dec 2016)
+- Fix contrib/minizip to permit unzipping with desktop API [Zouzou]
+- Improve contrib/blast to return unused bytes
+- Assure that gzoffset() is correct when appending
+- Improve compress() and uncompress() to support large lengths
+- Fix bug in test/example.c where error code not saved
+- Remedy Coverity warning [Randers-Pehrson]
+- Improve speed of gzprintf() in transparent mode
+- Fix inflateInit2() bug when windowBits is 16 or 32
+- Change DEBUG macro to ZLIB_DEBUG
+- Avoid uninitialized access by gzclose_w()
+- Allow building zlib outside of the source directory
+- Fix bug that accepted invalid zlib header when windowBits is zero
+- Fix gzseek() problem on MinGW due to buggy _lseeki64 there
+- Loop on write() calls in gzwrite.c in case of non-blocking I/O
+- Add --warn (-w) option to ./configure for more compiler warnings
+- Reject a window size of 256 bytes if not using the zlib wrapper
+- Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
+- Add --debug (-d) option to ./configure to define ZLIB_DEBUG
+- Fix bugs in creating a very large gzip header
+- Add uncompress2() function, which returns the input size used
+- Assure that deflateParams() will not switch functions mid-block
+- Dramatically speed up deflation for level 0 (storing)
+- Add gzfread(), duplicating the interface of fread()
+- Add gzfwrite(), duplicating the interface of fwrite()
+- Add deflateGetDictionary() function
+- Use snprintf() for later versions of Microsoft C
+- Fix *Init macros to use z_ prefix when requested
+- Replace as400 with os400 for OS/400 support [Monnerat]
+- Add crc32_z() and adler32_z() functions with size_t lengths
+- Update Visual Studio project files [AraHaan]
+
Changes in 1.2.8 (28 Apr 2013)
- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
- Do not force Z_CONST for C++
-- Clean up contrib/vstudio [Ro]
+- Clean up contrib/vstudio [Roß]
- Correct spelling error in zlib.h
- Fix mixed line endings in contrib/vstudio
@@ -34,7 +77,7 @@ Changes in 1.2.7.1 (24 Mar 2013)
- Clean up the usage of z_const and respect const usage within zlib
- Clean up examples/gzlog.[ch] comparisons of different types
- Avoid shift equal to bits in type (caused endless loop)
-- Fix unintialized value bug in gzputc() introduced by const patches
+- Fix uninitialized value bug in gzputc() introduced by const patches
- Fix memory allocation error in examples/zran.c [Nor]
- Fix bug where gzopen(), gzclose() would write an empty file
- Fix bug in gzclose() when gzwrite() runs out of memory
@@ -194,7 +237,7 @@ Changes in 1.2.5.2 (17 Dec 2011)
- Add a transparent write mode to gzopen() when 'T' is in the mode
- Update python link in zlib man page
- Get inffixed.h and MAKEFIXED result to match
-- Add a ./config --solo option to make zlib subset with no libary use
+- Add a ./config --solo option to make zlib subset with no library use
- Add undocumented inflateResetKeep() function for CAB file decoding
- Add --cover option to ./configure for gcc coverage testing
- Add #define ZLIB_CONST option to use const in the z_stream interface
@@ -564,7 +607,7 @@ Changes in 1.2.3.1 (16 August 2006)
- Update make_vms.com [Zinser]
- Use -fPIC for shared build in configure [Teredesai, Nicholson]
- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
-- Use fdopen() (not _fdopen()) for Interix in zutil.h [Bck]
+- Use fdopen() (not _fdopen()) for Interix in zutil.h [Bäck]
- Add some FAQ entries about the contrib directory
- Update the MVS question in the FAQ
- Avoid extraneous reads after EOF in gzio.c [Brown]
@@ -1178,7 +1221,7 @@ Changes in 1.0.6 (19 Jan 1998)
386 asm code replacing longest_match().
contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
A C++ I/O streams interface to the zlib gz* functions
- contrib/iostream2/ by Tyge Lvset <Tyge.Lovset@cmr.no>
+ contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
Another C++ I/O streams interface
contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
A very simple tar.gz file extractor using zlib
@@ -1267,7 +1310,7 @@ Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
- fix array overlay in deflate.c which sometimes caused bad compressed data
- fix inflate bug with empty stored block
- fix MSDOS medium model which was broken in 0.99
-- fix deflateParams() which could generated bad compressed data.
+- fix deflateParams() which could generate bad compressed data.
- Bytef is define'd instead of typedef'ed (work around Borland bug)
- added an INDEX file
- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
diff --git a/src/thirdparty/zlib/README b/src/thirdparty/zlib/README
index 5ca9d127e..51106de47 100644
--- a/src/thirdparty/zlib/README
+++ b/src/thirdparty/zlib/README
@@ -1,6 +1,6 @@
ZLIB DATA COMPRESSION LIBRARY
-zlib 1.2.8 is a general purpose data compression library. All the code is
+zlib 1.2.11 is a general purpose data compression library. All the code is
thread safe. The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
@@ -31,7 +31,7 @@ Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
issue of Dr. Dobb's Journal; a copy of the article is available at
http://marknelson.us/1997/01/01/zlib-engine/ .
-The changes made in version 1.2.8 are documented in the file ChangeLog.
+The changes made in version 1.2.11 are documented in the file ChangeLog.
Unsupported third party contributions are provided in directory contrib/ .
@@ -84,7 +84,7 @@ Acknowledgments:
Copyright notice:
- (C) 1995-2013 Jean-loup Gailly and Mark Adler
+ (C) 1995-2017 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff --git a/src/thirdparty/zlib/adler32.c b/src/thirdparty/zlib/adler32.c
index a868f073d..d0be4380a 100644
--- a/src/thirdparty/zlib/adler32.c
+++ b/src/thirdparty/zlib/adler32.c
@@ -1,5 +1,5 @@
/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2011 Mark Adler
+ * Copyright (C) 1995-2011, 2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -7,11 +7,9 @@
#include "zutil.h"
-#define local static
-
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
-#define BASE 65521 /* largest prime smaller than 65536 */
+#define BASE 65521U /* largest prime smaller than 65536 */
#define NMAX 5552
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
@@ -62,10 +60,10 @@ local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
#endif
/* ========================================================================= */
-uLong ZEXPORT adler32(adler, buf, len)
+uLong ZEXPORT adler32_z(adler, buf, len)
uLong adler;
const Bytef *buf;
- uInt len;
+ z_size_t len;
{
unsigned long sum2;
unsigned n;
@@ -133,6 +131,15 @@ uLong ZEXPORT adler32(adler, buf, len)
}
/* ========================================================================= */
+uLong ZEXPORT adler32(adler, buf, len)
+ uLong adler;
+ const Bytef *buf;
+ uInt len;
+{
+ return adler32_z(adler, buf, len);
+}
+
+/* ========================================================================= */
local uLong adler32_combine_(adler1, adler2, len2)
uLong adler1;
uLong adler2;
@@ -156,7 +163,7 @@ local uLong adler32_combine_(adler1, adler2, len2)
sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
if (sum1 >= BASE) sum1 -= BASE;
if (sum1 >= BASE) sum1 -= BASE;
- if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
+ if (sum2 >= ((unsigned long)BASE << 1)) sum2 -= ((unsigned long)BASE << 1);
if (sum2 >= BASE) sum2 -= BASE;
return sum1 | (sum2 << 16);
}
diff --git a/src/thirdparty/zlib/compress.c b/src/thirdparty/zlib/compress.c
index 6e9762676..e2db404ab 100644
--- a/src/thirdparty/zlib/compress.c
+++ b/src/thirdparty/zlib/compress.c
@@ -1,5 +1,5 @@
/* compress.c -- compress a memory buffer
- * Copyright (C) 1995-2005 Jean-loup Gailly.
+ * Copyright (C) 1995-2005, 2014, 2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -28,16 +28,11 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
{
z_stream stream;
int err;
+ const uInt max = (uInt)-1;
+ uLong left;
- stream.next_in = (z_const Bytef *)source;
- stream.avail_in = (uInt)sourceLen;
-#ifdef MAXSEG_64K
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-#endif
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
+ left = *destLen;
+ *destLen = 0;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
@@ -46,15 +41,26 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
err = deflateInit(&stream, level);
if (err != Z_OK) return err;
- err = deflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- deflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
+ stream.next_out = dest;
+ stream.avail_out = 0;
+ stream.next_in = (z_const Bytef *)source;
+ stream.avail_in = 0;
+
+ do {
+ if (stream.avail_out == 0) {
+ stream.avail_out = left > (uLong)max ? max : (uInt)left;
+ left -= stream.avail_out;
+ }
+ if (stream.avail_in == 0) {
+ stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen;
+ sourceLen -= stream.avail_in;
+ }
+ err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH);
+ } while (err == Z_OK);
- err = deflateEnd(&stream);
- return err;
+ *destLen = stream.total_out;
+ deflateEnd(&stream);
+ return err == Z_STREAM_END ? Z_OK : err;
}
/* ===========================================================================
diff --git a/src/thirdparty/zlib/crc32.c b/src/thirdparty/zlib/crc32.c
index 979a7190a..9580440c0 100644
--- a/src/thirdparty/zlib/crc32.c
+++ b/src/thirdparty/zlib/crc32.c
@@ -1,5 +1,5 @@
/* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-2006, 2010, 2011, 2012 Mark Adler
+ * Copyright (C) 1995-2006, 2010, 2011, 2012, 2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*
* Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
@@ -30,17 +30,15 @@
#include "zutil.h" /* for STDC and FAR definitions */
-#define local static
-
/* Definitions for doing the crc four data bytes at a time. */
#if !defined(NOBYFOUR) && defined(Z_U4)
# define BYFOUR
#endif
#ifdef BYFOUR
local unsigned long crc32_little OF((unsigned long,
- const unsigned char FAR *, unsigned));
+ const unsigned char FAR *, z_size_t));
local unsigned long crc32_big OF((unsigned long,
- const unsigned char FAR *, unsigned));
+ const unsigned char FAR *, z_size_t));
# define TBLS 8
#else
# define TBLS 1
@@ -201,10 +199,10 @@ const z_crc_t FAR * ZEXPORT get_crc_table()
#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
/* ========================================================================= */
-unsigned long ZEXPORT crc32(crc, buf, len)
+unsigned long ZEXPORT crc32_z(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
- uInt len;
+ z_size_t len;
{
if (buf == Z_NULL) return 0UL;
@@ -235,8 +233,29 @@ unsigned long ZEXPORT crc32(crc, buf, len)
return crc ^ 0xffffffffUL;
}
+/* ========================================================================= */
+unsigned long ZEXPORT crc32(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ uInt len;
+{
+ return crc32_z(crc, buf, len);
+}
+
#ifdef BYFOUR
+/*
+ This BYFOUR code accesses the passed unsigned char * buffer with a 32-bit
+ integer pointer type. This violates the strict aliasing rule, where a
+ compiler can assume, for optimization purposes, that two pointers to
+ fundamentally different types won't ever point to the same memory. This can
+ manifest as a problem only if one of the pointers is written to. This code
+ only reads from those pointers. So long as this code remains isolated in
+ this compilation unit, there won't be a problem. For this reason, this code
+ should not be copied and pasted into a compilation unit in which other code
+ writes to the buffer that is passed to these routines.
+ */
+
/* ========================================================================= */
#define DOLIT4 c ^= *buf4++; \
c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
@@ -247,7 +266,7 @@ unsigned long ZEXPORT crc32(crc, buf, len)
local unsigned long crc32_little(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
- unsigned len;
+ z_size_t len;
{
register z_crc_t c;
register const z_crc_t FAR *buf4;
@@ -278,7 +297,7 @@ local unsigned long crc32_little(crc, buf, len)
}
/* ========================================================================= */
-#define DOBIG4 c ^= *++buf4; \
+#define DOBIG4 c ^= *buf4++; \
c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
@@ -287,7 +306,7 @@ local unsigned long crc32_little(crc, buf, len)
local unsigned long crc32_big(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
- unsigned len;
+ z_size_t len;
{
register z_crc_t c;
register const z_crc_t FAR *buf4;
@@ -300,7 +319,6 @@ local unsigned long crc32_big(crc, buf, len)
}
buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
- buf4--;
while (len >= 32) {
DOBIG32;
len -= 32;
@@ -309,7 +327,6 @@ local unsigned long crc32_big(crc, buf, len)
DOBIG4;
len -= 4;
}
- buf4++;
buf = (const unsigned char FAR *)buf4;
if (len) do {
diff --git a/src/thirdparty/zlib/deflate.c b/src/thirdparty/zlib/deflate.c
index 696957705..1ec761448 100644
--- a/src/thirdparty/zlib/deflate.c
+++ b/src/thirdparty/zlib/deflate.c
@@ -1,5 +1,5 @@
/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+ * Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -52,7 +52,7 @@
#include "deflate.h"
const char deflate_copyright[] =
- " deflate 1.2.8 Copyright 1995-2013 Jean-loup Gailly and Mark Adler ";
+ " deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler ";
/*
If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot
@@ -73,6 +73,8 @@ typedef enum {
typedef block_state (*compress_func) OF((deflate_state *s, int flush));
/* Compression function. Returns the block state after the call. */
+local int deflateStateCheck OF((z_streamp strm));
+local void slide_hash OF((deflate_state *s));
local void fill_window OF((deflate_state *s));
local block_state deflate_stored OF((deflate_state *s, int flush));
local block_state deflate_fast OF((deflate_state *s, int flush));
@@ -84,15 +86,16 @@ local block_state deflate_huff OF((deflate_state *s, int flush));
local void lm_init OF((deflate_state *s));
local void putShortMSB OF((deflate_state *s, uInt b));
local void flush_pending OF((z_streamp strm));
-local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
+local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
#ifdef ASMV
+# pragma message("Assembler code may have bugs -- use at your own risk")
void match_init OF((void)); /* asm code initialization */
uInt longest_match OF((deflate_state *s, IPos cur_match));
#else
local uInt longest_match OF((deflate_state *s, IPos cur_match));
#endif
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
local void check_match OF((deflate_state *s, IPos start, IPos match,
int length));
#endif
@@ -148,21 +151,14 @@ local const config configuration_table[10] = {
* meaning.
*/
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-#ifndef NO_DUMMY_DECL
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-#endif
-
/* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
-#define RANK(f) (((f) << 1) - ((f) > 4 ? 9 : 0))
+#define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0))
/* ===========================================================================
* Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
+ * IN assertion: all calls to UPDATE_HASH are made with consecutive input
+ * characters, so that a running hash key can be computed from the previous
+ * key instead of complete recalculation each time.
*/
#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
@@ -173,9 +169,9 @@ struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
* the previous length of the hash chain.
* If this file is compiled with -DFASTEST, the compression level is forced
* to 1, and no hash chains are maintained.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
+ * IN assertion: all calls to INSERT_STRING are made with consecutive input
+ * characters and the first MIN_MATCH bytes of str are valid (except for
+ * the last MIN_MATCH-1 bytes of the input file).
*/
#ifdef FASTEST
#define INSERT_STRING(s, str, match_head) \
@@ -197,6 +193,37 @@ struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
s->head[s->hash_size-1] = NIL; \
zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+/* ===========================================================================
+ * Slide the hash table when sliding the window down (could be avoided with 32
+ * bit values at the expense of memory usage). We slide even when level == 0 to
+ * keep the hash table consistent if we switch back to level > 0 later.
+ */
+local void slide_hash(s)
+ deflate_state *s;
+{
+ unsigned n, m;
+ Posf *p;
+ uInt wsize = s->w_size;
+
+ n = s->hash_size;
+ p = &s->head[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m - wsize : NIL);
+ } while (--n);
+ n = wsize;
+#ifndef FASTEST
+ p = &s->prev[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m - wsize : NIL);
+ /* If n is not on any hash chain, prev[n] is garbage but
+ * its value will never be used.
+ */
+ } while (--n);
+#endif
+}
+
/* ========================================================================= */
int ZEXPORT deflateInit_(strm, level, version, stream_size)
z_streamp strm;
@@ -270,7 +297,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
#endif
if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_FIXED) {
+ strategy < 0 || strategy > Z_FIXED || (windowBits == 8 && wrap != 1)) {
return Z_STREAM_ERROR;
}
if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */
@@ -278,14 +305,15 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
if (s == Z_NULL) return Z_MEM_ERROR;
strm->state = (struct internal_state FAR *)s;
s->strm = strm;
+ s->status = INIT_STATE; /* to pass state test in deflateReset() */
s->wrap = wrap;
s->gzhead = Z_NULL;
- s->w_bits = windowBits;
+ s->w_bits = (uInt)windowBits;
s->w_size = 1 << s->w_bits;
s->w_mask = s->w_size - 1;
- s->hash_bits = memLevel + 7;
+ s->hash_bits = (uInt)memLevel + 7;
s->hash_size = 1 << s->hash_bits;
s->hash_mask = s->hash_size - 1;
s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
@@ -319,6 +347,31 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
return deflateReset(strm);
}
+/* =========================================================================
+ * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
+ */
+local int deflateStateCheck (strm)
+ z_streamp strm;
+{
+ deflate_state *s;
+ if (strm == Z_NULL ||
+ strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
+ return 1;
+ s = strm->state;
+ if (s == Z_NULL || s->strm != strm || (s->status != INIT_STATE &&
+#ifdef GZIP
+ s->status != GZIP_STATE &&
+#endif
+ s->status != EXTRA_STATE &&
+ s->status != NAME_STATE &&
+ s->status != COMMENT_STATE &&
+ s->status != HCRC_STATE &&
+ s->status != BUSY_STATE &&
+ s->status != FINISH_STATE))
+ return 1;
+ return 0;
+}
+
/* ========================================================================= */
int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
z_streamp strm;
@@ -331,7 +384,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
unsigned avail;
z_const unsigned char *next;
- if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
+ if (deflateStateCheck(strm) || dictionary == Z_NULL)
return Z_STREAM_ERROR;
s = strm->state;
wrap = s->wrap;
@@ -389,13 +442,34 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
}
/* ========================================================================= */
+int ZEXPORT deflateGetDictionary (strm, dictionary, dictLength)
+ z_streamp strm;
+ Bytef *dictionary;
+ uInt *dictLength;
+{
+ deflate_state *s;
+ uInt len;
+
+ if (deflateStateCheck(strm))
+ return Z_STREAM_ERROR;
+ s = strm->state;
+ len = s->strstart + s->lookahead;
+ if (len > s->w_size)
+ len = s->w_size;
+ if (dictionary != Z_NULL && len)
+ zmemcpy(dictionary, s->window + s->strstart + s->lookahead - len, len);
+ if (dictLength != Z_NULL)
+ *dictLength = len;
+ return Z_OK;
+}
+
+/* ========================================================================= */
int ZEXPORT deflateResetKeep (strm)
z_streamp strm;
{
deflate_state *s;
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) {
+ if (deflateStateCheck(strm)) {
return Z_STREAM_ERROR;
}
@@ -410,7 +484,11 @@ int ZEXPORT deflateResetKeep (strm)
if (s->wrap < 0) {
s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */
}
- s->status = s->wrap ? INIT_STATE : BUSY_STATE;
+ s->status =
+#ifdef GZIP
+ s->wrap == 2 ? GZIP_STATE :
+#endif
+ s->wrap ? INIT_STATE : BUSY_STATE;
strm->adler =
#ifdef GZIP
s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
@@ -440,8 +518,8 @@ int ZEXPORT deflateSetHeader (strm, head)
z_streamp strm;
gz_headerp head;
{
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- if (strm->state->wrap != 2) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm) || strm->state->wrap != 2)
+ return Z_STREAM_ERROR;
strm->state->gzhead = head;
return Z_OK;
}
@@ -452,7 +530,7 @@ int ZEXPORT deflatePending (strm, pending, bits)
int *bits;
z_streamp strm;
{
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
if (pending != Z_NULL)
*pending = strm->state->pending;
if (bits != Z_NULL)
@@ -469,7 +547,7 @@ int ZEXPORT deflatePrime (strm, bits, value)
deflate_state *s;
int put;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
s = strm->state;
if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3))
return Z_BUF_ERROR;
@@ -494,9 +572,8 @@ int ZEXPORT deflateParams(strm, level, strategy)
{
deflate_state *s;
compress_func func;
- int err = Z_OK;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
s = strm->state;
#ifdef FASTEST
@@ -510,13 +587,22 @@ int ZEXPORT deflateParams(strm, level, strategy)
func = configuration_table[s->level].func;
if ((strategy != s->strategy || func != configuration_table[level].func) &&
- strm->total_in != 0) {
+ s->high_water) {
/* Flush the last buffer: */
- err = deflate(strm, Z_BLOCK);
- if (err == Z_BUF_ERROR && s->pending == 0)
- err = Z_OK;
+ int err = deflate(strm, Z_BLOCK);
+ if (err == Z_STREAM_ERROR)
+ return err;
+ if (strm->avail_out == 0)
+ return Z_BUF_ERROR;
}
if (s->level != level) {
+ if (s->level == 0 && s->matches != 0) {
+ if (s->matches == 1)
+ slide_hash(s);
+ else
+ CLEAR_HASH(s);
+ s->matches = 0;
+ }
s->level = level;
s->max_lazy_match = configuration_table[level].max_lazy;
s->good_match = configuration_table[level].good_length;
@@ -524,7 +610,7 @@ int ZEXPORT deflateParams(strm, level, strategy)
s->max_chain_length = configuration_table[level].max_chain;
}
s->strategy = strategy;
- return err;
+ return Z_OK;
}
/* ========================================================================= */
@@ -537,12 +623,12 @@ int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain)
{
deflate_state *s;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
s = strm->state;
- s->good_match = good_length;
- s->max_lazy_match = max_lazy;
+ s->good_match = (uInt)good_length;
+ s->max_lazy_match = (uInt)max_lazy;
s->nice_match = nice_length;
- s->max_chain_length = max_chain;
+ s->max_chain_length = (uInt)max_chain;
return Z_OK;
}
@@ -569,14 +655,13 @@ uLong ZEXPORT deflateBound(strm, sourceLen)
{
deflate_state *s;
uLong complen, wraplen;
- Bytef *str;
/* conservative upper bound for compressed data */
complen = sourceLen +
((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
/* if can't get parameters, return conservative bound plus zlib wrapper */
- if (strm == Z_NULL || strm->state == Z_NULL)
+ if (deflateStateCheck(strm))
return complen + 6;
/* compute wrapper length */
@@ -588,9 +673,11 @@ uLong ZEXPORT deflateBound(strm, sourceLen)
case 1: /* zlib wrapper */
wraplen = 6 + (s->strstart ? 4 : 0);
break;
+#ifdef GZIP
case 2: /* gzip wrapper */
wraplen = 18;
if (s->gzhead != Z_NULL) { /* user-supplied gzip header */
+ Bytef *str;
if (s->gzhead->extra != Z_NULL)
wraplen += 2 + s->gzhead->extra_len;
str = s->gzhead->name;
@@ -607,6 +694,7 @@ uLong ZEXPORT deflateBound(strm, sourceLen)
wraplen += 2;
}
break;
+#endif
default: /* for compiler happiness */
wraplen = 6;
}
@@ -634,10 +722,10 @@ local void putShortMSB (s, b)
}
/* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
+ * Flush as much pending output as possible. All deflate() output, except for
+ * some deflate_stored() output, goes through this function so some
+ * applications may wish to modify it to avoid allocating a large
+ * strm->next_out buffer and copying into it. (See also read_buf()).
*/
local void flush_pending(strm)
z_streamp strm;
@@ -654,13 +742,23 @@ local void flush_pending(strm)
strm->next_out += len;
s->pending_out += len;
strm->total_out += len;
- strm->avail_out -= len;
- s->pending -= len;
+ strm->avail_out -= len;
+ s->pending -= len;
if (s->pending == 0) {
s->pending_out = s->pending_buf;
}
}
+/* ===========================================================================
+ * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
+ */
+#define HCRC_UPDATE(beg) \
+ do { \
+ if (s->gzhead->hcrc && s->pending > (beg)) \
+ strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
+ s->pending - (beg)); \
+ } while (0)
+
/* ========================================================================= */
int ZEXPORT deflate (strm, flush)
z_streamp strm;
@@ -669,230 +767,229 @@ int ZEXPORT deflate (strm, flush)
int old_flush; /* value of flush param for previous deflate call */
deflate_state *s;
- if (strm == Z_NULL || strm->state == Z_NULL ||
- flush > Z_BLOCK || flush < 0) {
+ if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {
return Z_STREAM_ERROR;
}
s = strm->state;
if (strm->next_out == Z_NULL ||
- (strm->next_in == Z_NULL && strm->avail_in != 0) ||
+ (strm->avail_in != 0 && strm->next_in == Z_NULL) ||
(s->status == FINISH_STATE && flush != Z_FINISH)) {
ERR_RETURN(strm, Z_STREAM_ERROR);
}
if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
- s->strm = strm; /* just in case */
old_flush = s->last_flush;
s->last_flush = flush;
+ /* Flush as much pending output as possible */
+ if (s->pending != 0) {
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ /* Since avail_out is 0, deflate will be called again with
+ * more output space, but possibly with both pending and
+ * avail_in equal to zero. There won't be anything to do,
+ * but this is not an error situation so make sure we
+ * return OK instead of BUF_ERROR at next call of deflate:
+ */
+ s->last_flush = -1;
+ return Z_OK;
+ }
+
+ /* Make sure there is something to do and avoid duplicate consecutive
+ * flushes. For repeated and useless calls with Z_FINISH, we keep
+ * returning Z_STREAM_END instead of Z_BUF_ERROR.
+ */
+ } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
+ flush != Z_FINISH) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* User must not provide more input after the first FINISH: */
+ if (s->status == FINISH_STATE && strm->avail_in != 0) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
/* Write the header */
if (s->status == INIT_STATE) {
-#ifdef GZIP
- if (s->wrap == 2) {
- strm->adler = crc32(0L, Z_NULL, 0);
- put_byte(s, 31);
- put_byte(s, 139);
- put_byte(s, 8);
- if (s->gzhead == Z_NULL) {
- put_byte(s, 0);
- put_byte(s, 0);
- put_byte(s, 0);
- put_byte(s, 0);
- put_byte(s, 0);
- put_byte(s, s->level == 9 ? 2 :
- (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
- 4 : 0));
- put_byte(s, OS_CODE);
- s->status = BUSY_STATE;
- }
- else {
- put_byte(s, (s->gzhead->text ? 1 : 0) +
- (s->gzhead->hcrc ? 2 : 0) +
- (s->gzhead->extra == Z_NULL ? 0 : 4) +
- (s->gzhead->name == Z_NULL ? 0 : 8) +
- (s->gzhead->comment == Z_NULL ? 0 : 16)
- );
- put_byte(s, (Byte)(s->gzhead->time & 0xff));
- put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
- put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
- put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
- put_byte(s, s->level == 9 ? 2 :
- (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
- 4 : 0));
- put_byte(s, s->gzhead->os & 0xff);
- if (s->gzhead->extra != Z_NULL) {
- put_byte(s, s->gzhead->extra_len & 0xff);
- put_byte(s, (s->gzhead->extra_len >> 8) & 0xff);
- }
- if (s->gzhead->hcrc)
- strm->adler = crc32(strm->adler, s->pending_buf,
- s->pending);
- s->gzindex = 0;
- s->status = EXTRA_STATE;
- }
- }
+ /* zlib header */
+ uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
+ uInt level_flags;
+
+ if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
+ level_flags = 0;
+ else if (s->level < 6)
+ level_flags = 1;
+ else if (s->level == 6)
+ level_flags = 2;
else
-#endif
- {
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
- uInt level_flags;
-
- if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
- level_flags = 0;
- else if (s->level < 6)
- level_flags = 1;
- else if (s->level == 6)
- level_flags = 2;
- else
- level_flags = 3;
- header |= (level_flags << 6);
- if (s->strstart != 0) header |= PRESET_DICT;
- header += 31 - (header % 31);
+ level_flags = 3;
+ header |= (level_flags << 6);
+ if (s->strstart != 0) header |= PRESET_DICT;
+ header += 31 - (header % 31);
+
+ putShortMSB(s, header);
+ /* Save the adler32 of the preset dictionary: */
+ if (s->strstart != 0) {
+ putShortMSB(s, (uInt)(strm->adler >> 16));
+ putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ }
+ strm->adler = adler32(0L, Z_NULL, 0);
+ s->status = BUSY_STATE;
+
+ /* Compression must start with an empty pending buffer */
+ flush_pending(strm);
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
+ }
+ }
+#ifdef GZIP
+ if (s->status == GZIP_STATE) {
+ /* gzip header */
+ strm->adler = crc32(0L, Z_NULL, 0);
+ put_byte(s, 31);
+ put_byte(s, 139);
+ put_byte(s, 8);
+ if (s->gzhead == Z_NULL) {
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, s->level == 9 ? 2 :
+ (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+ 4 : 0));
+ put_byte(s, OS_CODE);
s->status = BUSY_STATE;
- putShortMSB(s, header);
- /* Save the adler32 of the preset dictionary: */
- if (s->strstart != 0) {
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ /* Compression must start with an empty pending buffer */
+ flush_pending(strm);
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
+ }
+ }
+ else {
+ put_byte(s, (s->gzhead->text ? 1 : 0) +
+ (s->gzhead->hcrc ? 2 : 0) +
+ (s->gzhead->extra == Z_NULL ? 0 : 4) +
+ (s->gzhead->name == Z_NULL ? 0 : 8) +
+ (s->gzhead->comment == Z_NULL ? 0 : 16)
+ );
+ put_byte(s, (Byte)(s->gzhead->time & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
+ put_byte(s, s->level == 9 ? 2 :
+ (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+ 4 : 0));
+ put_byte(s, s->gzhead->os & 0xff);
+ if (s->gzhead->extra != Z_NULL) {
+ put_byte(s, s->gzhead->extra_len & 0xff);
+ put_byte(s, (s->gzhead->extra_len >> 8) & 0xff);
}
- strm->adler = adler32(0L, Z_NULL, 0);
+ if (s->gzhead->hcrc)
+ strm->adler = crc32(strm->adler, s->pending_buf,
+ s->pending);
+ s->gzindex = 0;
+ s->status = EXTRA_STATE;
}
}
-#ifdef GZIP
if (s->status == EXTRA_STATE) {
if (s->gzhead->extra != Z_NULL) {
- uInt beg = s->pending; /* start of bytes to update crc */
-
- while (s->gzindex < (s->gzhead->extra_len & 0xffff)) {
- if (s->pending == s->pending_buf_size) {
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
- flush_pending(strm);
- beg = s->pending;
- if (s->pending == s->pending_buf_size)
- break;
+ ulg beg = s->pending; /* start of bytes to update crc */
+ uInt left = (s->gzhead->extra_len & 0xffff) - s->gzindex;
+ while (s->pending + left > s->pending_buf_size) {
+ uInt copy = s->pending_buf_size - s->pending;
+ zmemcpy(s->pending_buf + s->pending,
+ s->gzhead->extra + s->gzindex, copy);
+ s->pending = s->pending_buf_size;
+ HCRC_UPDATE(beg);
+ s->gzindex += copy;
+ flush_pending(strm);
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
}
- put_byte(s, s->gzhead->extra[s->gzindex]);
- s->gzindex++;
- }
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
- if (s->gzindex == s->gzhead->extra_len) {
- s->gzindex = 0;
- s->status = NAME_STATE;
+ beg = 0;
+ left -= copy;
}
+ zmemcpy(s->pending_buf + s->pending,
+ s->gzhead->extra + s->gzindex, left);
+ s->pending += left;
+ HCRC_UPDATE(beg);
+ s->gzindex = 0;
}
- else
- s->status = NAME_STATE;
+ s->status = NAME_STATE;
}
if (s->status == NAME_STATE) {
if (s->gzhead->name != Z_NULL) {
- uInt beg = s->pending; /* start of bytes to update crc */
+ ulg beg = s->pending; /* start of bytes to update crc */
int val;
-
do {
if (s->pending == s->pending_buf_size) {
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
+ HCRC_UPDATE(beg);
flush_pending(strm);
- beg = s->pending;
- if (s->pending == s->pending_buf_size) {
- val = 1;
- break;
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
}
+ beg = 0;
}
val = s->gzhead->name[s->gzindex++];
put_byte(s, val);
} while (val != 0);
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
- if (val == 0) {
- s->gzindex = 0;
- s->status = COMMENT_STATE;
- }
+ HCRC_UPDATE(beg);
+ s->gzindex = 0;
}
- else
- s->status = COMMENT_STATE;
+ s->status = COMMENT_STATE;
}
if (s->status == COMMENT_STATE) {
if (s->gzhead->comment != Z_NULL) {
- uInt beg = s->pending; /* start of bytes to update crc */
+ ulg beg = s->pending; /* start of bytes to update crc */
int val;
-
do {
if (s->pending == s->pending_buf_size) {
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
+ HCRC_UPDATE(beg);
flush_pending(strm);
- beg = s->pending;
- if (s->pending == s->pending_buf_size) {
- val = 1;
- break;
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
}
+ beg = 0;
}
val = s->gzhead->comment[s->gzindex++];
put_byte(s, val);
} while (val != 0);
- if (s->gzhead->hcrc && s->pending > beg)
- strm->adler = crc32(strm->adler, s->pending_buf + beg,
- s->pending - beg);
- if (val == 0)
- s->status = HCRC_STATE;
+ HCRC_UPDATE(beg);
}
- else
- s->status = HCRC_STATE;
+ s->status = HCRC_STATE;
}
if (s->status == HCRC_STATE) {
if (s->gzhead->hcrc) {
- if (s->pending + 2 > s->pending_buf_size)
+ if (s->pending + 2 > s->pending_buf_size) {
flush_pending(strm);
- if (s->pending + 2 <= s->pending_buf_size) {
- put_byte(s, (Byte)(strm->adler & 0xff));
- put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
- strm->adler = crc32(0L, Z_NULL, 0);
- s->status = BUSY_STATE;
+ if (s->pending != 0) {
+ s->last_flush = -1;
+ return Z_OK;
+ }
}
+ put_byte(s, (Byte)(strm->adler & 0xff));
+ put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
+ strm->adler = crc32(0L, Z_NULL, 0);
}
- else
- s->status = BUSY_STATE;
- }
-#endif
+ s->status = BUSY_STATE;
- /* Flush as much pending output as possible */
- if (s->pending != 0) {
+ /* Compression must start with an empty pending buffer */
flush_pending(strm);
- if (strm->avail_out == 0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
+ if (s->pending != 0) {
s->last_flush = -1;
return Z_OK;
}
-
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUF_ERROR.
- */
- } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
- flush != Z_FINISH) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* User must not provide more input after the first FINISH: */
- if (s->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
}
+#endif
/* Start a new block or continue the current one.
*/
@@ -900,9 +997,10 @@ int ZEXPORT deflate (strm, flush)
(flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
block_state bstate;
- bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
- (s->strategy == Z_RLE ? deflate_rle(s, flush) :
- (*(configuration_table[s->level].func))(s, flush));
+ bstate = s->level == 0 ? deflate_stored(s, flush) :
+ s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
+ s->strategy == Z_RLE ? deflate_rle(s, flush) :
+ (*(configuration_table[s->level].func))(s, flush);
if (bstate == finish_started || bstate == finish_done) {
s->status = FINISH_STATE;
@@ -944,7 +1042,6 @@ int ZEXPORT deflate (strm, flush)
}
}
}
- Assert(strm->avail_out > 0, "bug2");
if (flush != Z_FINISH) return Z_OK;
if (s->wrap <= 0) return Z_STREAM_END;
@@ -981,18 +1078,9 @@ int ZEXPORT deflateEnd (strm)
{
int status;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
status = strm->state->status;
- if (status != INIT_STATE &&
- status != EXTRA_STATE &&
- status != NAME_STATE &&
- status != COMMENT_STATE &&
- status != HCRC_STATE &&
- status != BUSY_STATE &&
- status != FINISH_STATE) {
- return Z_STREAM_ERROR;
- }
/* Deallocate in reverse order of allocations: */
TRY_FREE(strm, strm->state->pending_buf);
@@ -1023,7 +1111,7 @@ int ZEXPORT deflateCopy (dest, source)
ushf *overlay;
- if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
+ if (deflateStateCheck(source) || dest == Z_NULL) {
return Z_STREAM_ERROR;
}
@@ -1073,7 +1161,7 @@ int ZEXPORT deflateCopy (dest, source)
* allocating a large strm->next_in buffer and copying from it.
* (See also flush_pending()).
*/
-local int read_buf(strm, buf, size)
+local unsigned read_buf(strm, buf, size)
z_streamp strm;
Bytef *buf;
unsigned size;
@@ -1097,7 +1185,7 @@ local int read_buf(strm, buf, size)
strm->next_in += len;
strm->total_in += len;
- return (int)len;
+ return len;
}
/* ===========================================================================
@@ -1151,9 +1239,9 @@ local uInt longest_match(s, cur_match)
{
unsigned chain_length = s->max_chain_length;/* max hash chain length */
register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
+ register Bytef *match; /* matched string */
register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
+ int best_len = (int)s->prev_length; /* best match length so far */
int nice_match = s->nice_match; /* stop if match long enough */
IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
s->strstart - (IPos)MAX_DIST(s) : NIL;
@@ -1188,7 +1276,7 @@ local uInt longest_match(s, cur_match)
/* Do not look for matches beyond the end of the input. This is necessary
* to make deflate deterministic.
*/
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
+ if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
@@ -1349,7 +1437,11 @@ local uInt longest_match(s, cur_match)
#endif /* FASTEST */
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
+
+#define EQUAL 0
+/* result of memcmp for equal strings */
+
/* ===========================================================================
* Check that the match at match_start is indeed a match.
*/
@@ -1375,7 +1467,7 @@ local void check_match(s, start, match, length)
}
#else
# define check_match(s, start, match, length)
-#endif /* DEBUG */
+#endif /* ZLIB_DEBUG */
/* ===========================================================================
* Fill the window when the lookahead becomes insufficient.
@@ -1390,8 +1482,7 @@ local void check_match(s, start, match, length)
local void fill_window(s)
deflate_state *s;
{
- register unsigned n, m;
- register Posf *p;
+ unsigned n;
unsigned more; /* Amount of free space at the end of the window. */
uInt wsize = s->w_size;
@@ -1418,35 +1509,11 @@ local void fill_window(s)
*/
if (s->strstart >= wsize+MAX_DIST(s)) {
- zmemcpy(s->window, s->window+wsize, (unsigned)wsize);
+ zmemcpy(s->window, s->window+wsize, (unsigned)wsize - more);
s->match_start -= wsize;
s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage). We slide even when level == 0
- to keep the hash table consistent if we switch back to level > 0
- later. (Using level 0 permanently is not an optimal usage of
- zlib, so we don't care about this pathological case.)
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
-#ifndef FASTEST
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
-#endif
+ slide_hash(s);
more += wsize;
}
if (s->strm->avail_in == 0) break;
@@ -1552,70 +1619,199 @@ local void fill_window(s)
if (s->strm->avail_out == 0) return (last) ? finish_started : need_more; \
}
+/* Maximum stored block length in deflate format (not including header). */
+#define MAX_STORED 65535
+
+/* Minimum of a and b. */
+#define MIN(a, b) ((a) > (b) ? (b) : (a))
+
/* ===========================================================================
* Copy without compression as much as possible from the input stream, return
* the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
+ *
+ * In case deflateParams() is used to later switch to a non-zero compression
+ * level, s->matches (otherwise unused when storing) keeps track of the number
+ * of hash table slides to perform. If s->matches is 1, then one hash table
+ * slide will be done when switching. If s->matches is 2, the maximum value
+ * allowed here, then the hash table will be cleared, since two or more slides
+ * is the same as a clear.
+ *
+ * deflate_stored() is written to minimize the number of times an input byte is
+ * copied. It is most efficient with large input and output buffers, which
+ * maximizes the opportunites to have a single copy from next_in to next_out.
*/
local block_state deflate_stored(s, flush)
deflate_state *s;
int flush;
{
- /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
- * to pending_buf_size, and each stored block has a 5 byte header:
+ /* Smallest worthy block size when not flushing or finishing. By default
+ * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
+ * large input and output buffers, the stored block size will be larger.
*/
- ulg max_block_size = 0xffff;
- ulg max_start;
-
- if (max_block_size > s->pending_buf_size - 5) {
- max_block_size = s->pending_buf_size - 5;
- }
+ unsigned min_block = MIN(s->pending_buf_size - 5, s->w_size);
- /* Copy as much as possible from input to output: */
- for (;;) {
- /* Fill the window as much as possible: */
- if (s->lookahead <= 1) {
-
- Assert(s->strstart < s->w_size+MAX_DIST(s) ||
- s->block_start >= (long)s->w_size, "slide too late");
+ /* Copy as many min_block or larger stored blocks directly to next_out as
+ * possible. If flushing, copy the remaining available input to next_out as
+ * stored blocks, if there is enough space.
+ */
+ unsigned len, left, have, last = 0;
+ unsigned used = s->strm->avail_in;
+ do {
+ /* Set len to the maximum size block that we can copy directly with the
+ * available input data and output space. Set left to how much of that
+ * would be copied from what's left in the window.
+ */
+ len = MAX_STORED; /* maximum deflate stored block length */
+ have = (s->bi_valid + 42) >> 3; /* number of header bytes */
+ if (s->strm->avail_out < have) /* need room for header */
+ break;
+ /* maximum stored block length that will fit in avail_out: */
+ have = s->strm->avail_out - have;
+ left = s->strstart - s->block_start; /* bytes left in window */
+ if (len > (ulg)left + s->strm->avail_in)
+ len = left + s->strm->avail_in; /* limit len to the input */
+ if (len > have)
+ len = have; /* limit len to the output */
+
+ /* If the stored block would be less than min_block in length, or if
+ * unable to copy all of the available input when flushing, then try
+ * copying to the window and the pending buffer instead. Also don't
+ * write an empty block when flushing -- deflate() does that.
+ */
+ if (len < min_block && ((len == 0 && flush != Z_FINISH) ||
+ flush == Z_NO_FLUSH ||
+ len != left + s->strm->avail_in))
+ break;
- fill_window(s);
- if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
+ /* Make a dummy stored block in pending to get the header bytes,
+ * including any pending bits. This also updates the debugging counts.
+ */
+ last = flush == Z_FINISH && len == left + s->strm->avail_in ? 1 : 0;
+ _tr_stored_block(s, (char *)0, 0L, last);
+
+ /* Replace the lengths in the dummy stored block with len. */
+ s->pending_buf[s->pending - 4] = len;
+ s->pending_buf[s->pending - 3] = len >> 8;
+ s->pending_buf[s->pending - 2] = ~len;
+ s->pending_buf[s->pending - 1] = ~len >> 8;
+
+ /* Write the stored block header bytes. */
+ flush_pending(s->strm);
+
+#ifdef ZLIB_DEBUG
+ /* Update debugging counts for the data about to be copied. */
+ s->compressed_len += len << 3;
+ s->bits_sent += len << 3;
+#endif
- if (s->lookahead == 0) break; /* flush the current block */
+ /* Copy uncompressed bytes from the window to next_out. */
+ if (left) {
+ if (left > len)
+ left = len;
+ zmemcpy(s->strm->next_out, s->window + s->block_start, left);
+ s->strm->next_out += left;
+ s->strm->avail_out -= left;
+ s->strm->total_out += left;
+ s->block_start += left;
+ len -= left;
}
- Assert(s->block_start >= 0L, "block gone");
-
- s->strstart += s->lookahead;
- s->lookahead = 0;
-
- /* Emit a stored block if pending_buf will be full: */
- max_start = s->block_start + max_block_size;
- if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
- /* strstart == 0 is possible when wraparound on 16-bit machine */
- s->lookahead = (uInt)(s->strstart - max_start);
- s->strstart = (uInt)max_start;
- FLUSH_BLOCK(s, 0);
+
+ /* Copy uncompressed bytes directly from next_in to next_out, updating
+ * the check value.
+ */
+ if (len) {
+ read_buf(s->strm, s->strm->next_out, len);
+ s->strm->next_out += len;
+ s->strm->avail_out -= len;
+ s->strm->total_out += len;
}
- /* Flush if we may have to slide, otherwise block_start may become
- * negative and the data will be gone:
+ } while (last == 0);
+
+ /* Update the sliding window with the last s->w_size bytes of the copied
+ * data, or append all of the copied data to the existing window if less
+ * than s->w_size bytes were copied. Also update the number of bytes to
+ * insert in the hash tables, in the event that deflateParams() switches to
+ * a non-zero compression level.
+ */
+ used -= s->strm->avail_in; /* number of input bytes directly copied */
+ if (used) {
+ /* If any input was used, then no unused input remains in the window,
+ * therefore s->block_start == s->strstart.
*/
- if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
- FLUSH_BLOCK(s, 0);
+ if (used >= s->w_size) { /* supplant the previous history */
+ s->matches = 2; /* clear hash */
+ zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);
+ s->strstart = s->w_size;
}
+ else {
+ if (s->window_size - s->strstart <= used) {
+ /* Slide the window down. */
+ s->strstart -= s->w_size;
+ zmemcpy(s->window, s->window + s->w_size, s->strstart);
+ if (s->matches < 2)
+ s->matches++; /* add a pending slide_hash() */
+ }
+ zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
+ s->strstart += used;
+ }
+ s->block_start = s->strstart;
+ s->insert += MIN(used, s->w_size - s->insert);
}
- s->insert = 0;
- if (flush == Z_FINISH) {
- FLUSH_BLOCK(s, 1);
+ if (s->high_water < s->strstart)
+ s->high_water = s->strstart;
+
+ /* If the last block was written to next_out, then done. */
+ if (last)
return finish_done;
+
+ /* If flushing and all input has been consumed, then done. */
+ if (flush != Z_NO_FLUSH && flush != Z_FINISH &&
+ s->strm->avail_in == 0 && (long)s->strstart == s->block_start)
+ return block_done;
+
+ /* Fill the window with any remaining input. */
+ have = s->window_size - s->strstart - 1;
+ if (s->strm->avail_in > have && s->block_start >= (long)s->w_size) {
+ /* Slide the window down. */
+ s->block_start -= s->w_size;
+ s->strstart -= s->w_size;
+ zmemcpy(s->window, s->window + s->w_size, s->strstart);
+ if (s->matches < 2)
+ s->matches++; /* add a pending slide_hash() */
+ have += s->w_size; /* more space now */
}
- if ((long)s->strstart > s->block_start)
- FLUSH_BLOCK(s, 0);
- return block_done;
+ if (have > s->strm->avail_in)
+ have = s->strm->avail_in;
+ if (have) {
+ read_buf(s->strm, s->window + s->strstart, have);
+ s->strstart += have;
+ }
+ if (s->high_water < s->strstart)
+ s->high_water = s->strstart;
+
+ /* There was not enough avail_out to write a complete worthy or flushed
+ * stored block to next_out. Write a stored block to pending instead, if we
+ * have enough input for a worthy block, or if flushing and there is enough
+ * room for the remaining input as a stored block in the pending buffer.
+ */
+ have = (s->bi_valid + 42) >> 3; /* number of header bytes */
+ /* maximum stored block length that will fit in pending: */
+ have = MIN(s->pending_buf_size - have, MAX_STORED);
+ min_block = MIN(have, s->w_size);
+ left = s->strstart - s->block_start;
+ if (left >= min_block ||
+ ((left || flush == Z_FINISH) && flush != Z_NO_FLUSH &&
+ s->strm->avail_in == 0 && left <= have)) {
+ len = MIN(left, have);
+ last = flush == Z_FINISH && s->strm->avail_in == 0 &&
+ len == left ? 1 : 0;
+ _tr_stored_block(s, (charf *)s->window + s->block_start, len, last);
+ s->block_start += len;
+ flush_pending(s->strm);
+ }
+
+ /* We've done all we can with the available input and output. */
+ return last ? finish_started : need_more;
}
/* ===========================================================================
@@ -1892,7 +2088,7 @@ local block_state deflate_rle(s, flush)
prev == *++scan && prev == *++scan &&
prev == *++scan && prev == *++scan &&
scan < strend);
- s->match_length = MAX_MATCH - (int)(strend - scan);
+ s->match_length = MAX_MATCH - (uInt)(strend - scan);
if (s->match_length > s->lookahead)
s->match_length = s->lookahead;
}
diff --git a/src/thirdparty/zlib/deflate.h b/src/thirdparty/zlib/deflate.h
index ce0299edd..23ecdd312 100644
--- a/src/thirdparty/zlib/deflate.h
+++ b/src/thirdparty/zlib/deflate.h
@@ -1,5 +1,5 @@
/* deflate.h -- internal compression state
- * Copyright (C) 1995-2012 Jean-loup Gailly
+ * Copyright (C) 1995-2016 Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -51,13 +51,16 @@
#define Buf_size 16
/* size of bit buffer in bi_buf */
-#define INIT_STATE 42
-#define EXTRA_STATE 69
-#define NAME_STATE 73
-#define COMMENT_STATE 91
-#define HCRC_STATE 103
-#define BUSY_STATE 113
-#define FINISH_STATE 666
+#define INIT_STATE 42 /* zlib header -> BUSY_STATE */
+#ifdef GZIP
+# define GZIP_STATE 57 /* gzip header -> BUSY_STATE | EXTRA_STATE */
+#endif
+#define EXTRA_STATE 69 /* gzip extra block -> NAME_STATE */
+#define NAME_STATE 73 /* gzip file name -> COMMENT_STATE */
+#define COMMENT_STATE 91 /* gzip comment -> HCRC_STATE */
+#define HCRC_STATE 103 /* gzip header CRC -> BUSY_STATE */
+#define BUSY_STATE 113 /* deflate -> FINISH_STATE */
+#define FINISH_STATE 666 /* stream complete */
/* Stream status */
@@ -83,7 +86,7 @@ typedef struct static_tree_desc_s static_tree_desc;
typedef struct tree_desc_s {
ct_data *dyn_tree; /* the dynamic tree */
int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
+ const static_tree_desc *stat_desc; /* the corresponding static tree */
} FAR tree_desc;
typedef ush Pos;
@@ -100,10 +103,10 @@ typedef struct internal_state {
Bytef *pending_buf; /* output still pending */
ulg pending_buf_size; /* size of pending_buf */
Bytef *pending_out; /* next pending byte to output to the stream */
- uInt pending; /* nb of bytes in the pending buffer */
+ ulg pending; /* nb of bytes in the pending buffer */
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
gz_headerp gzhead; /* gzip header information to write */
- uInt gzindex; /* where in extra, name, or comment */
+ ulg gzindex; /* where in extra, name, or comment */
Byte method; /* can only be DEFLATED */
int last_flush; /* value of flush param for previous deflate call */
@@ -249,7 +252,7 @@ typedef struct internal_state {
uInt matches; /* number of string matches in current block */
uInt insert; /* bytes at end of window left to insert */
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
ulg compressed_len; /* total bit length of compressed file mod 2^32 */
ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
#endif
@@ -275,7 +278,7 @@ typedef struct internal_state {
/* Output a byte on the stream.
* IN assertion: there is enough room in pending_buf.
*/
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
+#define put_byte(s, c) {s->pending_buf[s->pending++] = (Bytef)(c);}
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
@@ -309,7 +312,7 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
* used.
*/
-#ifndef DEBUG
+#ifndef ZLIB_DEBUG
/* Inline versions of _tr_tally for speed: */
#if defined(GEN_TREES_H) || !defined(STDC)
@@ -328,8 +331,8 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
flush = (s->last_lit == s->lit_bufsize-1); \
}
# define _tr_tally_dist(s, distance, length, flush) \
- { uch len = (length); \
- ush dist = (distance); \
+ { uch len = (uch)(length); \
+ ush dist = (ush)(distance); \
s->d_buf[s->last_lit] = dist; \
s->l_buf[s->last_lit++] = len; \
dist--; \
diff --git a/src/thirdparty/zlib/gzguts.h b/src/thirdparty/zlib/gzguts.h
index d87659d03..990a4d251 100644
--- a/src/thirdparty/zlib/gzguts.h
+++ b/src/thirdparty/zlib/gzguts.h
@@ -1,5 +1,5 @@
/* gzguts.h -- zlib internal header definitions for gz* operations
- * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -25,6 +25,10 @@
# include <stdlib.h>
# include <limits.h>
#endif
+
+#ifndef _POSIX_SOURCE
+# define _POSIX_SOURCE
+#endif
#include <fcntl.h>
#ifdef _WIN32
@@ -35,6 +39,10 @@
# include <io.h>
#endif
+#if defined(_WIN32) || defined(__CYGWIN__)
+# define WIDECHAR
+#endif
+
#ifdef WINAPI_FAMILY
# define open _open
# define read _read
@@ -95,18 +103,19 @@
# endif
#endif
-/* unlike snprintf (which is required in C99, yet still not supported by
- Microsoft more than a decade later!), _snprintf does not guarantee null
- termination of the result -- however this is only used in gzlib.c where
+/* unlike snprintf (which is required in C99), _snprintf does not guarantee
+ null termination of the result -- however this is only used in gzlib.c where
the result is assured to fit in the space provided */
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && _MSC_VER < 1900
# define snprintf _snprintf
#endif
#ifndef local
# define local static
#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
+/* since "static" is used to mean two completely different things in C, we
+ define "local" for the non-static meaning of "static", for readability
+ (compile with -Dlocal if your debugger can't find static symbols) */
/* gz* functions always use library allocation functions */
#ifndef STDC
@@ -170,7 +179,7 @@ typedef struct {
char *path; /* path or fd for error messages */
unsigned size; /* buffer size, zero if not allocated yet */
unsigned want; /* requested buffer size, default is GZBUFSIZE */
- unsigned char *in; /* input buffer */
+ unsigned char *in; /* input buffer (double-sized when writing) */
unsigned char *out; /* output buffer (double-sized when reading) */
int direct; /* 0 if processing gzip, 1 if transparent */
/* just for reading */
diff --git a/src/thirdparty/zlib/gzlib.c b/src/thirdparty/zlib/gzlib.c
index fae202ef8..4105e6aff 100644
--- a/src/thirdparty/zlib/gzlib.c
+++ b/src/thirdparty/zlib/gzlib.c
@@ -1,11 +1,11 @@
/* gzlib.c -- zlib functions common to reading and writing gzip files
- * Copyright (C) 2004, 2010, 2011, 2012, 2013 Mark Adler
+ * Copyright (C) 2004-2017 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
#include "gzguts.h"
-#if defined(_WIN32) && !defined(__BORLANDC__)
+#if defined(_WIN32) && !defined(__BORLANDC__) && !defined(__MINGW32__)
# define LSEEK _lseeki64
#else
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
@@ -94,7 +94,7 @@ local gzFile gz_open(path, fd, mode)
const char *mode;
{
gz_statep state;
- size_t len;
+ z_size_t len;
int oflag;
#ifdef O_CLOEXEC
int cloexec = 0;
@@ -188,10 +188,10 @@ local gzFile gz_open(path, fd, mode)
}
/* save the path name for error messages */
-#ifdef _WIN32
+#ifdef WIDECHAR
if (fd == -2) {
len = wcstombs(NULL, path, 0);
- if (len == (size_t)-1)
+ if (len == (z_size_t)-1)
len = 0;
}
else
@@ -202,7 +202,7 @@ local gzFile gz_open(path, fd, mode)
free(state);
return NULL;
}
-#ifdef _WIN32
+#ifdef WIDECHAR
if (fd == -2)
if (len)
wcstombs(state->path, path, len + 1);
@@ -211,7 +211,7 @@ local gzFile gz_open(path, fd, mode)
else
#endif
#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
- snprintf(state->path, len + 1, "%s", (const char *)path);
+ (void)snprintf(state->path, len + 1, "%s", (const char *)path);
#else
strcpy(state->path, path);
#endif
@@ -239,7 +239,7 @@ local gzFile gz_open(path, fd, mode)
/* open the file with the appropriate flags (or just use fd) */
state->fd = fd > -1 ? fd : (
-#ifdef _WIN32
+#ifdef WIDECHAR
fd == -2 ? _wopen(path, oflag, 0666) :
#endif
open((const char *)path, oflag, 0666));
@@ -248,8 +248,10 @@ local gzFile gz_open(path, fd, mode)
free(state);
return NULL;
}
- if (state->mode == GZ_APPEND)
+ if (state->mode == GZ_APPEND) {
+ LSEEK(state->fd, 0, SEEK_END); /* so gzoffset() is correct */
state->mode = GZ_WRITE; /* simplify later checks */
+ }
/* save the current position for rewinding (only if reading) */
if (state->mode == GZ_READ) {
@@ -291,7 +293,7 @@ gzFile ZEXPORT gzdopen(fd, mode)
if (fd == -1 || (path = (char *)malloc(7 + 3 * sizeof(int))) == NULL)
return NULL;
#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
- snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd); /* for debugging */
+ (void)snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd);
#else
sprintf(path, "<fd:%d>", fd); /* for debugging */
#endif
@@ -301,7 +303,7 @@ gzFile ZEXPORT gzdopen(fd, mode)
}
/* -- see zlib.h -- */
-#ifdef _WIN32
+#ifdef WIDECHAR
gzFile ZEXPORT gzopen_w(path, mode)
const wchar_t *path;
const char *mode;
@@ -329,6 +331,8 @@ int ZEXPORT gzbuffer(file, size)
return -1;
/* check and set requested size */
+ if ((size << 1) < size)
+ return -1; /* need to be able to double it */
if (size < 2)
size = 2; /* need two bytes to check magic header */
state->want = size;
@@ -604,14 +608,13 @@ void ZLIB_INTERNAL gz_error(state, err, msg)
return;
}
#if !defined(NO_snprintf) && !defined(NO_vsnprintf)
- snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
- "%s%s%s", state->path, ": ", msg);
+ (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
+ "%s%s%s", state->path, ": ", msg);
#else
strcpy(state->msg, state->path);
strcat(state->msg, ": ");
strcat(state->msg, msg);
#endif
- return;
}
#ifndef INT_MAX
diff --git a/src/thirdparty/zlib/gzread.c b/src/thirdparty/zlib/gzread.c
index bf4538eb2..956b91ea7 100644
--- a/src/thirdparty/zlib/gzread.c
+++ b/src/thirdparty/zlib/gzread.c
@@ -1,5 +1,5 @@
/* gzread.c -- zlib functions for reading gzip files
- * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -12,6 +12,7 @@ local int gz_look OF((gz_statep));
local int gz_decomp OF((gz_statep));
local int gz_fetch OF((gz_statep));
local int gz_skip OF((gz_statep, z_off64_t));
+local z_size_t gz_read OF((gz_statep, voidp, z_size_t));
/* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
state->fd, and update state->eof, state->err, and state->msg as appropriate.
@@ -24,13 +25,17 @@ local int gz_load(state, buf, len, have)
unsigned *have;
{
int ret;
+ unsigned get, max = ((unsigned)-1 >> 2) + 1;
*have = 0;
do {
- ret = read(state->fd, buf + *have, len - *have);
+ get = len - *have;
+ if (get > max)
+ get = max;
+ ret = read(state->fd, buf + *have, get);
if (ret <= 0)
break;
- *have += ret;
+ *have += (unsigned)ret;
} while (*have < len);
if (ret < 0) {
gz_error(state, Z_ERRNO, zstrerror());
@@ -94,10 +99,8 @@ local int gz_look(state)
state->in = (unsigned char *)malloc(state->want);
state->out = (unsigned char *)malloc(state->want << 1);
if (state->in == NULL || state->out == NULL) {
- if (state->out != NULL)
- free(state->out);
- if (state->in != NULL)
- free(state->in);
+ free(state->out);
+ free(state->in);
gz_error(state, Z_MEM_ERROR, "out of memory");
return -1;
}
@@ -284,33 +287,17 @@ local int gz_skip(state, len)
return 0;
}
-/* -- see zlib.h -- */
-int ZEXPORT gzread(file, buf, len)
- gzFile file;
+/* Read len bytes into buf from file, or less than len up to the end of the
+ input. Return the number of bytes read. If zero is returned, either the
+ end of file was reached, or there was an error. state->err must be
+ consulted in that case to determine which. */
+local z_size_t gz_read(state, buf, len)
+ gz_statep state;
voidp buf;
- unsigned len;
+ z_size_t len;
{
- unsigned got, n;
- gz_statep state;
- z_streamp strm;
-
- /* get internal structure */
- if (file == NULL)
- return -1;
- state = (gz_statep)file;
- strm = &(state->strm);
-
- /* check that we're reading and that there's no (serious) error */
- if (state->mode != GZ_READ ||
- (state->err != Z_OK && state->err != Z_BUF_ERROR))
- return -1;
-
- /* since an int is returned, make sure len fits in one, otherwise return
- with an error (this avoids the flaw in the interface) */
- if ((int)len < 0) {
- gz_error(state, Z_DATA_ERROR, "requested length does not fit in int");
- return -1;
- }
+ z_size_t got;
+ unsigned n;
/* if len is zero, avoid unnecessary operations */
if (len == 0)
@@ -320,32 +307,38 @@ int ZEXPORT gzread(file, buf, len)
if (state->seek) {
state->seek = 0;
if (gz_skip(state, state->skip) == -1)
- return -1;
+ return 0;
}
/* get len bytes to buf, or less than len if at the end */
got = 0;
do {
+ /* set n to the maximum amount of len that fits in an unsigned int */
+ n = -1;
+ if (n > len)
+ n = len;
+
/* first just try copying data from the output buffer */
if (state->x.have) {
- n = state->x.have > len ? len : state->x.have;
+ if (state->x.have < n)
+ n = state->x.have;
memcpy(buf, state->x.next, n);
state->x.next += n;
state->x.have -= n;
}
/* output buffer empty -- return if we're at the end of the input */
- else if (state->eof && strm->avail_in == 0) {
+ else if (state->eof && state->strm.avail_in == 0) {
state->past = 1; /* tried to read past end */
break;
}
/* need output data -- for small len or new stream load up our output
buffer */
- else if (state->how == LOOK || len < (state->size << 1)) {
+ else if (state->how == LOOK || n < (state->size << 1)) {
/* get more output, looking for header if required */
if (gz_fetch(state) == -1)
- return -1;
+ return 0;
continue; /* no progress yet -- go back to copy above */
/* the copy above assures that we will leave with space in the
output buffer, allowing at least one gzungetc() to succeed */
@@ -353,16 +346,16 @@ int ZEXPORT gzread(file, buf, len)
/* large len -- read directly into user buffer */
else if (state->how == COPY) { /* read directly */
- if (gz_load(state, (unsigned char *)buf, len, &n) == -1)
- return -1;
+ if (gz_load(state, (unsigned char *)buf, n, &n) == -1)
+ return 0;
}
/* large len -- decompress directly into user buffer */
else { /* state->how == GZIP */
- strm->avail_out = len;
- strm->next_out = (unsigned char *)buf;
+ state->strm.avail_out = n;
+ state->strm.next_out = (unsigned char *)buf;
if (gz_decomp(state) == -1)
- return -1;
+ return 0;
n = state->x.have;
state->x.have = 0;
}
@@ -374,8 +367,75 @@ int ZEXPORT gzread(file, buf, len)
state->x.pos += n;
} while (len);
- /* return number of bytes read into user buffer (will fit in int) */
- return (int)got;
+ /* return number of bytes read into user buffer */
+ return got;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzread(file, buf, len)
+ gzFile file;
+ voidp buf;
+ unsigned len;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no (serious) error */
+ if (state->mode != GZ_READ ||
+ (state->err != Z_OK && state->err != Z_BUF_ERROR))
+ return -1;
+
+ /* since an int is returned, make sure len fits in one, otherwise return
+ with an error (this avoids a flaw in the interface) */
+ if ((int)len < 0) {
+ gz_error(state, Z_STREAM_ERROR, "request does not fit in an int");
+ return -1;
+ }
+
+ /* read len or fewer bytes to buf */
+ len = gz_read(state, buf, len);
+
+ /* check for an error */
+ if (len == 0 && state->err != Z_OK && state->err != Z_BUF_ERROR)
+ return -1;
+
+ /* return the number of bytes read (this is assured to fit in an int) */
+ return (int)len;
+}
+
+/* -- see zlib.h -- */
+z_size_t ZEXPORT gzfread(buf, size, nitems, file)
+ voidp buf;
+ z_size_t size;
+ z_size_t nitems;
+ gzFile file;
+{
+ z_size_t len;
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no (serious) error */
+ if (state->mode != GZ_READ ||
+ (state->err != Z_OK && state->err != Z_BUF_ERROR))
+ return 0;
+
+ /* compute bytes to read -- error on overflow */
+ len = nitems * size;
+ if (size && len / size != nitems) {
+ gz_error(state, Z_STREAM_ERROR, "request does not fit in a size_t");
+ return 0;
+ }
+
+ /* read len or fewer bytes to buf, return the number of full items read */
+ return len ? gz_read(state, buf, len) / size : 0;
}
/* -- see zlib.h -- */
@@ -408,8 +468,8 @@ int ZEXPORT gzgetc(file)
return *(state->x.next)++;
}
- /* nothing there -- try gzread() */
- ret = gzread(file, buf, 1);
+ /* nothing there -- try gz_read() */
+ ret = gz_read(state, buf, 1);
return ret < 1 ? -1 : buf[0];
}
@@ -451,7 +511,7 @@ int ZEXPORT gzungetc(c, file)
if (state->x.have == 0) {
state->x.have = 1;
state->x.next = state->out + (state->size << 1) - 1;
- state->x.next[0] = c;
+ state->x.next[0] = (unsigned char)c;
state->x.pos--;
state->past = 0;
return c;
@@ -473,7 +533,7 @@ int ZEXPORT gzungetc(c, file)
}
state->x.have++;
state->x.next--;
- state->x.next[0] = c;
+ state->x.next[0] = (unsigned char)c;
state->x.pos--;
state->past = 0;
return c;
diff --git a/src/thirdparty/zlib/gzwrite.c b/src/thirdparty/zlib/gzwrite.c
index aa767fbf6..c7b5651d7 100644
--- a/src/thirdparty/zlib/gzwrite.c
+++ b/src/thirdparty/zlib/gzwrite.c
@@ -1,5 +1,5 @@
/* gzwrite.c -- zlib functions for writing gzip files
- * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler
+ * Copyright (C) 2004-2017 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -9,17 +9,19 @@
local int gz_init OF((gz_statep));
local int gz_comp OF((gz_statep, int));
local int gz_zero OF((gz_statep, z_off64_t));
+local z_size_t gz_write OF((gz_statep, voidpc, z_size_t));
/* Initialize state for writing a gzip file. Mark initialization by setting
- state->size to non-zero. Return -1 on failure or 0 on success. */
+ state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
+ success. */
local int gz_init(state)
gz_statep state;
{
int ret;
z_streamp strm = &(state->strm);
- /* allocate input buffer */
- state->in = (unsigned char *)malloc(state->want);
+ /* allocate input buffer (double size for gzprintf) */
+ state->in = (unsigned char *)malloc(state->want << 1);
if (state->in == NULL) {
gz_error(state, Z_MEM_ERROR, "out of memory");
return -1;
@@ -47,6 +49,7 @@ local int gz_init(state)
gz_error(state, Z_MEM_ERROR, "out of memory");
return -1;
}
+ strm->next_in = NULL;
}
/* mark state as initialized */
@@ -62,17 +65,17 @@ local int gz_init(state)
}
/* Compress whatever is at avail_in and next_in and write to the output file.
- Return -1 if there is an error writing to the output file, otherwise 0.
- flush is assumed to be a valid deflate() flush value. If flush is Z_FINISH,
- then the deflate() state is reset to start a new gzip stream. If gz->direct
- is true, then simply write to the output file without compressing, and
- ignore flush. */
+ Return -1 if there is an error writing to the output file or if gz_init()
+ fails to allocate memory, otherwise 0. flush is assumed to be a valid
+ deflate() flush value. If flush is Z_FINISH, then the deflate() state is
+ reset to start a new gzip stream. If gz->direct is true, then simply write
+ to the output file without compressing, and ignore flush. */
local int gz_comp(state, flush)
gz_statep state;
int flush;
{
- int ret, got;
- unsigned have;
+ int ret, writ;
+ unsigned have, put, max = ((unsigned)-1 >> 2) + 1;
z_streamp strm = &(state->strm);
/* allocate memory if this is the first time through */
@@ -81,12 +84,16 @@ local int gz_comp(state, flush)
/* write directly if requested */
if (state->direct) {
- got = write(state->fd, strm->next_in, strm->avail_in);
- if (got < 0 || (unsigned)got != strm->avail_in) {
- gz_error(state, Z_ERRNO, zstrerror());
- return -1;
+ while (strm->avail_in) {
+ put = strm->avail_in > max ? max : strm->avail_in;
+ writ = write(state->fd, strm->next_in, put);
+ if (writ < 0) {
+ gz_error(state, Z_ERRNO, zstrerror());
+ return -1;
+ }
+ strm->avail_in -= (unsigned)writ;
+ strm->next_in += writ;
}
- strm->avail_in = 0;
return 0;
}
@@ -97,17 +104,21 @@ local int gz_comp(state, flush)
doing Z_FINISH then don't write until we get to Z_STREAM_END */
if (strm->avail_out == 0 || (flush != Z_NO_FLUSH &&
(flush != Z_FINISH || ret == Z_STREAM_END))) {
- have = (unsigned)(strm->next_out - state->x.next);
- if (have && ((got = write(state->fd, state->x.next, have)) < 0 ||
- (unsigned)got != have)) {
- gz_error(state, Z_ERRNO, zstrerror());
- return -1;
+ while (strm->next_out > state->x.next) {
+ put = strm->next_out - state->x.next > (int)max ? max :
+ (unsigned)(strm->next_out - state->x.next);
+ writ = write(state->fd, state->x.next, put);
+ if (writ < 0) {
+ gz_error(state, Z_ERRNO, zstrerror());
+ return -1;
+ }
+ state->x.next += writ;
}
if (strm->avail_out == 0) {
strm->avail_out = state->size;
strm->next_out = state->out;
+ state->x.next = state->out;
}
- state->x.next = strm->next_out;
}
/* compress */
@@ -129,7 +140,8 @@ local int gz_comp(state, flush)
return 0;
}
-/* Compress len zeros to output. Return -1 on error, 0 on success. */
+/* Compress len zeros to output. Return -1 on a write error or memory
+ allocation failure by gz_comp(), or 0 on success. */
local int gz_zero(state, len)
gz_statep state;
z_off64_t len;
@@ -161,32 +173,14 @@ local int gz_zero(state, len)
return 0;
}
-/* -- see zlib.h -- */
-int ZEXPORT gzwrite(file, buf, len)
- gzFile file;
+/* Write len bytes from buf to file. Return the number of bytes written. If
+ the returned value is less than len, then there was an error. */
+local z_size_t gz_write(state, buf, len)
+ gz_statep state;
voidpc buf;
- unsigned len;
+ z_size_t len;
{
- unsigned put = len;
- gz_statep state;
- z_streamp strm;
-
- /* get internal structure */
- if (file == NULL)
- return 0;
- state = (gz_statep)file;
- strm = &(state->strm);
-
- /* check that we're writing and that there's no error */
- if (state->mode != GZ_WRITE || state->err != Z_OK)
- return 0;
-
- /* since an int is returned, make sure len fits in one, otherwise return
- with an error (this avoids the flaw in the interface) */
- if ((int)len < 0) {
- gz_error(state, Z_DATA_ERROR, "requested length does not fit in int");
- return 0;
- }
+ z_size_t put = len;
/* if len is zero, avoid unnecessary operations */
if (len == 0)
@@ -209,14 +203,15 @@ int ZEXPORT gzwrite(file, buf, len)
do {
unsigned have, copy;
- if (strm->avail_in == 0)
- strm->next_in = state->in;
- have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
+ if (state->strm.avail_in == 0)
+ state->strm.next_in = state->in;
+ have = (unsigned)((state->strm.next_in + state->strm.avail_in) -
+ state->in);
copy = state->size - have;
if (copy > len)
copy = len;
memcpy(state->in + have, buf, copy);
- strm->avail_in += copy;
+ state->strm.avail_in += copy;
state->x.pos += copy;
buf = (const char *)buf + copy;
len -= copy;
@@ -226,19 +221,83 @@ int ZEXPORT gzwrite(file, buf, len)
}
else {
/* consume whatever's left in the input buffer */
- if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
+ if (state->strm.avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
return 0;
/* directly compress user buffer to file */
- strm->avail_in = len;
- strm->next_in = (z_const Bytef *)buf;
- state->x.pos += len;
- if (gz_comp(state, Z_NO_FLUSH) == -1)
- return 0;
+ state->strm.next_in = (z_const Bytef *)buf;
+ do {
+ unsigned n = (unsigned)-1;
+ if (n > len)
+ n = len;
+ state->strm.avail_in = n;
+ state->x.pos += n;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+ len -= n;
+ } while (len);
+ }
+
+ /* input was all buffered or compressed */
+ return put;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzwrite(file, buf, len)
+ gzFile file;
+ voidpc buf;
+ unsigned len;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return 0;
+
+ /* since an int is returned, make sure len fits in one, otherwise return
+ with an error (this avoids a flaw in the interface) */
+ if ((int)len < 0) {
+ gz_error(state, Z_DATA_ERROR, "requested length does not fit in int");
+ return 0;
+ }
+
+ /* write len bytes from buf (the return value will fit in an int) */
+ return (int)gz_write(state, buf, len);
+}
+
+/* -- see zlib.h -- */
+z_size_t ZEXPORT gzfwrite(buf, size, nitems, file)
+ voidpc buf;
+ z_size_t size;
+ z_size_t nitems;
+ gzFile file;
+{
+ z_size_t len;
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return 0;
+
+ /* compute bytes to read -- error on overflow */
+ len = nitems * size;
+ if (size && len / size != nitems) {
+ gz_error(state, Z_STREAM_ERROR, "request does not fit in a size_t");
+ return 0;
}
- /* input was all buffered or compressed (put will fit in int) */
- return (int)put;
+ /* write len bytes to buf, return the number of full items written */
+ return len ? gz_write(state, buf, len) / size : 0;
}
/* -- see zlib.h -- */
@@ -275,7 +334,7 @@ int ZEXPORT gzputc(file, c)
strm->next_in = state->in;
have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
if (have < state->size) {
- state->in[have] = c;
+ state->in[have] = (unsigned char)c;
strm->avail_in++;
state->x.pos++;
return c & 0xff;
@@ -283,8 +342,8 @@ int ZEXPORT gzputc(file, c)
}
/* no room in buffer or not initialized, use gz_write() */
- buf[0] = c;
- if (gzwrite(file, buf, 1) != 1)
+ buf[0] = (unsigned char)c;
+ if (gz_write(state, buf, 1) != 1)
return -1;
return c & 0xff;
}
@@ -295,11 +354,21 @@ int ZEXPORT gzputs(file, str)
const char *str;
{
int ret;
- unsigned len;
+ z_size_t len;
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return -1;
/* write string */
- len = (unsigned)strlen(str);
- ret = gzwrite(file, str, len);
+ len = strlen(str);
+ ret = gz_write(state, str, len);
return ret == 0 && len != 0 ? -1 : ret;
}
@@ -309,63 +378,73 @@ int ZEXPORT gzputs(file, str)
/* -- see zlib.h -- */
int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va)
{
- int size, len;
+ int len;
+ unsigned left;
+ char *next;
gz_statep state;
z_streamp strm;
/* get internal structure */
if (file == NULL)
- return -1;
+ return Z_STREAM_ERROR;
state = (gz_statep)file;
strm = &(state->strm);
/* check that we're writing and that there's no error */
if (state->mode != GZ_WRITE || state->err != Z_OK)
- return 0;
+ return Z_STREAM_ERROR;
/* make sure we have some buffer space */
if (state->size == 0 && gz_init(state) == -1)
- return 0;
+ return state->err;
/* check for seek request */
if (state->seek) {
state->seek = 0;
if (gz_zero(state, state->skip) == -1)
- return 0;
+ return state->err;
}
- /* consume whatever's left in the input buffer */
- if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
- return 0;
-
- /* do the printf() into the input buffer, put length in len */
- size = (int)(state->size);
- state->in[size - 1] = 0;
+ /* do the printf() into the input buffer, put length in len -- the input
+ buffer is double-sized just for this function, so there is guaranteed to
+ be state->size bytes available after the current contents */
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+ next = (char *)(state->in + (strm->next_in - state->in) + strm->avail_in);
+ next[state->size - 1] = 0;
#ifdef NO_vsnprintf
# ifdef HAS_vsprintf_void
- (void)vsprintf((char *)(state->in), format, va);
- for (len = 0; len < size; len++)
- if (state->in[len] == 0) break;
+ (void)vsprintf(next, format, va);
+ for (len = 0; len < state->size; len++)
+ if (next[len] == 0) break;
# else
- len = vsprintf((char *)(state->in), format, va);
+ len = vsprintf(next, format, va);
# endif
#else
# ifdef HAS_vsnprintf_void
- (void)vsnprintf((char *)(state->in), size, format, va);
- len = strlen((char *)(state->in));
+ (void)vsnprintf(next, state->size, format, va);
+ len = strlen(next);
# else
- len = vsnprintf((char *)(state->in), size, format, va);
+ len = vsnprintf(next, state->size, format, va);
# endif
#endif
/* check that printf() results fit in buffer */
- if (len <= 0 || len >= (int)size || state->in[size - 1] != 0)
+ if (len == 0 || (unsigned)len >= state->size || next[state->size - 1] != 0)
return 0;
- /* update buffer and position, defer compression until needed */
- strm->avail_in = (unsigned)len;
- strm->next_in = state->in;
+ /* update buffer and position, compress first half if past that */
+ strm->avail_in += (unsigned)len;
state->x.pos += len;
+ if (strm->avail_in >= state->size) {
+ left = strm->avail_in - state->size;
+ strm->avail_in = state->size;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return state->err;
+ memcpy(state->in, state->in + state->size, left);
+ strm->next_in = state->in;
+ strm->avail_in = left;
+ }
return len;
}
@@ -390,73 +469,82 @@ int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
{
- int size, len;
+ unsigned len, left;
+ char *next;
gz_statep state;
z_streamp strm;
/* get internal structure */
if (file == NULL)
- return -1;
+ return Z_STREAM_ERROR;
state = (gz_statep)file;
strm = &(state->strm);
/* check that can really pass pointer in ints */
if (sizeof(int) != sizeof(void *))
- return 0;
+ return Z_STREAM_ERROR;
/* check that we're writing and that there's no error */
if (state->mode != GZ_WRITE || state->err != Z_OK)
- return 0;
+ return Z_STREAM_ERROR;
/* make sure we have some buffer space */
if (state->size == 0 && gz_init(state) == -1)
- return 0;
+ return state->error;
/* check for seek request */
if (state->seek) {
state->seek = 0;
if (gz_zero(state, state->skip) == -1)
- return 0;
+ return state->error;
}
- /* consume whatever's left in the input buffer */
- if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
- return 0;
-
- /* do the printf() into the input buffer, put length in len */
- size = (int)(state->size);
- state->in[size - 1] = 0;
+ /* do the printf() into the input buffer, put length in len -- the input
+ buffer is double-sized just for this function, so there is guaranteed to
+ be state->size bytes available after the current contents */
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+ next = (char *)(strm->next_in + strm->avail_in);
+ next[state->size - 1] = 0;
#ifdef NO_snprintf
# ifdef HAS_sprintf_void
- sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+ sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
+ a13, a14, a15, a16, a17, a18, a19, a20);
for (len = 0; len < size; len++)
- if (state->in[len] == 0) break;
+ if (next[len] == 0)
+ break;
# else
- len = sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+ len = sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
+ a12, a13, a14, a15, a16, a17, a18, a19, a20);
# endif
#else
# ifdef HAS_snprintf_void
- snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
- len = strlen((char *)(state->in));
+ snprintf(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8, a9,
+ a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+ len = strlen(next);
# else
- len = snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6,
- a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18,
- a19, a20);
+ len = snprintf(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8,
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
# endif
#endif
/* check that printf() results fit in buffer */
- if (len <= 0 || len >= (int)size || state->in[size - 1] != 0)
+ if (len == 0 || len >= state->size || next[state->size - 1] != 0)
return 0;
- /* update buffer and position, defer compression until needed */
- strm->avail_in = (unsigned)len;
- strm->next_in = state->in;
+ /* update buffer and position, compress first half if past that */
+ strm->avail_in += len;
state->x.pos += len;
- return len;
+ if (strm->avail_in >= state->size) {
+ left = strm->avail_in - state->size;
+ strm->avail_in = state->size;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return state->err;
+ memcpy(state->in, state->in + state->size, left);
+ strm->next_in = state->in;
+ strm->avail_in = left;
+ }
+ return (int)len;
}
#endif
@@ -470,7 +558,7 @@ int ZEXPORT gzflush(file, flush)
/* get internal structure */
if (file == NULL)
- return -1;
+ return Z_STREAM_ERROR;
state = (gz_statep)file;
/* check that we're writing and that there's no error */
@@ -485,11 +573,11 @@ int ZEXPORT gzflush(file, flush)
if (state->seek) {
state->seek = 0;
if (gz_zero(state, state->skip) == -1)
- return -1;
+ return state->err;
}
/* compress remaining data with requested flush */
- gz_comp(state, flush);
+ (void)gz_comp(state, flush);
return state->err;
}
@@ -520,13 +608,13 @@ int ZEXPORT gzsetparams(file, level, strategy)
if (state->seek) {
state->seek = 0;
if (gz_zero(state, state->skip) == -1)
- return -1;
+ return state->err;
}
/* change compression parameters for subsequent input */
if (state->size) {
/* flush previous input with previous parameters before changing */
- if (strm->avail_in && gz_comp(state, Z_PARTIAL_FLUSH) == -1)
+ if (strm->avail_in && gz_comp(state, Z_BLOCK) == -1)
return state->err;
deflateParams(strm, level, strategy);
}
diff --git a/src/thirdparty/zlib/infback.c b/src/thirdparty/zlib/infback.c
index f3833c2e4..59679ecbf 100644
--- a/src/thirdparty/zlib/infback.c
+++ b/src/thirdparty/zlib/infback.c
@@ -1,5 +1,5 @@
/* infback.c -- inflate using a call-back interface
- * Copyright (C) 1995-2011 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -61,7 +61,7 @@ int stream_size;
Tracev((stderr, "inflate: allocated\n"));
strm->state = (struct internal_state FAR *)state;
state->dmax = 32768U;
- state->wbits = windowBits;
+ state->wbits = (uInt)windowBits;
state->wsize = 1U << windowBits;
state->window = window;
state->wnext = 0;
diff --git a/src/thirdparty/zlib/inffast.c b/src/thirdparty/zlib/inffast.c
index bda59ceb6..0dbd1dbc0 100644
--- a/src/thirdparty/zlib/inffast.c
+++ b/src/thirdparty/zlib/inffast.c
@@ -1,5 +1,5 @@
/* inffast.c -- fast decoding
- * Copyright (C) 1995-2008, 2010, 2013 Mark Adler
+ * Copyright (C) 1995-2017 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -8,26 +8,9 @@
#include "inflate.h"
#include "inffast.h"
-#ifndef ASMINF
-
-/* Allow machine dependent optimization for post-increment or pre-increment.
- Based on testing to date,
- Pre-increment preferred for:
- - PowerPC G3 (Adler)
- - MIPS R5000 (Randers-Pehrson)
- Post-increment preferred for:
- - none
- No measurable difference:
- - Pentium III (Anderson)
- - M68060 (Nikl)
- */
-#ifdef POSTINC
-# define OFF 0
-# define PUP(a) *(a)++
+#ifdef ASMINF
+# pragma message("Assembler code may have bugs -- use at your own risk")
#else
-# define OFF 1
-# define PUP(a) *++(a)
-#endif
/*
Decode literal, length, and distance codes and write out the resulting
@@ -96,9 +79,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
/* copy state to local variables */
state = (struct inflate_state FAR *)strm->state;
- in = strm->next_in - OFF;
+ in = strm->next_in;
last = in + (strm->avail_in - 5);
- out = strm->next_out - OFF;
+ out = strm->next_out;
beg = out - (start - strm->avail_out);
end = out + (strm->avail_out - 257);
#ifdef INFLATE_STRICT
@@ -119,9 +102,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
input data or output space */
do {
if (bits < 15) {
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
}
here = lcode[hold & lmask];
@@ -134,14 +117,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
"inflate: literal '%c'\n" :
"inflate: literal 0x%02x\n", here.val));
- PUP(out) = (unsigned char)(here.val);
+ *out++ = (unsigned char)(here.val);
}
else if (op & 16) { /* length base */
len = (unsigned)(here.val);
op &= 15; /* number of extra bits */
if (op) {
if (bits < op) {
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
}
len += (unsigned)hold & ((1U << op) - 1);
@@ -150,9 +133,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
}
Tracevv((stderr, "inflate: length %u\n", len));
if (bits < 15) {
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
}
here = dcode[hold & dmask];
@@ -165,10 +148,10 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
dist = (unsigned)(here.val);
op &= 15; /* number of extra bits */
if (bits < op) {
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
if (bits < op) {
- hold += (unsigned long)(PUP(in)) << bits;
+ hold += (unsigned long)(*in++) << bits;
bits += 8;
}
}
@@ -196,30 +179,30 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
if (len <= op - whave) {
do {
- PUP(out) = 0;
+ *out++ = 0;
} while (--len);
continue;
}
len -= op - whave;
do {
- PUP(out) = 0;
+ *out++ = 0;
} while (--op > whave);
if (op == 0) {
from = out - dist;
do {
- PUP(out) = PUP(from);
+ *out++ = *from++;
} while (--len);
continue;
}
#endif
}
- from = window - OFF;
+ from = window;
if (wnext == 0) { /* very common case */
from += wsize - op;
if (op < len) { /* some from window */
len -= op;
do {
- PUP(out) = PUP(from);
+ *out++ = *from++;
} while (--op);
from = out - dist; /* rest from output */
}
@@ -230,14 +213,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
if (op < len) { /* some from end of window */
len -= op;
do {
- PUP(out) = PUP(from);
+ *out++ = *from++;
} while (--op);
- from = window - OFF;
+ from = window;
if (wnext < len) { /* some from start of window */
op = wnext;
len -= op;
do {
- PUP(out) = PUP(from);
+ *out++ = *from++;
} while (--op);
from = out - dist; /* rest from output */
}
@@ -248,35 +231,35 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
if (op < len) { /* some from window */
len -= op;
do {
- PUP(out) = PUP(from);
+ *out++ = *from++;
} while (--op);
from = out - dist; /* rest from output */
}
}
while (len > 2) {
- PUP(out) = PUP(from);
- PUP(out) = PUP(from);
- PUP(out) = PUP(from);
+ *out++ = *from++;
+ *out++ = *from++;
+ *out++ = *from++;
len -= 3;
}
if (len) {
- PUP(out) = PUP(from);
+ *out++ = *from++;
if (len > 1)
- PUP(out) = PUP(from);
+ *out++ = *from++;
}
}
else {
from = out - dist; /* copy direct from output */
do { /* minimum length is three */
- PUP(out) = PUP(from);
- PUP(out) = PUP(from);
- PUP(out) = PUP(from);
+ *out++ = *from++;
+ *out++ = *from++;
+ *out++ = *from++;
len -= 3;
} while (len > 2);
if (len) {
- PUP(out) = PUP(from);
+ *out++ = *from++;
if (len > 1)
- PUP(out) = PUP(from);
+ *out++ = *from++;
}
}
}
@@ -313,8 +296,8 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
hold &= (1U << bits) - 1;
/* update state and return */
- strm->next_in = in + OFF;
- strm->next_out = out + OFF;
+ strm->next_in = in;
+ strm->next_out = out;
strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
strm->avail_out = (unsigned)(out < end ?
257 + (end - out) : 257 - (out - end));
diff --git a/src/thirdparty/zlib/inflate.c b/src/thirdparty/zlib/inflate.c
index 870f89bb4..ac333e8c2 100644
--- a/src/thirdparty/zlib/inflate.c
+++ b/src/thirdparty/zlib/inflate.c
@@ -1,5 +1,5 @@
/* inflate.c -- zlib decompression
- * Copyright (C) 1995-2012 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -92,6 +92,7 @@
#endif
/* function prototypes */
+local int inflateStateCheck OF((z_streamp strm));
local void fixedtables OF((struct inflate_state FAR *state));
local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
unsigned copy));
@@ -101,12 +102,26 @@ local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
unsigned len));
+local int inflateStateCheck(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+ if (strm == Z_NULL ||
+ strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
+ return 1;
+ state = (struct inflate_state FAR *)strm->state;
+ if (state == Z_NULL || state->strm != strm ||
+ state->mode < HEAD || state->mode > SYNC)
+ return 1;
+ return 0;
+}
+
int ZEXPORT inflateResetKeep(strm)
z_streamp strm;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
strm->total_in = strm->total_out = state->total = 0;
strm->msg = Z_NULL;
@@ -131,7 +146,7 @@ z_streamp strm;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
state->wsize = 0;
state->whave = 0;
@@ -147,7 +162,7 @@ int windowBits;
struct inflate_state FAR *state;
/* get the state */
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
/* extract wrap request from windowBits parameter */
@@ -156,7 +171,7 @@ int windowBits;
windowBits = -windowBits;
}
else {
- wrap = (windowBits >> 4) + 1;
+ wrap = (windowBits >> 4) + 5;
#ifdef GUNZIP
if (windowBits < 48)
windowBits &= 15;
@@ -210,7 +225,9 @@ int stream_size;
if (state == Z_NULL) return Z_MEM_ERROR;
Tracev((stderr, "inflate: allocated\n"));
strm->state = (struct internal_state FAR *)state;
+ state->strm = strm;
state->window = Z_NULL;
+ state->mode = HEAD; /* to pass state test in inflateReset2() */
ret = inflateReset2(strm, windowBits);
if (ret != Z_OK) {
ZFREE(strm, state);
@@ -234,17 +251,17 @@ int value;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
if (bits < 0) {
state->hold = 0;
state->bits = 0;
return Z_OK;
}
- if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;
+ if (bits > 16 || state->bits + (uInt)bits > 32) return Z_STREAM_ERROR;
value &= (1L << bits) - 1;
- state->hold += value << state->bits;
- state->bits += bits;
+ state->hold += (unsigned)value << state->bits;
+ state->bits += (uInt)bits;
return Z_OK;
}
@@ -625,7 +642,7 @@ int flush;
static const unsigned short order[19] = /* permutation of code lengths */
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
- if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL ||
+ if (inflateStateCheck(strm) || strm->next_out == Z_NULL ||
(strm->next_in == Z_NULL && strm->avail_in != 0))
return Z_STREAM_ERROR;
@@ -645,6 +662,8 @@ int flush;
NEEDBITS(16);
#ifdef GUNZIP
if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */
+ if (state->wbits == 0)
+ state->wbits = 15;
state->check = crc32(0L, Z_NULL, 0);
CRC2(state->check, hold);
INITBITS();
@@ -672,7 +691,7 @@ int flush;
len = BITS(4) + 8;
if (state->wbits == 0)
state->wbits = len;
- else if (len > state->wbits) {
+ if (len > 15 || len > state->wbits) {
strm->msg = (char *)"invalid window size";
state->mode = BAD;
break;
@@ -699,14 +718,16 @@ int flush;
}
if (state->head != Z_NULL)
state->head->text = (int)((hold >> 8) & 1);
- if (state->flags & 0x0200) CRC2(state->check, hold);
+ if ((state->flags & 0x0200) && (state->wrap & 4))
+ CRC2(state->check, hold);
INITBITS();
state->mode = TIME;
case TIME:
NEEDBITS(32);
if (state->head != Z_NULL)
state->head->time = hold;
- if (state->flags & 0x0200) CRC4(state->check, hold);
+ if ((state->flags & 0x0200) && (state->wrap & 4))
+ CRC4(state->check, hold);
INITBITS();
state->mode = OS;
case OS:
@@ -715,7 +736,8 @@ int flush;
state->head->xflags = (int)(hold & 0xff);
state->head->os = (int)(hold >> 8);
}
- if (state->flags & 0x0200) CRC2(state->check, hold);
+ if ((state->flags & 0x0200) && (state->wrap & 4))
+ CRC2(state->check, hold);
INITBITS();
state->mode = EXLEN;
case EXLEN:
@@ -724,7 +746,8 @@ int flush;
state->length = (unsigned)(hold);
if (state->head != Z_NULL)
state->head->extra_len = (unsigned)hold;
- if (state->flags & 0x0200) CRC2(state->check, hold);
+ if ((state->flags & 0x0200) && (state->wrap & 4))
+ CRC2(state->check, hold);
INITBITS();
}
else if (state->head != Z_NULL)
@@ -742,7 +765,7 @@ int flush;
len + copy > state->head->extra_max ?
state->head->extra_max - len : copy);
}
- if (state->flags & 0x0200)
+ if ((state->flags & 0x0200) && (state->wrap & 4))
state->check = crc32(state->check, next, copy);
have -= copy;
next += copy;
@@ -761,9 +784,9 @@ int flush;
if (state->head != Z_NULL &&
state->head->name != Z_NULL &&
state->length < state->head->name_max)
- state->head->name[state->length++] = len;
+ state->head->name[state->length++] = (Bytef)len;
} while (len && copy < have);
- if (state->flags & 0x0200)
+ if ((state->flags & 0x0200) && (state->wrap & 4))
state->check = crc32(state->check, next, copy);
have -= copy;
next += copy;
@@ -782,9 +805,9 @@ int flush;
if (state->head != Z_NULL &&
state->head->comment != Z_NULL &&
state->length < state->head->comm_max)
- state->head->comment[state->length++] = len;
+ state->head->comment[state->length++] = (Bytef)len;
} while (len && copy < have);
- if (state->flags & 0x0200)
+ if ((state->flags & 0x0200) && (state->wrap & 4))
state->check = crc32(state->check, next, copy);
have -= copy;
next += copy;
@@ -796,7 +819,7 @@ int flush;
case HCRC:
if (state->flags & 0x0200) {
NEEDBITS(16);
- if (hold != (state->check & 0xffff)) {
+ if ((state->wrap & 4) && hold != (state->check & 0xffff)) {
strm->msg = (char *)"header crc mismatch";
state->mode = BAD;
break;
@@ -1177,11 +1200,11 @@ int flush;
out -= left;
strm->total_out += out;
state->total += out;
- if (out)
+ if ((state->wrap & 4) && out)
strm->adler = state->check =
UPDATE(state->check, put - out, out);
out = left;
- if ((
+ if ((state->wrap & 4) && (
#ifdef GUNZIP
state->flags ? hold :
#endif
@@ -1240,10 +1263,10 @@ int flush;
strm->total_in += in;
strm->total_out += out;
state->total += out;
- if (state->wrap && out)
+ if ((state->wrap & 4) && out)
strm->adler = state->check =
UPDATE(state->check, strm->next_out - out, out);
- strm->data_type = state->bits + (state->last ? 64 : 0) +
+ strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
(state->mode == TYPE ? 128 : 0) +
(state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
@@ -1255,7 +1278,7 @@ int ZEXPORT inflateEnd(strm)
z_streamp strm;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+ if (inflateStateCheck(strm))
return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
if (state->window != Z_NULL) ZFREE(strm, state->window);
@@ -1273,7 +1296,7 @@ uInt *dictLength;
struct inflate_state FAR *state;
/* check state */
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
/* copy dictionary */
@@ -1298,7 +1321,7 @@ uInt dictLength;
int ret;
/* check state */
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
if (state->wrap != 0 && state->mode != DICT)
return Z_STREAM_ERROR;
@@ -1330,7 +1353,7 @@ gz_headerp head;
struct inflate_state FAR *state;
/* check state */
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
if ((state->wrap & 2) == 0) return Z_STREAM_ERROR;
@@ -1383,7 +1406,7 @@ z_streamp strm;
struct inflate_state FAR *state;
/* check parameters */
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR;
@@ -1430,7 +1453,7 @@ z_streamp strm;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
return state->mode == STORED && state->bits == 0;
}
@@ -1445,8 +1468,7 @@ z_streamp source;
unsigned wsize;
/* check input */
- if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
- source->zalloc == (alloc_func)0 || source->zfree == (free_func)0)
+ if (inflateStateCheck(source) || dest == Z_NULL)
return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)source->state;
@@ -1467,6 +1489,7 @@ z_streamp source;
/* copy state */
zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream));
zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state));
+ copy->strm = dest;
if (state->lencode >= state->codes &&
state->lencode <= state->codes + ENOUGH - 1) {
copy->lencode = copy->codes + (state->lencode - state->codes);
@@ -1488,25 +1511,51 @@ int subvert;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
- state->sane = !subvert;
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+ state->sane = !subvert;
return Z_OK;
#else
+ (void)subvert;
state->sane = 1;
return Z_DATA_ERROR;
#endif
}
+int ZEXPORT inflateValidate(strm, check)
+z_streamp strm;
+int check;
+{
+ struct inflate_state FAR *state;
+
+ if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if (check)
+ state->wrap |= 4;
+ else
+ state->wrap &= ~4;
+ return Z_OK;
+}
+
long ZEXPORT inflateMark(strm)
z_streamp strm;
{
struct inflate_state FAR *state;
- if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16;
+ if (inflateStateCheck(strm))
+ return -(1L << 16);
state = (struct inflate_state FAR *)strm->state;
- return ((long)(state->back) << 16) +
+ return (long)(((unsigned long)((long)state->back)) << 16) +
(state->mode == COPY ? state->length :
(state->mode == MATCH ? state->was - state->length : 0));
}
+
+unsigned long ZEXPORT inflateCodesUsed(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+ if (inflateStateCheck(strm)) return (unsigned long)-1;
+ state = (struct inflate_state FAR *)strm->state;
+ return (unsigned long)(state->next - state->codes);
+}
diff --git a/src/thirdparty/zlib/inflate.h b/src/thirdparty/zlib/inflate.h
index 95f4986d4..a46cce6b6 100644
--- a/src/thirdparty/zlib/inflate.h
+++ b/src/thirdparty/zlib/inflate.h
@@ -1,5 +1,5 @@
/* inflate.h -- internal inflate state definition
- * Copyright (C) 1995-2009 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -18,7 +18,7 @@
/* Possible inflate modes between inflate() calls */
typedef enum {
- HEAD, /* i: waiting for magic header */
+ HEAD = 16180, /* i: waiting for magic header */
FLAGS, /* i: waiting for method and flags (gzip) */
TIME, /* i: waiting for modification time (gzip) */
OS, /* i: waiting for extra flags and operating system (gzip) */
@@ -77,11 +77,14 @@ typedef enum {
CHECK -> LENGTH -> DONE
*/
-/* state maintained between inflate() calls. Approximately 10K bytes. */
+/* State maintained between inflate() calls -- approximately 7K bytes, not
+ including the allocated sliding window, which is up to 32K bytes. */
struct inflate_state {
+ z_streamp strm; /* pointer back to this zlib stream */
inflate_mode mode; /* current inflate mode */
int last; /* true if processing last block */
- int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
+ int wrap; /* bit 0 true for zlib, bit 1 true for gzip,
+ bit 2 true to validate check value */
int havedict; /* true if dictionary provided */
int flags; /* gzip header method and flags (0 if zlib) */
unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */
diff --git a/src/thirdparty/zlib/inftrees.c b/src/thirdparty/zlib/inftrees.c
index 44d89cf24..2ea08fc13 100644
--- a/src/thirdparty/zlib/inftrees.c
+++ b/src/thirdparty/zlib/inftrees.c
@@ -1,5 +1,5 @@
/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-2013 Mark Adler
+ * Copyright (C) 1995-2017 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -9,7 +9,7 @@
#define MAXBITS 15
const char inflate_copyright[] =
- " inflate 1.2.8 Copyright 1995-2013 Mark Adler ";
+ " inflate 1.2.11 Copyright 1995-2017 Mark Adler ";
/*
If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot
@@ -54,7 +54,7 @@ unsigned short FAR *work;
code FAR *next; /* next available space in table */
const unsigned short FAR *base; /* base value table to use */
const unsigned short FAR *extra; /* extra bits table to use */
- int end; /* use base and extra for symbol > end */
+ unsigned match; /* use base and extra for symbol >= match */
unsigned short count[MAXBITS+1]; /* number of codes of each length */
unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
static const unsigned short lbase[31] = { /* Length codes 257..285 base */
@@ -62,7 +62,7 @@ unsigned short FAR *work;
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
- 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78};
+ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 77, 202};
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
@@ -181,19 +181,17 @@ unsigned short FAR *work;
switch (type) {
case CODES:
base = extra = work; /* dummy value--not used */
- end = 19;
+ match = 20;
break;
case LENS:
base = lbase;
- base -= 257;
extra = lext;
- extra -= 257;
- end = 256;
+ match = 257;
break;
- default: /* DISTS */
+ default: /* DISTS */
base = dbase;
extra = dext;
- end = -1;
+ match = 0;
}
/* initialize state for loop */
@@ -216,13 +214,13 @@ unsigned short FAR *work;
for (;;) {
/* create table entry */
here.bits = (unsigned char)(len - drop);
- if ((int)(work[sym]) < end) {
+ if (work[sym] + 1U < match) {
here.op = (unsigned char)0;
here.val = work[sym];
}
- else if ((int)(work[sym]) > end) {
- here.op = (unsigned char)(extra[work[sym]]);
- here.val = base[work[sym]];
+ else if (work[sym] >= match) {
+ here.op = (unsigned char)(extra[work[sym] - match]);
+ here.val = base[work[sym] - match];
}
else {
here.op = (unsigned char)(32 + 64); /* end of block */
diff --git a/src/thirdparty/zlib/minizip/crypt.h b/src/thirdparty/zlib/minizip/crypt.h
new file mode 100644
index 000000000..1e9e8200b
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/crypt.h
@@ -0,0 +1,131 @@
+/* crypt.h -- base code for crypt/uncrypt ZIPfile
+
+
+ Version 1.01e, February 12th, 2005
+
+ Copyright (C) 1998-2005 Gilles Vollant
+
+ This code is a modified version of crypting code in Infozip distribution
+
+ The encryption/decryption parts of this source code (as opposed to the
+ non-echoing password parts) were originally written in Europe. The
+ whole source package can be freely distributed, including from the USA.
+ (Prior to January 2000, re-export from the US was a violation of US law.)
+
+ This encryption code is a direct transcription of the algorithm from
+ Roger Schlafly, described by Phil Katz in the file appnote.txt. This
+ file (appnote.txt) is distributed with the PKZIP program (even in the
+ version without encryption capabilities).
+
+ If you don't need crypting in your application, just define symbols
+ NOCRYPT and NOUNCRYPT.
+
+ This code support the "Traditional PKWARE Encryption".
+
+ The new AES encryption added on Zip format by Winzip (see the page
+ http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong
+ Encryption is not supported.
+*/
+
+#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8))
+
+/***********************************************************************
+ * Return the next byte in the pseudo-random sequence
+ */
+static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
+{
+ unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
+ * unpredictable manner on 16-bit systems; not a problem
+ * with any known compiler so far, though */
+
+ temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2;
+ return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
+}
+
+/***********************************************************************
+ * Update the encryption keys with the next byte of plain text
+ */
+static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c)
+{
+ (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
+ (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
+ (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1;
+ {
+ register int keyshift = (int)((*(pkeys+1)) >> 24);
+ (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift);
+ }
+ return c;
+}
+
+
+/***********************************************************************
+ * Initialize the encryption keys and the random header according to
+ * the given password.
+ */
+static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab)
+{
+ *(pkeys+0) = 305419896L;
+ *(pkeys+1) = 591751049L;
+ *(pkeys+2) = 878082192L;
+ while (*passwd != '\0') {
+ update_keys(pkeys,pcrc_32_tab,(int)*passwd);
+ passwd++;
+ }
+}
+
+#define zdecode(pkeys,pcrc_32_tab,c) \
+ (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab)))
+
+#define zencode(pkeys,pcrc_32_tab,c,t) \
+ (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c))
+
+#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
+
+#define RAND_HEAD_LEN 12
+ /* "last resort" source for second part of crypt seed pattern */
+# ifndef ZCR_SEED2
+# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
+# endif
+
+static int crypthead(const char* passwd, /* password string */
+ unsigned char* buf, /* where to write header */
+ int bufSize,
+ unsigned long* pkeys,
+ const z_crc_t* pcrc_32_tab,
+ unsigned long crcForCrypting)
+{
+ int n; /* index in random header */
+ int t; /* temporary */
+ int c; /* random byte */
+ unsigned char header[RAND_HEAD_LEN-2]; /* random header */
+ static unsigned calls = 0; /* ensure different random header each time */
+
+ if (bufSize<RAND_HEAD_LEN)
+ return 0;
+
+ /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the
+ * output of rand() to get less predictability, since rand() is
+ * often poorly implemented.
+ */
+ if (++calls == 1)
+ {
+ srand((unsigned)(time(NULL) ^ ZCR_SEED2));
+ }
+ init_keys(passwd, pkeys, pcrc_32_tab);
+ for (n = 0; n < RAND_HEAD_LEN-2; n++)
+ {
+ c = (rand() >> 7) & 0xff;
+ header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t);
+ }
+ /* Encrypt random header (last two bytes is high word of crc) */
+ init_keys(passwd, pkeys, pcrc_32_tab);
+ for (n = 0; n < RAND_HEAD_LEN-2; n++)
+ {
+ buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t);
+ }
+ buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t);
+ buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t);
+ return n;
+}
+
+#endif
diff --git a/src/thirdparty/zlib/minizip/ioapi.c b/src/thirdparty/zlib/minizip/ioapi.c
new file mode 100644
index 000000000..7f5c191b2
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/ioapi.c
@@ -0,0 +1,247 @@
+/* ioapi.h -- IO base function header for compress/uncompress .zip
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+*/
+
+#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS)))
+ #define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#if defined(__APPLE__) || defined(IOAPI_NO_64)
+// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
+#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
+#define FTELLO_FUNC(stream) ftello(stream)
+#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
+#else
+#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
+#define FTELLO_FUNC(stream) ftello64(stream)
+#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
+#endif
+
+
+#include "ioapi.h"
+
+voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
+{
+ if (pfilefunc->zfile_func64.zopen64_file != NULL)
+ return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode);
+ else
+ {
+ return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode);
+ }
+}
+
+long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)
+{
+ if (pfilefunc->zfile_func64.zseek64_file != NULL)
+ return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin);
+ else
+ {
+ uLong offsetTruncated = (uLong)offset;
+ if (offsetTruncated != offset)
+ return -1;
+ else
+ return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin);
+ }
+}
+
+ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)
+{
+ if (pfilefunc->zfile_func64.zseek64_file != NULL)
+ return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream);
+ else
+ {
+ uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
+ if ((tell_uLong) == MAXU32)
+ return (ZPOS64_T)-1;
+ else
+ return tell_uLong;
+ }
+}
+
+void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
+{
+ p_filefunc64_32->zfile_func64.zopen64_file = NULL;
+ p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file;
+ p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
+ p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file;
+ p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file;
+ p_filefunc64_32->zfile_func64.ztell64_file = NULL;
+ p_filefunc64_32->zfile_func64.zseek64_file = NULL;
+ p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file;
+ p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
+ p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque;
+ p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file;
+ p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file;
+}
+
+
+
+static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode));
+static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size));
+static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream));
+static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
+static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
+static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
+
+static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
+{
+ FILE* file = NULL;
+ const char* mode_fopen = NULL;
+ if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
+ mode_fopen = "rb";
+ else
+ if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
+ mode_fopen = "r+b";
+ else
+ if (mode & ZLIB_FILEFUNC_MODE_CREATE)
+ mode_fopen = "wb";
+
+ if ((filename!=NULL) && (mode_fopen != NULL))
+ file = fopen(filename, mode_fopen);
+ return file;
+}
+
+static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
+{
+ FILE* file = NULL;
+ const char* mode_fopen = NULL;
+ if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
+ mode_fopen = "rb";
+ else
+ if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
+ mode_fopen = "r+b";
+ else
+ if (mode & ZLIB_FILEFUNC_MODE_CREATE)
+ mode_fopen = "wb";
+
+ if ((filename!=NULL) && (mode_fopen != NULL))
+ file = FOPEN_FUNC((const char*)filename, mode_fopen);
+ return file;
+}
+
+
+static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
+{
+ uLong ret;
+ ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
+ return ret;
+}
+
+static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
+{
+ uLong ret;
+ ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
+ return ret;
+}
+
+static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
+{
+ long ret;
+ ret = ftell((FILE *)stream);
+ return ret;
+}
+
+
+static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
+{
+ ZPOS64_T ret;
+ ret = FTELLO_FUNC((FILE *)stream);
+ return ret;
+}
+
+static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
+{
+ int fseek_origin=0;
+ long ret;
+ switch (origin)
+ {
+ case ZLIB_FILEFUNC_SEEK_CUR :
+ fseek_origin = SEEK_CUR;
+ break;
+ case ZLIB_FILEFUNC_SEEK_END :
+ fseek_origin = SEEK_END;
+ break;
+ case ZLIB_FILEFUNC_SEEK_SET :
+ fseek_origin = SEEK_SET;
+ break;
+ default: return -1;
+ }
+ ret = 0;
+ if (fseek((FILE *)stream, offset, fseek_origin) != 0)
+ ret = -1;
+ return ret;
+}
+
+static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
+{
+ int fseek_origin=0;
+ long ret;
+ switch (origin)
+ {
+ case ZLIB_FILEFUNC_SEEK_CUR :
+ fseek_origin = SEEK_CUR;
+ break;
+ case ZLIB_FILEFUNC_SEEK_END :
+ fseek_origin = SEEK_END;
+ break;
+ case ZLIB_FILEFUNC_SEEK_SET :
+ fseek_origin = SEEK_SET;
+ break;
+ default: return -1;
+ }
+ ret = 0;
+
+ if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0)
+ ret = -1;
+
+ return ret;
+}
+
+
+static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
+{
+ int ret;
+ ret = fclose((FILE *)stream);
+ return ret;
+}
+
+static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
+{
+ int ret;
+ ret = ferror((FILE *)stream);
+ return ret;
+}
+
+void fill_fopen_filefunc (pzlib_filefunc_def)
+ zlib_filefunc_def* pzlib_filefunc_def;
+{
+ pzlib_filefunc_def->zopen_file = fopen_file_func;
+ pzlib_filefunc_def->zread_file = fread_file_func;
+ pzlib_filefunc_def->zwrite_file = fwrite_file_func;
+ pzlib_filefunc_def->ztell_file = ftell_file_func;
+ pzlib_filefunc_def->zseek_file = fseek_file_func;
+ pzlib_filefunc_def->zclose_file = fclose_file_func;
+ pzlib_filefunc_def->zerror_file = ferror_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
+
+void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ pzlib_filefunc_def->zopen64_file = fopen64_file_func;
+ pzlib_filefunc_def->zread_file = fread_file_func;
+ pzlib_filefunc_def->zwrite_file = fwrite_file_func;
+ pzlib_filefunc_def->ztell64_file = ftell64_file_func;
+ pzlib_filefunc_def->zseek64_file = fseek64_file_func;
+ pzlib_filefunc_def->zclose_file = fclose_file_func;
+ pzlib_filefunc_def->zerror_file = ferror_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
diff --git a/src/thirdparty/zlib/minizip/ioapi.h b/src/thirdparty/zlib/minizip/ioapi.h
new file mode 100644
index 000000000..fc2447d29
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/ioapi.h
@@ -0,0 +1,208 @@
+/* ioapi.h -- IO base function header for compress/uncompress .zip
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+ Changes
+
+ Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this)
+ Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux.
+ More if/def section may be needed to support other platforms
+ Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows.
+ (but you should use iowin32.c for windows instead)
+
+*/
+
+#ifndef _ZLIBIOAPI64_H
+#define _ZLIBIOAPI64_H
+
+#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
+
+ // Linux needs this to support file operation on files larger then 4+GB
+ // But might need better if/def to select just the platforms that needs them.
+
+ #ifndef __USE_FILE_OFFSET64
+ #define __USE_FILE_OFFSET64
+ #endif
+ #ifndef __USE_LARGEFILE64
+ #define __USE_LARGEFILE64
+ #endif
+ #ifndef _LARGEFILE64_SOURCE
+ #define _LARGEFILE64_SOURCE
+ #endif
+ #ifndef _FILE_OFFSET_BIT
+ #define _FILE_OFFSET_BIT 64
+ #endif
+
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "../zlib.h"
+
+#if defined(USE_FILE32API)
+#define fopen64 fopen
+#define ftello64 ftell
+#define fseeko64 fseek
+#else
+#ifdef __FreeBSD__
+#define fopen64 fopen
+#define ftello64 ftello
+#define fseeko64 fseeko
+#endif
+#ifdef _MSC_VER
+ #define fopen64 fopen
+ #if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC)))
+ #define ftello64 _ftelli64
+ #define fseeko64 _fseeki64
+ #else // old MSC
+ #define ftello64 ftell
+ #define fseeko64 fseek
+ #endif
+#endif
+#endif
+
+/*
+#ifndef ZPOS64_T
+ #ifdef _WIN32
+ #define ZPOS64_T fpos_t
+ #else
+ #include <stdint.h>
+ #define ZPOS64_T uint64_t
+ #endif
+#endif
+*/
+
+#ifdef HAVE_MINIZIP64_CONF_H
+#include "mz64conf.h"
+#endif
+
+/* a type choosen by DEFINE */
+#ifdef HAVE_64BIT_INT_CUSTOM
+typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
+#else
+#ifdef HAS_STDINT_H
+#include "stdint.h"
+typedef uint64_t ZPOS64_T;
+#else
+
+/* Maximum unsigned 32-bit value used as placeholder for zip64 */
+#define MAXU32 0xffffffff
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+typedef unsigned __int64 ZPOS64_T;
+#else
+typedef unsigned long long int ZPOS64_T;
+#endif
+#endif
+#endif
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define ZLIB_FILEFUNC_SEEK_CUR (1)
+#define ZLIB_FILEFUNC_SEEK_END (2)
+#define ZLIB_FILEFUNC_SEEK_SET (0)
+
+#define ZLIB_FILEFUNC_MODE_READ (1)
+#define ZLIB_FILEFUNC_MODE_WRITE (2)
+#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
+
+#define ZLIB_FILEFUNC_MODE_EXISTING (4)
+#define ZLIB_FILEFUNC_MODE_CREATE (8)
+
+
+#ifndef ZCALLBACK
+ #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
+ #define ZCALLBACK CALLBACK
+ #else
+ #define ZCALLBACK
+ #endif
+#endif
+
+
+
+
+typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode));
+typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
+typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
+
+typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
+typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin));
+
+
+/* here is the "old" 32 bits structure structure */
+typedef struct zlib_filefunc_def_s
+{
+ open_file_func zopen_file;
+ read_file_func zread_file;
+ write_file_func zwrite_file;
+ tell_file_func ztell_file;
+ seek_file_func zseek_file;
+ close_file_func zclose_file;
+ testerror_file_func zerror_file;
+ voidpf opaque;
+} zlib_filefunc_def;
+
+typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream));
+typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
+typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode));
+
+typedef struct zlib_filefunc64_def_s
+{
+ open64_file_func zopen64_file;
+ read_file_func zread_file;
+ write_file_func zwrite_file;
+ tell64_file_func ztell64_file;
+ seek64_file_func zseek64_file;
+ close_file_func zclose_file;
+ testerror_file_func zerror_file;
+ voidpf opaque;
+} zlib_filefunc64_def;
+
+void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def));
+void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
+
+/* now internal definition, only for zip.c and unzip.h */
+typedef struct zlib_filefunc64_32_def_s
+{
+ zlib_filefunc64_def zfile_func64;
+ open_file_func zopen32_file;
+ tell_file_func ztell32_file;
+ seek_file_func zseek32_file;
+} zlib_filefunc64_32_def;
+
+
+#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
+#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
+//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))
+//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))
+#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))
+#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))
+
+voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode));
+long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin));
+ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream));
+
+void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
+
+#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode)))
+#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream)))
+#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/thirdparty/zlib/minizip/iowin32.c b/src/thirdparty/zlib/minizip/iowin32.c
new file mode 100644
index 000000000..274f39eb1
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/iowin32.c
@@ -0,0 +1,462 @@
+/* iowin32.c -- IO base function header for compress/uncompress .zip
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+*/
+
+#include <stdlib.h>
+
+#include "zlib.h"
+#include "ioapi.h"
+#include "iowin32.h"
+
+#ifndef INVALID_HANDLE_VALUE
+#define INVALID_HANDLE_VALUE (0xFFFFFFFF)
+#endif
+
+#ifndef INVALID_SET_FILE_POINTER
+#define INVALID_SET_FILE_POINTER ((DWORD)-1)
+#endif
+
+
+// see Include/shared/winapifamily.h in the Windows Kit
+#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
+#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
+#define IOWIN32_USING_WINRT_API 1
+#endif
+#endif
+
+voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
+uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
+long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
+int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
+int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
+
+typedef struct
+{
+ HANDLE hf;
+ int error;
+} WIN32FILE_IOWIN;
+
+
+static void win32_translate_open_mode(int mode,
+ DWORD* lpdwDesiredAccess,
+ DWORD* lpdwCreationDisposition,
+ DWORD* lpdwShareMode,
+ DWORD* lpdwFlagsAndAttributes)
+{
+ *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
+
+ if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
+ {
+ *lpdwDesiredAccess = GENERIC_READ;
+ *lpdwCreationDisposition = OPEN_EXISTING;
+ *lpdwShareMode = FILE_SHARE_READ;
+ }
+ else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
+ {
+ *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
+ *lpdwCreationDisposition = OPEN_EXISTING;
+ }
+ else if (mode & ZLIB_FILEFUNC_MODE_CREATE)
+ {
+ *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
+ *lpdwCreationDisposition = CREATE_ALWAYS;
+ }
+}
+
+static voidpf win32_build_iowin(HANDLE hFile)
+{
+ voidpf ret=NULL;
+
+ if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
+ {
+ WIN32FILE_IOWIN w32fiow;
+ w32fiow.hf = hFile;
+ w32fiow.error = 0;
+ ret = malloc(sizeof(WIN32FILE_IOWIN));
+
+ if (ret==NULL)
+ CloseHandle(hFile);
+ else
+ *((WIN32FILE_IOWIN*)ret) = w32fiow;
+ }
+ return ret;
+}
+
+voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
+{
+ const char* mode_fopen = NULL;
+ DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+ HANDLE hFile = NULL;
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+#ifdef IOWIN32_USING_WINRT_API
+#ifdef UNICODE
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ {
+ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
+ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
+ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
+ }
+#endif
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+#endif
+
+ return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
+{
+ const char* mode_fopen = NULL;
+ DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+ HANDLE hFile = NULL;
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+#ifdef IOWIN32_USING_WINRT_API
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ {
+ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
+ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
+ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
+ }
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+#endif
+
+ return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
+{
+ const char* mode_fopen = NULL;
+ DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+ HANDLE hFile = NULL;
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+#ifdef IOWIN32_USING_WINRT_API
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL);
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+#endif
+
+ return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode)
+{
+ const char* mode_fopen = NULL;
+ DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+ HANDLE hFile = NULL;
+
+ win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+#ifdef IOWIN32_USING_WINRT_API
+#ifdef UNICODE
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ {
+ WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
+ MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
+ hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
+ }
+#endif
+#else
+ if ((filename!=NULL) && (dwDesiredAccess != 0))
+ hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+#endif
+
+ return win32_build_iowin(hFile);
+}
+
+
+uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size)
+{
+ uLong ret=0;
+ HANDLE hFile = NULL;
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+
+ if (hFile != NULL)
+ {
+ if (!ReadFile(hFile, buf, size, &ret, NULL))
+ {
+ DWORD dwErr = GetLastError();
+ if (dwErr == ERROR_HANDLE_EOF)
+ dwErr = 0;
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ }
+ }
+
+ return ret;
+}
+
+
+uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size)
+{
+ uLong ret=0;
+ HANDLE hFile = NULL;
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+
+ if (hFile != NULL)
+ {
+ if (!WriteFile(hFile, buf, size, &ret, NULL))
+ {
+ DWORD dwErr = GetLastError();
+ if (dwErr == ERROR_HANDLE_EOF)
+ dwErr = 0;
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ }
+ }
+
+ return ret;
+}
+
+static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod)
+{
+#ifdef IOWIN32_USING_WINRT_API
+ return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
+#else
+ LONG lHigh = pos.HighPart;
+ DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, dwMoveMethod);
+ BOOL fOk = TRUE;
+ if (dwNewPos == 0xFFFFFFFF)
+ if (GetLastError() != NO_ERROR)
+ fOk = FALSE;
+ if ((newPos != NULL) && (fOk))
+ {
+ newPos->LowPart = dwNewPos;
+ newPos->HighPart = lHigh;
+ }
+ return fOk;
+#endif
+}
+
+long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
+{
+ long ret=-1;
+ HANDLE hFile = NULL;
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+ if (hFile != NULL)
+ {
+ LARGE_INTEGER pos;
+ pos.QuadPart = 0;
+
+ if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = -1;
+ }
+ else
+ ret=(long)pos.LowPart;
+ }
+ return ret;
+}
+
+ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
+{
+ ZPOS64_T ret= (ZPOS64_T)-1;
+ HANDLE hFile = NULL;
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream)->hf;
+
+ if (hFile)
+ {
+ LARGE_INTEGER pos;
+ pos.QuadPart = 0;
+
+ if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = (ZPOS64_T)-1;
+ }
+ else
+ ret=pos.QuadPart;
+ }
+ return ret;
+}
+
+
+long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin)
+{
+ DWORD dwMoveMethod=0xFFFFFFFF;
+ HANDLE hFile = NULL;
+
+ long ret=-1;
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+ switch (origin)
+ {
+ case ZLIB_FILEFUNC_SEEK_CUR :
+ dwMoveMethod = FILE_CURRENT;
+ break;
+ case ZLIB_FILEFUNC_SEEK_END :
+ dwMoveMethod = FILE_END;
+ break;
+ case ZLIB_FILEFUNC_SEEK_SET :
+ dwMoveMethod = FILE_BEGIN;
+ break;
+ default: return -1;
+ }
+
+ if (hFile != NULL)
+ {
+ LARGE_INTEGER pos;
+ pos.QuadPart = offset;
+ if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = -1;
+ }
+ else
+ ret=0;
+ }
+ return ret;
+}
+
+long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
+{
+ DWORD dwMoveMethod=0xFFFFFFFF;
+ HANDLE hFile = NULL;
+ long ret=-1;
+
+ if (stream!=NULL)
+ hFile = ((WIN32FILE_IOWIN*)stream)->hf;
+
+ switch (origin)
+ {
+ case ZLIB_FILEFUNC_SEEK_CUR :
+ dwMoveMethod = FILE_CURRENT;
+ break;
+ case ZLIB_FILEFUNC_SEEK_END :
+ dwMoveMethod = FILE_END;
+ break;
+ case ZLIB_FILEFUNC_SEEK_SET :
+ dwMoveMethod = FILE_BEGIN;
+ break;
+ default: return -1;
+ }
+
+ if (hFile)
+ {
+ LARGE_INTEGER pos;
+ pos.QuadPart = offset;
+ if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
+ {
+ DWORD dwErr = GetLastError();
+ ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+ ret = -1;
+ }
+ else
+ ret=0;
+ }
+ return ret;
+}
+
+int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
+{
+ int ret=-1;
+
+ if (stream!=NULL)
+ {
+ HANDLE hFile;
+ hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+ if (hFile != NULL)
+ {
+ CloseHandle(hFile);
+ ret=0;
+ }
+ free(stream);
+ }
+ return ret;
+}
+
+int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
+{
+ int ret=-1;
+ if (stream!=NULL)
+ {
+ ret = ((WIN32FILE_IOWIN*)stream) -> error;
+ }
+ return ret;
+}
+
+void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
+{
+ pzlib_filefunc_def->zopen_file = win32_open_file_func;
+ pzlib_filefunc_def->zread_file = win32_read_file_func;
+ pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+ pzlib_filefunc_def->ztell_file = win32_tell_file_func;
+ pzlib_filefunc_def->zseek_file = win32_seek_file_func;
+ pzlib_filefunc_def->zclose_file = win32_close_file_func;
+ pzlib_filefunc_def->zerror_file = win32_error_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
+
+void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
+ pzlib_filefunc_def->zread_file = win32_read_file_func;
+ pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+ pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+ pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+ pzlib_filefunc_def->zclose_file = win32_close_file_func;
+ pzlib_filefunc_def->zerror_file = win32_error_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
+
+
+void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
+ pzlib_filefunc_def->zread_file = win32_read_file_func;
+ pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+ pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+ pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+ pzlib_filefunc_def->zclose_file = win32_close_file_func;
+ pzlib_filefunc_def->zerror_file = win32_error_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
+
+
+void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
+ pzlib_filefunc_def->zread_file = win32_read_file_func;
+ pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+ pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+ pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+ pzlib_filefunc_def->zclose_file = win32_close_file_func;
+ pzlib_filefunc_def->zerror_file = win32_error_file_func;
+ pzlib_filefunc_def->opaque = NULL;
+}
diff --git a/src/thirdparty/zlib/minizip/iowin32.h b/src/thirdparty/zlib/minizip/iowin32.h
new file mode 100644
index 000000000..0ca0969a7
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/iowin32.h
@@ -0,0 +1,28 @@
+/* iowin32.h -- IO base function header for compress/uncompress .zip
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+*/
+
+#include <windows.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
+void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
+void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
+void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/thirdparty/zlib/minizip/unzip.c b/src/thirdparty/zlib/minizip/unzip.c
new file mode 100644
index 000000000..4119bcf30
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/unzip.c
@@ -0,0 +1,2125 @@
+/* unzip.c -- IO for uncompress .zip files using zlib
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications of Unzip for Zip64
+ Copyright (C) 2007-2008 Even Rouault
+
+ Modifications for Zip64 support on both zip and unzip
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+
+ ------------------------------------------------------------------------------------
+ Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of
+ compatibility with older software. The following is from the original crypt.c.
+ Code woven in by Terry Thorsen 1/2003.
+
+ Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
+
+ See the accompanying file LICENSE, version 2000-Apr-09 or later
+ (the contents of which are also included in zip.h) for terms of use.
+ If, for some reason, all these files are missing, the Info-ZIP license
+ also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
+
+ crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h]
+
+ The encryption/decryption parts of this source code (as opposed to the
+ non-echoing password parts) were originally written in Europe. The
+ whole source package can be freely distributed, including from the USA.
+ (Prior to January 2000, re-export from the US was a violation of US law.)
+
+ This encryption code is a direct transcription of the algorithm from
+ Roger Schlafly, described by Phil Katz in the file appnote.txt. This
+ file (appnote.txt) is distributed with the PKZIP program (even in the
+ version without encryption capabilities).
+
+ ------------------------------------------------------------------------------------
+
+ Changes in unzip.c
+
+ 2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos
+ 2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz*
+ 2007-2008 - Even Rouault - Remove old C style function prototypes
+ 2007-2008 - Even Rouault - Add unzip support for ZIP64
+
+ Copyright (C) 2007-2008 Even Rouault
+
+
+ Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again).
+ Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G
+ should only read the compressed/uncompressed size from the Zip64 format if
+ the size from normal header was 0xFFFFFFFF
+ Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant
+ Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required)
+ Patch created by Daniel Borca
+
+ Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
+
+ Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson
+
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef NOUNCRYPT
+ #define NOUNCRYPT
+#endif
+
+#include "../zlib.h"
+#include "unzip.h"
+
+#ifdef STDC
+# include <stddef.h>
+# include <string.h>
+# include <stdlib.h>
+#endif
+#ifdef NO_ERRNO_H
+ extern int errno;
+#else
+# include <errno.h>
+#endif
+
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+
+#ifndef CASESENSITIVITYDEFAULT_NO
+# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
+# define CASESENSITIVITYDEFAULT_NO
+# endif
+#endif
+
+
+#ifndef UNZ_BUFSIZE
+#define UNZ_BUFSIZE (16384)
+#endif
+
+#ifndef UNZ_MAXFILENAMEINZIP
+#define UNZ_MAXFILENAMEINZIP (256)
+#endif
+
+#ifndef ALLOC
+# define ALLOC(size) (malloc(size))
+#endif
+#ifndef TRYFREE
+# define TRYFREE(p) {if (p) free(p);}
+#endif
+
+#define SIZECENTRALDIRITEM (0x2e)
+#define SIZEZIPLOCALHEADER (0x1e)
+
+
+const char unz_copyright[] =
+ " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
+
+/* unz_file_info_interntal contain internal info about a file in zipfile*/
+typedef struct unz_file_info64_internal_s
+{
+ ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */
+} unz_file_info64_internal;
+
+
+/* file_in_zip_read_info_s contain internal information about a file in zipfile,
+ when reading and decompress it */
+typedef struct
+{
+ char *read_buffer; /* internal buffer for compressed data */
+ z_stream stream; /* zLib stream structure for inflate */
+
+#ifdef HAVE_BZIP2
+ bz_stream bstream; /* bzLib stream structure for bziped */
+#endif
+
+ ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/
+ uLong stream_initialised; /* flag set if stream structure is initialised*/
+
+ ZPOS64_T offset_local_extrafield;/* offset of the local extra field */
+ uInt size_local_extrafield;/* size of the local extra field */
+ ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/
+ ZPOS64_T total_out_64;
+
+ uLong crc32; /* crc32 of all data uncompressed */
+ uLong crc32_wait; /* crc32 we must obtain after decompress all */
+ ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */
+ ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/
+ zlib_filefunc64_32_def z_filefunc;
+ voidpf filestream; /* io structore of the zipfile */
+ uLong compression_method; /* compression method (0==store) */
+ ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
+ int raw;
+} file_in_zip64_read_info_s;
+
+
+/* unz64_s contain internal information about the zipfile
+*/
+typedef struct
+{
+ zlib_filefunc64_32_def z_filefunc;
+ int is64bitOpenFunction;
+ voidpf filestream; /* io structore of the zipfile */
+ unz_global_info64 gi; /* public global information */
+ ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
+ ZPOS64_T num_file; /* number of the current file in the zipfile*/
+ ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/
+ ZPOS64_T current_file_ok; /* flag about the usability of the current file*/
+ ZPOS64_T central_pos; /* position of the beginning of the central dir*/
+
+ ZPOS64_T size_central_dir; /* size of the central directory */
+ ZPOS64_T offset_central_dir; /* offset of start of central directory with
+ respect to the starting disk number */
+
+ unz_file_info64 cur_file_info; /* public info about the current file in zip*/
+ unz_file_info64_internal cur_file_info_internal; /* private info about it*/
+ file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current
+ file if we are decompressing it */
+ int encrypted;
+
+ int isZip64;
+
+# ifndef NOUNCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+ const z_crc_t* pcrc_32_tab;
+# endif
+} unz64_s;
+
+
+#ifndef NOUNCRYPT
+#include "crypt.h"
+#endif
+
+/* ===========================================================================
+ Read a byte from a gz_stream; update next_in and avail_in. Return EOF
+ for end of file.
+ IN assertion: the stream s has been successfully opened for reading.
+*/
+
+
+local int unz64local_getByte OF((
+ const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ int *pi));
+
+local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)
+{
+ unsigned char c;
+ int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
+ if (err==1)
+ {
+ *pi = (int)c;
+ return UNZ_OK;
+ }
+ else
+ {
+ if (ZERROR64(*pzlib_filefunc_def,filestream))
+ return UNZ_ERRNO;
+ else
+ return UNZ_EOF;
+ }
+}
+
+
+/* ===========================================================================
+ Reads a long in LSB order from the given gz_stream. Sets
+*/
+local int unz64local_getShort OF((
+ const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ uLong *pX));
+
+local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ uLong *pX)
+{
+ uLong x ;
+ int i = 0;
+ int err;
+
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (uLong)i;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((uLong)i)<<8;
+
+ if (err==UNZ_OK)
+ *pX = x;
+ else
+ *pX = 0;
+ return err;
+}
+
+local int unz64local_getLong OF((
+ const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ uLong *pX));
+
+local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ uLong *pX)
+{
+ uLong x ;
+ int i = 0;
+ int err;
+
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (uLong)i;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((uLong)i)<<8;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((uLong)i)<<16;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((uLong)i)<<24;
+
+ if (err==UNZ_OK)
+ *pX = x;
+ else
+ *pX = 0;
+ return err;
+}
+
+local int unz64local_getLong64 OF((
+ const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ ZPOS64_T *pX));
+
+
+local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream,
+ ZPOS64_T *pX)
+{
+ ZPOS64_T x ;
+ int i = 0;
+ int err;
+
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (ZPOS64_T)i;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<8;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<16;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<24;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<32;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<40;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<48;
+
+ if (err==UNZ_OK)
+ err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x |= ((ZPOS64_T)i)<<56;
+
+ if (err==UNZ_OK)
+ *pX = x;
+ else
+ *pX = 0;
+ return err;
+}
+
+/* My own strcmpi / strcasecmp */
+local int strcmpcasenosensitive_internal (const char* fileName1, const char* fileName2)
+{
+ for (;;)
+ {
+ char c1=*(fileName1++);
+ char c2=*(fileName2++);
+ if ((c1>='a') && (c1<='z'))
+ c1 -= 0x20;
+ if ((c2>='a') && (c2<='z'))
+ c2 -= 0x20;
+ if (c1=='\0')
+ return ((c2=='\0') ? 0 : -1);
+ if (c2=='\0')
+ return 1;
+ if (c1<c2)
+ return -1;
+ if (c1>c2)
+ return 1;
+ }
+}
+
+
+#ifdef CASESENSITIVITYDEFAULT_NO
+#define CASESENSITIVITYDEFAULTVALUE 2
+#else
+#define CASESENSITIVITYDEFAULTVALUE 1
+#endif
+
+#ifndef STRCMPCASENOSENTIVEFUNCTION
+#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
+#endif
+
+/*
+ Compare two filename (fileName1,fileName2).
+ If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
+ If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
+ or strcasecmp)
+ If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
+ (like 1 on Unix, 2 on Windows)
+
+*/
+extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
+ const char* fileName2,
+ int iCaseSensitivity)
+
+{
+ if (iCaseSensitivity==0)
+ iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
+
+ if (iCaseSensitivity==1)
+ return strcmp(fileName1,fileName2);
+
+ return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2);
+}
+
+#ifndef BUFREADCOMMENT
+#define BUFREADCOMMENT (0x400)
+#endif
+
+/*
+ Locate the Central directory of a zipfile (at the end, just before
+ the global comment)
+*/
+local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
+local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
+{
+ unsigned char* buf;
+ ZPOS64_T uSizeFile;
+ ZPOS64_T uBackRead;
+ ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
+ ZPOS64_T uPosFound=0;
+
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
+ return 0;
+
+
+ uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
+
+ if (uMaxBack>uSizeFile)
+ uMaxBack = uSizeFile;
+
+ buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
+ if (buf==NULL)
+ return 0;
+
+ uBackRead = 4;
+ while (uBackRead<uMaxBack)
+ {
+ uLong uReadSize;
+ ZPOS64_T uReadPos ;
+ int i;
+ if (uBackRead+BUFREADCOMMENT>uMaxBack)
+ uBackRead = uMaxBack;
+ else
+ uBackRead+=BUFREADCOMMENT;
+ uReadPos = uSizeFile-uBackRead ;
+
+ uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
+ (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ break;
+
+ if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
+ break;
+
+ for (i=(int)uReadSize-3; (i--)>0;)
+ if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
+ ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
+ {
+ uPosFound = uReadPos+i;
+ break;
+ }
+
+ if (uPosFound!=0)
+ break;
+ }
+ TRYFREE(buf);
+ return uPosFound;
+}
+
+
+/*
+ Locate the Central directory 64 of a zipfile (at the end, just before
+ the global comment)
+*/
+local ZPOS64_T unz64local_SearchCentralDir64 OF((
+ const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream));
+
+local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def,
+ voidpf filestream)
+{
+ unsigned char* buf;
+ ZPOS64_T uSizeFile;
+ ZPOS64_T uBackRead;
+ ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
+ ZPOS64_T uPosFound=0;
+ uLong uL;
+ ZPOS64_T relativeOffset;
+
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
+ return 0;
+
+
+ uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
+
+ if (uMaxBack>uSizeFile)
+ uMaxBack = uSizeFile;
+
+ buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
+ if (buf==NULL)
+ return 0;
+
+ uBackRead = 4;
+ while (uBackRead<uMaxBack)
+ {
+ uLong uReadSize;
+ ZPOS64_T uReadPos;
+ int i;
+ if (uBackRead+BUFREADCOMMENT>uMaxBack)
+ uBackRead = uMaxBack;
+ else
+ uBackRead+=BUFREADCOMMENT;
+ uReadPos = uSizeFile-uBackRead ;
+
+ uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
+ (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ break;
+
+ if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
+ break;
+
+ for (i=(int)uReadSize-3; (i--)>0;)
+ if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
+ ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
+ {
+ uPosFound = uReadPos+i;
+ break;
+ }
+
+ if (uPosFound!=0)
+ break;
+ }
+ TRYFREE(buf);
+ if (uPosFound == 0)
+ return 0;
+
+ /* Zip64 end of central directory locator */
+ if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return 0;
+
+ /* the signature, already checked */
+ if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
+ return 0;
+
+ /* number of the disk with the start of the zip64 end of central directory */
+ if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
+ return 0;
+ if (uL != 0)
+ return 0;
+
+ /* relative offset of the zip64 end of central directory record */
+ if (unz64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=UNZ_OK)
+ return 0;
+
+ /* total number of disks */
+ if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
+ return 0;
+ if (uL != 1)
+ return 0;
+
+ /* Goto end of central directory record */
+ if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return 0;
+
+ /* the signature */
+ if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
+ return 0;
+
+ if (uL != 0x06064b50)
+ return 0;
+
+ return relativeOffset;
+}
+
+/*
+ Open a Zip file. path contain the full pathname (by example,
+ on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer
+ "zlib/zlib114.zip".
+ If the zipfile cannot be opened (file doesn't exist or in not valid), the
+ return value is NULL.
+ Else, the return value is a unzFile Handle, usable with other function
+ of this unzip package.
+*/
+local unzFile unzOpenInternal (const void *path,
+ zlib_filefunc64_32_def* pzlib_filefunc64_32_def,
+ int is64bitOpenFunction)
+{
+ unz64_s us;
+ unz64_s *s;
+ ZPOS64_T central_pos;
+ uLong uL;
+
+ uLong number_disk; /* number of the current dist, used for
+ spaning ZIP, unsupported, always 0*/
+ uLong number_disk_with_CD; /* number the the disk with central dir, used
+ for spaning ZIP, unsupported, always 0*/
+ ZPOS64_T number_entry_CD; /* total number of entries in
+ the central dir
+ (same than number_entry on nospan) */
+
+ int err=UNZ_OK;
+
+ if (unz_copyright[0]!=' ')
+ return NULL;
+
+ us.z_filefunc.zseek32_file = NULL;
+ us.z_filefunc.ztell32_file = NULL;
+ if (pzlib_filefunc64_32_def==NULL)
+ fill_fopen64_filefunc(&us.z_filefunc.zfile_func64);
+ else
+ us.z_filefunc = *pzlib_filefunc64_32_def;
+ us.is64bitOpenFunction = is64bitOpenFunction;
+
+
+
+ us.filestream = ZOPEN64(us.z_filefunc,
+ path,
+ ZLIB_FILEFUNC_MODE_READ |
+ ZLIB_FILEFUNC_MODE_EXISTING);
+ if (us.filestream==NULL)
+ return NULL;
+
+ central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream);
+ if (central_pos)
+ {
+ uLong uS;
+ ZPOS64_T uL64;
+
+ us.isZip64 = 1;
+
+ if (ZSEEK64(us.z_filefunc, us.filestream,
+ central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err=UNZ_ERRNO;
+
+ /* the signature, already checked */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* size of zip64 end of central directory record */
+ if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* version made by */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* version needed to extract */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* number of this disk */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* number of the disk with the start of the central directory */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* total number of entries in the central directory on this disk */
+ if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* total number of entries in the central directory */
+ if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if ((number_entry_CD!=us.gi.number_entry) ||
+ (number_disk_with_CD!=0) ||
+ (number_disk!=0))
+ err=UNZ_BADZIPFILE;
+
+ /* size of the central directory */
+ if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* offset of start of central directory with respect to the
+ starting disk number */
+ if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ us.gi.size_comment = 0;
+ }
+ else
+ {
+ central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream);
+ if (central_pos==0)
+ err=UNZ_ERRNO;
+
+ us.isZip64 = 0;
+
+ if (ZSEEK64(us.z_filefunc, us.filestream,
+ central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err=UNZ_ERRNO;
+
+ /* the signature, already checked */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* number of this disk */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* number of the disk with the start of the central directory */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* total number of entries in the central dir on this disk */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+ us.gi.number_entry = uL;
+
+ /* total number of entries in the central dir */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+ number_entry_CD = uL;
+
+ if ((number_entry_CD!=us.gi.number_entry) ||
+ (number_disk_with_CD!=0) ||
+ (number_disk!=0))
+ err=UNZ_BADZIPFILE;
+
+ /* size of the central directory */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+ us.size_central_dir = uL;
+
+ /* offset of start of central directory with respect to the
+ starting disk number */
+ if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
+ err=UNZ_ERRNO;
+ us.offset_central_dir = uL;
+
+ /* zipfile comment length */
+ if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+ if ((central_pos<us.offset_central_dir+us.size_central_dir) &&
+ (err==UNZ_OK))
+ err=UNZ_BADZIPFILE;
+
+ if (err!=UNZ_OK)
+ {
+ ZCLOSE64(us.z_filefunc, us.filestream);
+ return NULL;
+ }
+
+ us.byte_before_the_zipfile = central_pos -
+ (us.offset_central_dir+us.size_central_dir);
+ us.central_pos = central_pos;
+ us.pfile_in_zip_read = NULL;
+ us.encrypted = 0;
+
+
+ s=(unz64_s*)ALLOC(sizeof(unz64_s));
+ if( s != NULL)
+ {
+ *s=us;
+ unzGoToFirstFile((unzFile)s);
+ }
+ return (unzFile)s;
+}
+
+
+extern unzFile ZEXPORT unzOpen2 (const char *path,
+ zlib_filefunc_def* pzlib_filefunc32_def)
+{
+ if (pzlib_filefunc32_def != NULL)
+ {
+ zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
+ fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
+ return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 0);
+ }
+ else
+ return unzOpenInternal(path, NULL, 0);
+}
+
+extern unzFile ZEXPORT unzOpen2_64 (const void *path,
+ zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ if (pzlib_filefunc_def != NULL)
+ {
+ zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
+ zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
+ zlib_filefunc64_32_def_fill.ztell32_file = NULL;
+ zlib_filefunc64_32_def_fill.zseek32_file = NULL;
+ return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1);
+ }
+ else
+ return unzOpenInternal(path, NULL, 1);
+}
+
+extern unzFile ZEXPORT unzOpen (const char *path)
+{
+ return unzOpenInternal(path, NULL, 0);
+}
+
+extern unzFile ZEXPORT unzOpen64 (const void *path)
+{
+ return unzOpenInternal(path, NULL, 1);
+}
+
+/*
+ Close a ZipFile opened with unzOpen.
+ If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
+ these files MUST be closed with unzCloseCurrentFile before call unzClose.
+ return UNZ_OK if there is no problem. */
+extern int ZEXPORT unzClose (unzFile file)
+{
+ unz64_s* s;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+
+ if (s->pfile_in_zip_read!=NULL)
+ unzCloseCurrentFile(file);
+
+ ZCLOSE64(s->z_filefunc, s->filestream);
+ TRYFREE(s);
+ return UNZ_OK;
+}
+
+
+/*
+ Write info about the ZipFile in the *pglobal_info structure.
+ No preparation of the structure is needed
+ return UNZ_OK if there is no problem. */
+extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info)
+{
+ unz64_s* s;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ *pglobal_info=s->gi;
+ return UNZ_OK;
+}
+
+extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32)
+{
+ unz64_s* s;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ /* to do : check if number_entry is not truncated */
+ pglobal_info32->number_entry = (uLong)s->gi.number_entry;
+ pglobal_info32->size_comment = s->gi.size_comment;
+ return UNZ_OK;
+}
+/*
+ Translate date/time from Dos format to tm_unz (readable more easilty)
+*/
+local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm)
+{
+ ZPOS64_T uDate;
+ uDate = (ZPOS64_T)(ulDosDate>>16);
+ ptm->tm_mday = (uInt)(uDate&0x1f) ;
+ ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ;
+ ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ;
+
+ ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800);
+ ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ;
+ ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ;
+}
+
+/*
+ Get Info about the current file in the zipfile, with internal only info
+*/
+local int unz64local_GetCurrentFileInfoInternal OF((unzFile file,
+ unz_file_info64 *pfile_info,
+ unz_file_info64_internal
+ *pfile_info_internal,
+ char *szFileName,
+ uLong fileNameBufferSize,
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+ uLong commentBufferSize));
+
+local int unz64local_GetCurrentFileInfoInternal (unzFile file,
+ unz_file_info64 *pfile_info,
+ unz_file_info64_internal
+ *pfile_info_internal,
+ char *szFileName,
+ uLong fileNameBufferSize,
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+ uLong commentBufferSize)
+{
+ unz64_s* s;
+ unz_file_info64 file_info;
+ unz_file_info64_internal file_info_internal;
+ int err=UNZ_OK;
+ uLong uMagic;
+ long lSeek=0;
+ uLong uL;
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ if (ZSEEK64(s->z_filefunc, s->filestream,
+ s->pos_in_central_dir+s->byte_before_the_zipfile,
+ ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err=UNZ_ERRNO;
+
+
+ /* we check the magic */
+ if (err==UNZ_OK)
+ {
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
+ err=UNZ_ERRNO;
+ else if (uMagic!=0x02014b50)
+ err=UNZ_BADZIPFILE;
+ }
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date);
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
+ err=UNZ_ERRNO;
+ file_info.compressed_size = uL;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
+ err=UNZ_ERRNO;
+ file_info.uncompressed_size = uL;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ // relative offset of local header
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
+ err=UNZ_ERRNO;
+ file_info_internal.offset_curfile = uL;
+
+ lSeek+=file_info.size_filename;
+ if ((err==UNZ_OK) && (szFileName!=NULL))
+ {
+ uLong uSizeRead ;
+ if (file_info.size_filename<fileNameBufferSize)
+ {
+ *(szFileName+file_info.size_filename)='\0';
+ uSizeRead = file_info.size_filename;
+ }
+ else
+ uSizeRead = fileNameBufferSize;
+
+ if ((file_info.size_filename>0) && (fileNameBufferSize>0))
+ if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead)
+ err=UNZ_ERRNO;
+ lSeek -= uSizeRead;
+ }
+
+ // Read extrafield
+ if ((err==UNZ_OK) && (extraField!=NULL))
+ {
+ ZPOS64_T uSizeRead ;
+ if (file_info.size_file_extra<extraFieldBufferSize)
+ uSizeRead = file_info.size_file_extra;
+ else
+ uSizeRead = extraFieldBufferSize;
+
+ if (lSeek!=0)
+ {
+ if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
+ lSeek=0;
+ else
+ err=UNZ_ERRNO;
+ }
+
+ if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
+ if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead)
+ err=UNZ_ERRNO;
+
+ lSeek += file_info.size_file_extra - (uLong)uSizeRead;
+ }
+ else
+ lSeek += file_info.size_file_extra;
+
+
+ if ((err==UNZ_OK) && (file_info.size_file_extra != 0))
+ {
+ uLong acc = 0;
+
+ // since lSeek now points to after the extra field we need to move back
+ lSeek -= file_info.size_file_extra;
+
+ if (lSeek!=0)
+ {
+ if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
+ lSeek=0;
+ else
+ err=UNZ_ERRNO;
+ }
+
+ while(acc < file_info.size_file_extra)
+ {
+ uLong headerId;
+ uLong dataSize;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ /* ZIP64 extra fields */
+ if (headerId == 0x0001)
+ {
+ uLong uL;
+
+ if(file_info.uncompressed_size == MAXU32)
+ {
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+ if(file_info.compressed_size == MAXU32)
+ {
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+ if(file_info_internal.offset_curfile == MAXU32)
+ {
+ /* Relative Header offset */
+ if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+ if(file_info.disk_num_start == MAXU32)
+ {
+ /* Disk Start Number */
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
+ err=UNZ_ERRNO;
+ }
+
+ }
+ else
+ {
+ if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0)
+ err=UNZ_ERRNO;
+ }
+
+ acc += 2 + 2 + dataSize;
+ }
+ }
+
+ if ((err==UNZ_OK) && (szComment!=NULL))
+ {
+ uLong uSizeRead ;
+ if (file_info.size_file_comment<commentBufferSize)
+ {
+ *(szComment+file_info.size_file_comment)='\0';
+ uSizeRead = file_info.size_file_comment;
+ }
+ else
+ uSizeRead = commentBufferSize;
+
+ if (lSeek!=0)
+ {
+ if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
+ lSeek=0;
+ else
+ err=UNZ_ERRNO;
+ }
+
+ if ((file_info.size_file_comment>0) && (commentBufferSize>0))
+ if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead)
+ err=UNZ_ERRNO;
+ lSeek+=file_info.size_file_comment - uSizeRead;
+ }
+ else
+ lSeek+=file_info.size_file_comment;
+
+
+ if ((err==UNZ_OK) && (pfile_info!=NULL))
+ *pfile_info=file_info;
+
+ if ((err==UNZ_OK) && (pfile_info_internal!=NULL))
+ *pfile_info_internal=file_info_internal;
+
+ return err;
+}
+
+
+
+/*
+ Write info about the ZipFile in the *pglobal_info structure.
+ No preparation of the structure is needed
+ return UNZ_OK if there is no problem.
+*/
+extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file,
+ unz_file_info64 * pfile_info,
+ char * szFileName, uLong fileNameBufferSize,
+ void *extraField, uLong extraFieldBufferSize,
+ char* szComment, uLong commentBufferSize)
+{
+ return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL,
+ szFileName,fileNameBufferSize,
+ extraField,extraFieldBufferSize,
+ szComment,commentBufferSize);
+}
+
+extern int ZEXPORT unzGetCurrentFileInfo (unzFile file,
+ unz_file_info * pfile_info,
+ char * szFileName, uLong fileNameBufferSize,
+ void *extraField, uLong extraFieldBufferSize,
+ char* szComment, uLong commentBufferSize)
+{
+ int err;
+ unz_file_info64 file_info64;
+ err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL,
+ szFileName,fileNameBufferSize,
+ extraField,extraFieldBufferSize,
+ szComment,commentBufferSize);
+ if ((err==UNZ_OK) && (pfile_info != NULL))
+ {
+ pfile_info->version = file_info64.version;
+ pfile_info->version_needed = file_info64.version_needed;
+ pfile_info->flag = file_info64.flag;
+ pfile_info->compression_method = file_info64.compression_method;
+ pfile_info->dosDate = file_info64.dosDate;
+ pfile_info->crc = file_info64.crc;
+
+ pfile_info->size_filename = file_info64.size_filename;
+ pfile_info->size_file_extra = file_info64.size_file_extra;
+ pfile_info->size_file_comment = file_info64.size_file_comment;
+
+ pfile_info->disk_num_start = file_info64.disk_num_start;
+ pfile_info->internal_fa = file_info64.internal_fa;
+ pfile_info->external_fa = file_info64.external_fa;
+
+ pfile_info->tmu_date = file_info64.tmu_date,
+
+
+ pfile_info->compressed_size = (uLong)file_info64.compressed_size;
+ pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size;
+
+ }
+ return err;
+}
+/*
+ Set the current file of the zipfile to the first file.
+ return UNZ_OK if there is no problem
+*/
+extern int ZEXPORT unzGoToFirstFile (unzFile file)
+{
+ int err=UNZ_OK;
+ unz64_s* s;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ s->pos_in_central_dir=s->offset_central_dir;
+ s->num_file=0;
+ err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
+ &s->cur_file_info_internal,
+ NULL,0,NULL,0,NULL,0);
+ s->current_file_ok = (err == UNZ_OK);
+ return err;
+}
+
+/*
+ Set the current file of the zipfile to the next file.
+ return UNZ_OK if there is no problem
+ return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
+*/
+extern int ZEXPORT unzGoToNextFile (unzFile file)
+{
+ unz64_s* s;
+ int err;
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ if (!s->current_file_ok)
+ return UNZ_END_OF_LIST_OF_FILE;
+ if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */
+ if (s->num_file+1==s->gi.number_entry)
+ return UNZ_END_OF_LIST_OF_FILE;
+
+ s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename +
+ s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ;
+ s->num_file++;
+ err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
+ &s->cur_file_info_internal,
+ NULL,0,NULL,0,NULL,0);
+ s->current_file_ok = (err == UNZ_OK);
+ return err;
+}
+
+
+/*
+ Try locate the file szFileName in the zipfile.
+ For the iCaseSensitivity signification, see unzStringFileNameCompare
+
+ return value :
+ UNZ_OK if the file is found. It becomes the current file.
+ UNZ_END_OF_LIST_OF_FILE if the file is not found
+*/
+extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
+{
+ unz64_s* s;
+ int err;
+
+ /* We remember the 'current' position in the file so that we can jump
+ * back there if we fail.
+ */
+ unz_file_info64 cur_file_infoSaved;
+ unz_file_info64_internal cur_file_info_internalSaved;
+ ZPOS64_T num_fileSaved;
+ ZPOS64_T pos_in_central_dirSaved;
+
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+
+ if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
+ return UNZ_PARAMERROR;
+
+ s=(unz64_s*)file;
+ if (!s->current_file_ok)
+ return UNZ_END_OF_LIST_OF_FILE;
+
+ /* Save the current state */
+ num_fileSaved = s->num_file;
+ pos_in_central_dirSaved = s->pos_in_central_dir;
+ cur_file_infoSaved = s->cur_file_info;
+ cur_file_info_internalSaved = s->cur_file_info_internal;
+
+ err = unzGoToFirstFile(file);
+
+ while (err == UNZ_OK)
+ {
+ char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
+ err = unzGetCurrentFileInfo64(file,NULL,
+ szCurrentFileName,sizeof(szCurrentFileName)-1,
+ NULL,0,NULL,0);
+ if (err == UNZ_OK)
+ {
+ if (unzStringFileNameCompare(szCurrentFileName,
+ szFileName,iCaseSensitivity)==0)
+ return UNZ_OK;
+ err = unzGoToNextFile(file);
+ }
+ }
+
+ /* We failed, so restore the state of the 'current file' to where we
+ * were.
+ */
+ s->num_file = num_fileSaved ;
+ s->pos_in_central_dir = pos_in_central_dirSaved ;
+ s->cur_file_info = cur_file_infoSaved;
+ s->cur_file_info_internal = cur_file_info_internalSaved;
+ return err;
+}
+
+
+/*
+///////////////////////////////////////////
+// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net)
+// I need random access
+//
+// Further optimization could be realized by adding an ability
+// to cache the directory in memory. The goal being a single
+// comprehensive file read to put the file I need in a memory.
+*/
+
+/*
+typedef struct unz_file_pos_s
+{
+ ZPOS64_T pos_in_zip_directory; // offset in file
+ ZPOS64_T num_of_file; // # of file
+} unz_file_pos;
+*/
+
+extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos)
+{
+ unz64_s* s;
+
+ if (file==NULL || file_pos==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ if (!s->current_file_ok)
+ return UNZ_END_OF_LIST_OF_FILE;
+
+ file_pos->pos_in_zip_directory = s->pos_in_central_dir;
+ file_pos->num_of_file = s->num_file;
+
+ return UNZ_OK;
+}
+
+extern int ZEXPORT unzGetFilePos(
+ unzFile file,
+ unz_file_pos* file_pos)
+{
+ unz64_file_pos file_pos64;
+ int err = unzGetFilePos64(file,&file_pos64);
+ if (err==UNZ_OK)
+ {
+ file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory;
+ file_pos->num_of_file = (uLong)file_pos64.num_of_file;
+ }
+ return err;
+}
+
+extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos)
+{
+ unz64_s* s;
+ int err;
+
+ if (file==NULL || file_pos==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+
+ /* jump to the right spot */
+ s->pos_in_central_dir = file_pos->pos_in_zip_directory;
+ s->num_file = file_pos->num_of_file;
+
+ /* set the current file */
+ err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
+ &s->cur_file_info_internal,
+ NULL,0,NULL,0,NULL,0);
+ /* return results */
+ s->current_file_ok = (err == UNZ_OK);
+ return err;
+}
+
+extern int ZEXPORT unzGoToFilePos(
+ unzFile file,
+ unz_file_pos* file_pos)
+{
+ unz64_file_pos file_pos64;
+ if (file_pos == NULL)
+ return UNZ_PARAMERROR;
+
+ file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory;
+ file_pos64.num_of_file = file_pos->num_of_file;
+ return unzGoToFilePos64(file,&file_pos64);
+}
+
+/*
+// Unzip Helper Functions - should be here?
+///////////////////////////////////////////
+*/
+
+/*
+ Read the local header of the current zipfile
+ Check the coherency of the local header and info in the end of central
+ directory about this file
+ store in *piSizeVar the size of extra info in local header
+ (filename and size of extra field data)
+*/
+local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt* piSizeVar,
+ ZPOS64_T * poffset_local_extrafield,
+ uInt * psize_local_extrafield)
+{
+ uLong uMagic,uData,uFlags;
+ uLong size_filename;
+ uLong size_extra_field;
+ int err=UNZ_OK;
+
+ *piSizeVar = 0;
+ *poffset_local_extrafield = 0;
+ *psize_local_extrafield = 0;
+
+ if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile +
+ s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return UNZ_ERRNO;
+
+
+ if (err==UNZ_OK)
+ {
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
+ err=UNZ_ERRNO;
+ else if (uMagic!=0x04034b50)
+ err=UNZ_BADZIPFILE;
+ }
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
+ err=UNZ_ERRNO;
+/*
+ else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))
+ err=UNZ_BADZIPFILE;
+*/
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK)
+ err=UNZ_ERRNO;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
+ err=UNZ_ERRNO;
+ else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method))
+ err=UNZ_BADZIPFILE;
+
+ if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
+/* #ifdef HAVE_BZIP2 */
+ (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
+/* #endif */
+ (s->cur_file_info.compression_method!=Z_DEFLATED))
+ err=UNZ_BADZIPFILE;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */
+ err=UNZ_ERRNO;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */
+ err=UNZ_ERRNO;
+ else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0))
+ err=UNZ_BADZIPFILE;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */
+ err=UNZ_ERRNO;
+ else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0))
+ err=UNZ_BADZIPFILE;
+
+ if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */
+ err=UNZ_ERRNO;
+ else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0))
+ err=UNZ_BADZIPFILE;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK)
+ err=UNZ_ERRNO;
+ else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename))
+ err=UNZ_BADZIPFILE;
+
+ *piSizeVar += (uInt)size_filename;
+
+ if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK)
+ err=UNZ_ERRNO;
+ *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile +
+ SIZEZIPLOCALHEADER + size_filename;
+ *psize_local_extrafield = (uInt)size_extra_field;
+
+ *piSizeVar += (uInt)size_extra_field;
+
+ return err;
+}
+
+/*
+ Open for reading data the current file in the zipfile.
+ If there is no error and the file is opened, the return value is UNZ_OK.
+*/
+extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method,
+ int* level, int raw, const char* password)
+{
+ int err=UNZ_OK;
+ uInt iSizeVar;
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ ZPOS64_T offset_local_extrafield; /* offset of the local extra field */
+ uInt size_local_extrafield; /* size of the local extra field */
+# ifndef NOUNCRYPT
+ char source[12];
+# else
+ if (password != NULL)
+ return UNZ_PARAMERROR;
+# endif
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ if (!s->current_file_ok)
+ return UNZ_PARAMERROR;
+
+ if (s->pfile_in_zip_read != NULL)
+ unzCloseCurrentFile(file);
+
+ if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
+ return UNZ_BADZIPFILE;
+
+ pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s));
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_INTERNALERROR;
+
+ pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE);
+ pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield;
+ pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield;
+ pfile_in_zip_read_info->pos_local_extrafield=0;
+ pfile_in_zip_read_info->raw=raw;
+
+ if (pfile_in_zip_read_info->read_buffer==NULL)
+ {
+ TRYFREE(pfile_in_zip_read_info);
+ return UNZ_INTERNALERROR;
+ }
+
+ pfile_in_zip_read_info->stream_initialised=0;
+
+ if (method!=NULL)
+ *method = (int)s->cur_file_info.compression_method;
+
+ if (level!=NULL)
+ {
+ *level = 6;
+ switch (s->cur_file_info.flag & 0x06)
+ {
+ case 6 : *level = 1; break;
+ case 4 : *level = 2; break;
+ case 2 : *level = 9; break;
+ }
+ }
+
+ if ((s->cur_file_info.compression_method!=0) &&
+/* #ifdef HAVE_BZIP2 */
+ (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
+/* #endif */
+ (s->cur_file_info.compression_method!=Z_DEFLATED))
+
+ err=UNZ_BADZIPFILE;
+
+ pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;
+ pfile_in_zip_read_info->crc32=0;
+ pfile_in_zip_read_info->total_out_64=0;
+ pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method;
+ pfile_in_zip_read_info->filestream=s->filestream;
+ pfile_in_zip_read_info->z_filefunc=s->z_filefunc;
+ pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile;
+
+ pfile_in_zip_read_info->stream.total_out = 0;
+
+ if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw))
+ {
+#ifdef HAVE_BZIP2
+ pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0;
+ pfile_in_zip_read_info->bstream.bzfree = (free_func)0;
+ pfile_in_zip_read_info->bstream.opaque = (voidpf)0;
+ pfile_in_zip_read_info->bstream.state = (voidpf)0;
+
+ pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
+ pfile_in_zip_read_info->stream.zfree = (free_func)0;
+ pfile_in_zip_read_info->stream.opaque = (voidpf)0;
+ pfile_in_zip_read_info->stream.next_in = (voidpf)0;
+ pfile_in_zip_read_info->stream.avail_in = 0;
+
+ err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
+ if (err == Z_OK)
+ pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
+ else
+ {
+ TRYFREE(pfile_in_zip_read_info);
+ return err;
+ }
+#else
+ pfile_in_zip_read_info->raw=1;
+#endif
+ }
+ else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw))
+ {
+ pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
+ pfile_in_zip_read_info->stream.zfree = (free_func)0;
+ pfile_in_zip_read_info->stream.opaque = (voidpf)0;
+ pfile_in_zip_read_info->stream.next_in = 0;
+ pfile_in_zip_read_info->stream.avail_in = 0;
+
+ err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
+ if (err == Z_OK)
+ pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
+ else
+ {
+ TRYFREE(pfile_in_zip_read_info);
+ return err;
+ }
+ /* windowBits is passed < 0 to tell that there is no zlib header.
+ * Note that in this case inflate *requires* an extra "dummy" byte
+ * after the compressed stream in order to complete decompression and
+ * return Z_STREAM_END.
+ * In unzip, i don't wait absolutely Z_STREAM_END because I known the
+ * size of both compressed and uncompressed data
+ */
+ }
+ pfile_in_zip_read_info->rest_read_compressed =
+ s->cur_file_info.compressed_size ;
+ pfile_in_zip_read_info->rest_read_uncompressed =
+ s->cur_file_info.uncompressed_size ;
+
+
+ pfile_in_zip_read_info->pos_in_zipfile =
+ s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER +
+ iSizeVar;
+
+ pfile_in_zip_read_info->stream.avail_in = (uInt)0;
+
+ s->pfile_in_zip_read = pfile_in_zip_read_info;
+ s->encrypted = 0;
+
+# ifndef NOUNCRYPT
+ if (password != NULL)
+ {
+ int i;
+ s->pcrc_32_tab = get_crc_table();
+ init_keys(password,s->keys,s->pcrc_32_tab);
+ if (ZSEEK64(s->z_filefunc, s->filestream,
+ s->pfile_in_zip_read->pos_in_zipfile +
+ s->pfile_in_zip_read->byte_before_the_zipfile,
+ SEEK_SET)!=0)
+ return UNZ_INTERNALERROR;
+ if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12)
+ return UNZ_INTERNALERROR;
+
+ for (i = 0; i<12; i++)
+ zdecode(s->keys,s->pcrc_32_tab,source[i]);
+
+ s->pfile_in_zip_read->pos_in_zipfile+=12;
+ s->encrypted=1;
+ }
+# endif
+
+
+ return UNZ_OK;
+}
+
+extern int ZEXPORT unzOpenCurrentFile (unzFile file)
+{
+ return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
+}
+
+extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password)
+{
+ return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
+}
+
+extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method, int* level, int raw)
+{
+ return unzOpenCurrentFile3(file, method, level, raw, NULL);
+}
+
+/** Addition for GDAL : START */
+
+extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file)
+{
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ s=(unz64_s*)file;
+ if (file==NULL)
+ return 0; //UNZ_PARAMERROR;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+ if (pfile_in_zip_read_info==NULL)
+ return 0; //UNZ_PARAMERROR;
+ return pfile_in_zip_read_info->pos_in_zipfile +
+ pfile_in_zip_read_info->byte_before_the_zipfile;
+}
+
+/** Addition for GDAL : END */
+
+/*
+ Read bytes from the current file.
+ buf contain buffer where data must be copied
+ len the size of buf.
+
+ return the number of byte copied if somes bytes are copied
+ return 0 if the end of file was reached
+ return <0 with error code if there is an error
+ (UNZ_ERRNO for IO error, or zLib error for uncompress error)
+*/
+extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len)
+{
+ int err=UNZ_OK;
+ uInt iRead = 0;
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_PARAMERROR;
+
+
+ if (pfile_in_zip_read_info->read_buffer == NULL)
+ return UNZ_END_OF_LIST_OF_FILE;
+ if (len==0)
+ return 0;
+
+ pfile_in_zip_read_info->stream.next_out = (Bytef*)buf;
+
+ pfile_in_zip_read_info->stream.avail_out = (uInt)len;
+
+ if ((len>pfile_in_zip_read_info->rest_read_uncompressed) &&
+ (!(pfile_in_zip_read_info->raw)))
+ pfile_in_zip_read_info->stream.avail_out =
+ (uInt)pfile_in_zip_read_info->rest_read_uncompressed;
+
+ if ((len>pfile_in_zip_read_info->rest_read_compressed+
+ pfile_in_zip_read_info->stream.avail_in) &&
+ (pfile_in_zip_read_info->raw))
+ pfile_in_zip_read_info->stream.avail_out =
+ (uInt)pfile_in_zip_read_info->rest_read_compressed+
+ pfile_in_zip_read_info->stream.avail_in;
+
+ while (pfile_in_zip_read_info->stream.avail_out>0)
+ {
+ if ((pfile_in_zip_read_info->stream.avail_in==0) &&
+ (pfile_in_zip_read_info->rest_read_compressed>0))
+ {
+ uInt uReadThis = UNZ_BUFSIZE;
+ if (pfile_in_zip_read_info->rest_read_compressed<uReadThis)
+ uReadThis = (uInt)pfile_in_zip_read_info->rest_read_compressed;
+ if (uReadThis == 0)
+ return UNZ_EOF;
+ if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
+ pfile_in_zip_read_info->filestream,
+ pfile_in_zip_read_info->pos_in_zipfile +
+ pfile_in_zip_read_info->byte_before_the_zipfile,
+ ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return UNZ_ERRNO;
+ if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
+ pfile_in_zip_read_info->filestream,
+ pfile_in_zip_read_info->read_buffer,
+ uReadThis)!=uReadThis)
+ return UNZ_ERRNO;
+
+
+# ifndef NOUNCRYPT
+ if(s->encrypted)
+ {
+ uInt i;
+ for(i=0;i<uReadThis;i++)
+ pfile_in_zip_read_info->read_buffer[i] =
+ zdecode(s->keys,s->pcrc_32_tab,
+ pfile_in_zip_read_info->read_buffer[i]);
+ }
+# endif
+
+
+ pfile_in_zip_read_info->pos_in_zipfile += uReadThis;
+
+ pfile_in_zip_read_info->rest_read_compressed-=uReadThis;
+
+ pfile_in_zip_read_info->stream.next_in =
+ (Bytef*)pfile_in_zip_read_info->read_buffer;
+ pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis;
+ }
+
+ if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw))
+ {
+ uInt uDoCopy,i ;
+
+ if ((pfile_in_zip_read_info->stream.avail_in == 0) &&
+ (pfile_in_zip_read_info->rest_read_compressed == 0))
+ return (iRead==0) ? UNZ_EOF : iRead;
+
+ if (pfile_in_zip_read_info->stream.avail_out <
+ pfile_in_zip_read_info->stream.avail_in)
+ uDoCopy = pfile_in_zip_read_info->stream.avail_out ;
+ else
+ uDoCopy = pfile_in_zip_read_info->stream.avail_in ;
+
+ for (i=0;i<uDoCopy;i++)
+ *(pfile_in_zip_read_info->stream.next_out+i) =
+ *(pfile_in_zip_read_info->stream.next_in+i);
+
+ pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy;
+
+ pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,
+ pfile_in_zip_read_info->stream.next_out,
+ uDoCopy);
+ pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy;
+ pfile_in_zip_read_info->stream.avail_in -= uDoCopy;
+ pfile_in_zip_read_info->stream.avail_out -= uDoCopy;
+ pfile_in_zip_read_info->stream.next_out += uDoCopy;
+ pfile_in_zip_read_info->stream.next_in += uDoCopy;
+ pfile_in_zip_read_info->stream.total_out += uDoCopy;
+ iRead += uDoCopy;
+ }
+ else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED)
+ {
+#ifdef HAVE_BZIP2
+ uLong uTotalOutBefore,uTotalOutAfter;
+ const Bytef *bufBefore;
+ uLong uOutThis;
+
+ pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in;
+ pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in;
+ pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in;
+ pfile_in_zip_read_info->bstream.total_in_hi32 = 0;
+ pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out;
+ pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out;
+ pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out;
+ pfile_in_zip_read_info->bstream.total_out_hi32 = 0;
+
+ uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32;
+ bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out;
+
+ err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream);
+
+ uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32;
+ uOutThis = uTotalOutAfter-uTotalOutBefore;
+
+ pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
+
+ pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis));
+ pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis;
+ iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
+
+ pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in;
+ pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in;
+ pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32;
+ pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out;
+ pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out;
+ pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
+
+ if (err==BZ_STREAM_END)
+ return (iRead==0) ? UNZ_EOF : iRead;
+ if (err!=BZ_OK)
+ break;
+#endif
+ } // end Z_BZIP2ED
+ else
+ {
+ ZPOS64_T uTotalOutBefore,uTotalOutAfter;
+ const Bytef *bufBefore;
+ ZPOS64_T uOutThis;
+ int flush=Z_SYNC_FLUSH;
+
+ uTotalOutBefore = pfile_in_zip_read_info->stream.total_out;
+ bufBefore = pfile_in_zip_read_info->stream.next_out;
+
+ /*
+ if ((pfile_in_zip_read_info->rest_read_uncompressed ==
+ pfile_in_zip_read_info->stream.avail_out) &&
+ (pfile_in_zip_read_info->rest_read_compressed == 0))
+ flush = Z_FINISH;
+ */
+ err=inflate(&pfile_in_zip_read_info->stream,flush);
+
+ if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL))
+ err = Z_DATA_ERROR;
+
+ uTotalOutAfter = pfile_in_zip_read_info->stream.total_out;
+ uOutThis = uTotalOutAfter-uTotalOutBefore;
+
+ pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
+
+ pfile_in_zip_read_info->crc32 =
+ crc32(pfile_in_zip_read_info->crc32,bufBefore,
+ (uInt)(uOutThis));
+
+ pfile_in_zip_read_info->rest_read_uncompressed -=
+ uOutThis;
+
+ iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
+
+ if (err==Z_STREAM_END)
+ return (iRead==0) ? UNZ_EOF : iRead;
+ if (err!=Z_OK)
+ break;
+ }
+ }
+
+ if (err==Z_OK)
+ return iRead;
+ return err;
+}
+
+
+/*
+ Give the current position in uncompressed data
+*/
+extern z_off_t ZEXPORT unztell (unzFile file)
+{
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_PARAMERROR;
+
+ return (z_off_t)pfile_in_zip_read_info->stream.total_out;
+}
+
+extern ZPOS64_T ZEXPORT unztell64 (unzFile file)
+{
+
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ if (file==NULL)
+ return (ZPOS64_T)-1;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return (ZPOS64_T)-1;
+
+ return pfile_in_zip_read_info->total_out_64;
+}
+
+
+/*
+ return 1 if the end of file was reached, 0 elsewhere
+*/
+extern int ZEXPORT unzeof (unzFile file)
+{
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_PARAMERROR;
+
+ if (pfile_in_zip_read_info->rest_read_uncompressed == 0)
+ return 1;
+ else
+ return 0;
+}
+
+
+
+/*
+Read extra field from the current file (opened by unzOpenCurrentFile)
+This is the local-header version of the extra field (sometimes, there is
+more info in the local-header version than in the central-header)
+
+ if buf==NULL, it return the size of the local extra field that can be read
+
+ if buf!=NULL, len is the size of the buffer, the extra header is copied in
+ buf.
+ the return value is the number of bytes copied in buf, or (if <0)
+ the error code
+*/
+extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
+{
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ uInt read_now;
+ ZPOS64_T size_to_read;
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_PARAMERROR;
+
+ size_to_read = (pfile_in_zip_read_info->size_local_extrafield -
+ pfile_in_zip_read_info->pos_local_extrafield);
+
+ if (buf==NULL)
+ return (int)size_to_read;
+
+ if (len>size_to_read)
+ read_now = (uInt)size_to_read;
+ else
+ read_now = (uInt)len ;
+
+ if (read_now==0)
+ return 0;
+
+ if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
+ pfile_in_zip_read_info->filestream,
+ pfile_in_zip_read_info->offset_local_extrafield +
+ pfile_in_zip_read_info->pos_local_extrafield,
+ ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return UNZ_ERRNO;
+
+ if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
+ pfile_in_zip_read_info->filestream,
+ buf,read_now)!=read_now)
+ return UNZ_ERRNO;
+
+ return (int)read_now;
+}
+
+/*
+ Close the file in zip opened with unzOpenCurrentFile
+ Return UNZ_CRCERROR if all the file was read but the CRC is not good
+*/
+extern int ZEXPORT unzCloseCurrentFile (unzFile file)
+{
+ int err=UNZ_OK;
+
+ unz64_s* s;
+ file_in_zip64_read_info_s* pfile_in_zip_read_info;
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ pfile_in_zip_read_info=s->pfile_in_zip_read;
+
+ if (pfile_in_zip_read_info==NULL)
+ return UNZ_PARAMERROR;
+
+
+ if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) &&
+ (!pfile_in_zip_read_info->raw))
+ {
+ if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait)
+ err=UNZ_CRCERROR;
+ }
+
+
+ TRYFREE(pfile_in_zip_read_info->read_buffer);
+ pfile_in_zip_read_info->read_buffer = NULL;
+ if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED)
+ inflateEnd(&pfile_in_zip_read_info->stream);
+#ifdef HAVE_BZIP2
+ else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED)
+ BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream);
+#endif
+
+
+ pfile_in_zip_read_info->stream_initialised = 0;
+ TRYFREE(pfile_in_zip_read_info);
+
+ s->pfile_in_zip_read=NULL;
+
+ return err;
+}
+
+
+/*
+ Get the global comment string of the ZipFile, in the szComment buffer.
+ uSizeBuf is the size of the szComment buffer.
+ return the number of byte copied or an error code <0
+*/
+extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf)
+{
+ unz64_s* s;
+ uLong uReadThis ;
+ if (file==NULL)
+ return (int)UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+
+ uReadThis = uSizeBuf;
+ if (uReadThis>s->gi.size_comment)
+ uReadThis = s->gi.size_comment;
+
+ if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return UNZ_ERRNO;
+
+ if (uReadThis>0)
+ {
+ *szComment='\0';
+ if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis)
+ return UNZ_ERRNO;
+ }
+
+ if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment))
+ *(szComment+s->gi.size_comment)='\0';
+ return (int)uReadThis;
+}
+
+/* Additions by RX '2004 */
+extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
+{
+ unz64_s* s;
+
+ if (file==NULL)
+ return 0; //UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+ if (!s->current_file_ok)
+ return 0;
+ if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff)
+ if (s->num_file==s->gi.number_entry)
+ return 0;
+ return s->pos_in_central_dir;
+}
+
+extern uLong ZEXPORT unzGetOffset (unzFile file)
+{
+ ZPOS64_T offset64;
+
+ if (file==NULL)
+ return 0; //UNZ_PARAMERROR;
+ offset64 = unzGetOffset64(file);
+ return (uLong)offset64;
+}
+
+extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
+{
+ unz64_s* s;
+ int err;
+
+ if (file==NULL)
+ return UNZ_PARAMERROR;
+ s=(unz64_s*)file;
+
+ s->pos_in_central_dir = pos;
+ s->num_file = s->gi.number_entry; /* hack */
+ err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
+ &s->cur_file_info_internal,
+ NULL,0,NULL,0,NULL,0);
+ s->current_file_ok = (err == UNZ_OK);
+ return err;
+}
+
+extern int ZEXPORT unzSetOffset (unzFile file, uLong pos)
+{
+ return unzSetOffset64(file,pos);
+}
diff --git a/src/thirdparty/zlib/minizip/unzip.h b/src/thirdparty/zlib/minizip/unzip.h
new file mode 100644
index 000000000..ecb9a58f2
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/unzip.h
@@ -0,0 +1,437 @@
+/* unzip.h -- IO for uncompress .zip files using zlib
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications of Unzip for Zip64
+ Copyright (C) 2007-2008 Even Rouault
+
+ Modifications for Zip64 support on both zip and unzip
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+ ---------------------------------------------------------------------------------
+
+ Condition of use and distribution are the same than zlib :
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ ---------------------------------------------------------------------------------
+
+ Changes
+
+ See header of unzip64.c
+
+*/
+
+#ifndef _unz64_H
+#define _unz64_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _ZLIB_H
+#include "../zlib.h"
+#endif
+
+#ifndef _ZLIBIOAPI_H
+#include "ioapi.h"
+#endif
+
+#ifdef HAVE_BZIP2
+#include "bzlib.h"
+#endif
+
+#define Z_BZIP2ED 12
+
+#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
+/* like the STRICT of WIN32, we define a pointer that cannot be converted
+ from (void*) without cast */
+typedef struct TagunzFile__ { int unused; } unzFile__;
+typedef unzFile__ *unzFile;
+#else
+typedef voidp unzFile;
+#endif
+
+
+#define UNZ_OK (0)
+#define UNZ_END_OF_LIST_OF_FILE (-100)
+#define UNZ_ERRNO (Z_ERRNO)
+#define UNZ_EOF (0)
+#define UNZ_PARAMERROR (-102)
+#define UNZ_BADZIPFILE (-103)
+#define UNZ_INTERNALERROR (-104)
+#define UNZ_CRCERROR (-105)
+
+/* tm_unz contain date/time info */
+typedef struct tm_unz_s
+{
+ uInt tm_sec; /* seconds after the minute - [0,59] */
+ uInt tm_min; /* minutes after the hour - [0,59] */
+ uInt tm_hour; /* hours since midnight - [0,23] */
+ uInt tm_mday; /* day of the month - [1,31] */
+ uInt tm_mon; /* months since January - [0,11] */
+ uInt tm_year; /* years - [1980..2044] */
+} tm_unz;
+
+/* unz_global_info structure contain global data about the ZIPfile
+ These data comes from the end of central dir */
+typedef struct unz_global_info64_s
+{
+ ZPOS64_T number_entry; /* total number of entries in
+ the central dir on this disk */
+ uLong size_comment; /* size of the global comment of the zipfile */
+} unz_global_info64;
+
+typedef struct unz_global_info_s
+{
+ uLong number_entry; /* total number of entries in
+ the central dir on this disk */
+ uLong size_comment; /* size of the global comment of the zipfile */
+} unz_global_info;
+
+/* unz_file_info contain information about a file in the zipfile */
+typedef struct unz_file_info64_s
+{
+ uLong version; /* version made by 2 bytes */
+ uLong version_needed; /* version needed to extract 2 bytes */
+ uLong flag; /* general purpose bit flag 2 bytes */
+ uLong compression_method; /* compression method 2 bytes */
+ uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
+ uLong crc; /* crc-32 4 bytes */
+ ZPOS64_T compressed_size; /* compressed size 8 bytes */
+ ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */
+ uLong size_filename; /* filename length 2 bytes */
+ uLong size_file_extra; /* extra field length 2 bytes */
+ uLong size_file_comment; /* file comment length 2 bytes */
+
+ uLong disk_num_start; /* disk number start 2 bytes */
+ uLong internal_fa; /* internal file attributes 2 bytes */
+ uLong external_fa; /* external file attributes 4 bytes */
+
+ tm_unz tmu_date;
+} unz_file_info64;
+
+typedef struct unz_file_info_s
+{
+ uLong version; /* version made by 2 bytes */
+ uLong version_needed; /* version needed to extract 2 bytes */
+ uLong flag; /* general purpose bit flag 2 bytes */
+ uLong compression_method; /* compression method 2 bytes */
+ uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
+ uLong crc; /* crc-32 4 bytes */
+ uLong compressed_size; /* compressed size 4 bytes */
+ uLong uncompressed_size; /* uncompressed size 4 bytes */
+ uLong size_filename; /* filename length 2 bytes */
+ uLong size_file_extra; /* extra field length 2 bytes */
+ uLong size_file_comment; /* file comment length 2 bytes */
+
+ uLong disk_num_start; /* disk number start 2 bytes */
+ uLong internal_fa; /* internal file attributes 2 bytes */
+ uLong external_fa; /* external file attributes 4 bytes */
+
+ tm_unz tmu_date;
+} unz_file_info;
+
+extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
+ const char* fileName2,
+ int iCaseSensitivity));
+/*
+ Compare two filename (fileName1,fileName2).
+ If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
+ If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
+ or strcasecmp)
+ If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
+ (like 1 on Unix, 2 on Windows)
+*/
+
+
+extern unzFile ZEXPORT unzOpen OF((const char *path));
+extern unzFile ZEXPORT unzOpen64 OF((const void *path));
+/*
+ Open a Zip file. path contain the full pathname (by example,
+ on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer
+ "zlib/zlib113.zip".
+ If the zipfile cannot be opened (file don't exist or in not valid), the
+ return value is NULL.
+ Else, the return value is a unzFile Handle, usable with other function
+ of this unzip package.
+ the "64" function take a const void* pointer, because the path is just the
+ value passed to the open64_file_func callback.
+ Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path
+ is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char*
+ does not describe the reality
+*/
+
+
+extern unzFile ZEXPORT unzOpen2 OF((const char *path,
+ zlib_filefunc_def* pzlib_filefunc_def));
+/*
+ Open a Zip file, like unzOpen, but provide a set of file low level API
+ for read/write the zip file (see ioapi.h)
+*/
+
+extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
+ zlib_filefunc64_def* pzlib_filefunc_def));
+/*
+ Open a Zip file, like unz64Open, but provide a set of file low level API
+ for read/write the zip file (see ioapi.h)
+*/
+
+extern int ZEXPORT unzClose OF((unzFile file));
+/*
+ Close a ZipFile opened with unzOpen.
+ If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
+ these files MUST be closed with unzCloseCurrentFile before call unzClose.
+ return UNZ_OK if there is no problem. */
+
+extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
+ unz_global_info *pglobal_info));
+
+extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file,
+ unz_global_info64 *pglobal_info));
+/*
+ Write info about the ZipFile in the *pglobal_info structure.
+ No preparation of the structure is needed
+ return UNZ_OK if there is no problem. */
+
+
+extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
+ char *szComment,
+ uLong uSizeBuf));
+/*
+ Get the global comment string of the ZipFile, in the szComment buffer.
+ uSizeBuf is the size of the szComment buffer.
+ return the number of byte copied or an error code <0
+*/
+
+
+/***************************************************************************/
+/* Unzip package allow you browse the directory of the zipfile */
+
+extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
+/*
+ Set the current file of the zipfile to the first file.
+ return UNZ_OK if there is no problem
+*/
+
+extern int ZEXPORT unzGoToNextFile OF((unzFile file));
+/*
+ Set the current file of the zipfile to the next file.
+ return UNZ_OK if there is no problem
+ return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
+*/
+
+extern int ZEXPORT unzLocateFile OF((unzFile file,
+ const char *szFileName,
+ int iCaseSensitivity));
+/*
+ Try locate the file szFileName in the zipfile.
+ For the iCaseSensitivity signification, see unzStringFileNameCompare
+
+ return value :
+ UNZ_OK if the file is found. It becomes the current file.
+ UNZ_END_OF_LIST_OF_FILE if the file is not found
+*/
+
+
+/* ****************************************** */
+/* Ryan supplied functions */
+/* unz_file_info contain information about a file in the zipfile */
+typedef struct unz_file_pos_s
+{
+ uLong pos_in_zip_directory; /* offset in zip file directory */
+ uLong num_of_file; /* # of file */
+} unz_file_pos;
+
+extern int ZEXPORT unzGetFilePos(
+ unzFile file,
+ unz_file_pos* file_pos);
+
+extern int ZEXPORT unzGoToFilePos(
+ unzFile file,
+ unz_file_pos* file_pos);
+
+typedef struct unz64_file_pos_s
+{
+ ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */
+ ZPOS64_T num_of_file; /* # of file */
+} unz64_file_pos;
+
+extern int ZEXPORT unzGetFilePos64(
+ unzFile file,
+ unz64_file_pos* file_pos);
+
+extern int ZEXPORT unzGoToFilePos64(
+ unzFile file,
+ const unz64_file_pos* file_pos);
+
+/* ****************************************** */
+
+extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file,
+ unz_file_info64 *pfile_info,
+ char *szFileName,
+ uLong fileNameBufferSize,
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+ uLong commentBufferSize));
+
+extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
+ unz_file_info *pfile_info,
+ char *szFileName,
+ uLong fileNameBufferSize,
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+ uLong commentBufferSize));
+/*
+ Get Info about the current file
+ if pfile_info!=NULL, the *pfile_info structure will contain somes info about
+ the current file
+ if szFileName!=NULL, the filemane string will be copied in szFileName
+ (fileNameBufferSize is the size of the buffer)
+ if extraField!=NULL, the extra field information will be copied in extraField
+ (extraFieldBufferSize is the size of the buffer).
+ This is the Central-header version of the extra field
+ if szComment!=NULL, the comment string of the file will be copied in szComment
+ (commentBufferSize is the size of the buffer)
+*/
+
+
+/** Addition for GDAL : START */
+
+extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file));
+
+/** Addition for GDAL : END */
+
+
+/***************************************************************************/
+/* for reading the content of the current zipfile, you can open it, read data
+ from it, and close it (you can close it before reading all the file)
+ */
+
+extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
+/*
+ Open for reading data the current file in the zipfile.
+ If there is no error, the return value is UNZ_OK.
+*/
+
+extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file,
+ const char* password));
+/*
+ Open for reading data the current file in the zipfile.
+ password is a crypting password
+ If there is no error, the return value is UNZ_OK.
+*/
+
+extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file,
+ int* method,
+ int* level,
+ int raw));
+/*
+ Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
+ if raw==1
+ *method will receive method of compression, *level will receive level of
+ compression
+ note : you can set level parameter as NULL (if you did not want known level,
+ but you CANNOT set method parameter as NULL
+*/
+
+extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file,
+ int* method,
+ int* level,
+ int raw,
+ const char* password));
+/*
+ Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
+ if raw==1
+ *method will receive method of compression, *level will receive level of
+ compression
+ note : you can set level parameter as NULL (if you did not want known level,
+ but you CANNOT set method parameter as NULL
+*/
+
+
+extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
+/*
+ Close the file in zip opened with unzOpenCurrentFile
+ Return UNZ_CRCERROR if all the file was read but the CRC is not good
+*/
+
+extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
+ voidp buf,
+ unsigned len));
+/*
+ Read bytes from the current file (opened by unzOpenCurrentFile)
+ buf contain buffer where data must be copied
+ len the size of buf.
+
+ return the number of byte copied if somes bytes are copied
+ return 0 if the end of file was reached
+ return <0 with error code if there is an error
+ (UNZ_ERRNO for IO error, or zLib error for uncompress error)
+*/
+
+extern z_off_t ZEXPORT unztell OF((unzFile file));
+
+extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file));
+/*
+ Give the current position in uncompressed data
+*/
+
+extern int ZEXPORT unzeof OF((unzFile file));
+/*
+ return 1 if the end of file was reached, 0 elsewhere
+*/
+
+extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
+ voidp buf,
+ unsigned len));
+/*
+ Read extra field from the current file (opened by unzOpenCurrentFile)
+ This is the local-header version of the extra field (sometimes, there is
+ more info in the local-header version than in the central-header)
+
+ if buf==NULL, it return the size of the local extra field
+
+ if buf!=NULL, len is the size of the buffer, the extra header is copied in
+ buf.
+ the return value is the number of bytes copied in buf, or (if <0)
+ the error code
+*/
+
+/***************************************************************************/
+
+/* Get the current file offset */
+extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file);
+extern uLong ZEXPORT unzGetOffset (unzFile file);
+
+/* Set the current file offset */
+extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos);
+extern int ZEXPORT unzSetOffset (unzFile file, uLong pos);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _unz64_H */
diff --git a/src/thirdparty/zlib/minizip/zip.c b/src/thirdparty/zlib/minizip/zip.c
new file mode 100644
index 000000000..44e88a9cb
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/zip.c
@@ -0,0 +1,2007 @@
+/* zip.c -- IO on .zip files using zlib
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+ Changes
+ Oct-2009 - Mathias Svensson - Remove old C style function prototypes
+ Oct-2009 - Mathias Svensson - Added Zip64 Support when creating new file archives
+ Oct-2009 - Mathias Svensson - Did some code cleanup and refactoring to get better overview of some functions.
+ Oct-2009 - Mathias Svensson - Added zipRemoveExtraInfoBlock to strip extra field data from its ZIP64 data
+ It is used when recreting zip archive with RAW when deleting items from a zip.
+ ZIP64 data is automatically added to items that needs it, and existing ZIP64 data need to be removed.
+ Oct-2009 - Mathias Svensson - Added support for BZIP2 as compression mode (bzip2 lib is required)
+ Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
+
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include "zlib.h"
+#include "zip.h"
+
+#ifdef STDC
+# include <stddef.h>
+# include <string.h>
+# include <stdlib.h>
+#endif
+#ifdef NO_ERRNO_H
+ extern int errno;
+#else
+# include <errno.h>
+#endif
+
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+#ifndef VERSIONMADEBY
+# define VERSIONMADEBY (0x0) /* platform depedent */
+#endif
+
+#ifndef Z_BUFSIZE
+#define Z_BUFSIZE (64*1024) //(16384)
+#endif
+
+#ifndef Z_MAXFILENAMEINZIP
+#define Z_MAXFILENAMEINZIP (256)
+#endif
+
+#ifndef ALLOC
+# define ALLOC(size) (malloc(size))
+#endif
+#ifndef TRYFREE
+# define TRYFREE(p) {if (p) free(p);}
+#endif
+
+/*
+#define SIZECENTRALDIRITEM (0x2e)
+#define SIZEZIPLOCALHEADER (0x1e)
+*/
+
+/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
+
+
+// NOT sure that this work on ALL platform
+#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32))
+
+#ifndef SEEK_CUR
+#define SEEK_CUR 1
+#endif
+
+#ifndef SEEK_END
+#define SEEK_END 2
+#endif
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+
+#ifndef DEF_MEM_LEVEL
+#if MAX_MEM_LEVEL >= 8
+# define DEF_MEM_LEVEL 8
+#else
+# define DEF_MEM_LEVEL MAX_MEM_LEVEL
+#endif
+#endif
+const char zip_copyright[] =" zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
+
+
+#define SIZEDATA_INDATABLOCK (4096-(4*4))
+
+#define LOCALHEADERMAGIC (0x04034b50)
+#define CENTRALHEADERMAGIC (0x02014b50)
+#define ENDHEADERMAGIC (0x06054b50)
+#define ZIP64ENDHEADERMAGIC (0x6064b50)
+#define ZIP64ENDLOCHEADERMAGIC (0x7064b50)
+
+#define FLAG_LOCALHEADER_OFFSET (0x06)
+#define CRC_LOCALHEADER_OFFSET (0x0e)
+
+#define SIZECENTRALHEADER (0x2e) /* 46 */
+
+typedef struct linkedlist_datablock_internal_s
+{
+ struct linkedlist_datablock_internal_s* next_datablock;
+ uLong avail_in_this_block;
+ uLong filled_in_this_block;
+ uLong unused; /* for future use and alignment */
+ unsigned char data[SIZEDATA_INDATABLOCK];
+} linkedlist_datablock_internal;
+
+typedef struct linkedlist_data_s
+{
+ linkedlist_datablock_internal* first_block;
+ linkedlist_datablock_internal* last_block;
+} linkedlist_data;
+
+
+typedef struct
+{
+ z_stream stream; /* zLib stream structure for inflate */
+#ifdef HAVE_BZIP2
+ bz_stream bstream; /* bzLib stream structure for bziped */
+#endif
+
+ int stream_initialised; /* 1 is stream is initialised */
+ uInt pos_in_buffered_data; /* last written byte in buffered_data */
+
+ ZPOS64_T pos_local_header; /* offset of the local header of the file
+ currenty writing */
+ char* central_header; /* central header data for the current file */
+ uLong size_centralExtra;
+ uLong size_centralheader; /* size of the central header for cur file */
+ uLong size_centralExtraFree; /* Extra bytes allocated to the centralheader but that are not used */
+ uLong flag; /* flag of the file currently writing */
+
+ int method; /* compression method of file currenty wr.*/
+ int raw; /* 1 for directly writing raw data */
+ Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/
+ uLong dosDate;
+ uLong crc32;
+ int encrypt;
+ int zip64; /* Add ZIP64 extened information in the extra field */
+ ZPOS64_T pos_zip64extrainfo;
+ ZPOS64_T totalCompressedData;
+ ZPOS64_T totalUncompressedData;
+#ifndef NOCRYPT
+ unsigned long keys[3]; /* keys defining the pseudo-random sequence */
+ const z_crc_t* pcrc_32_tab;
+ int crypt_header_size;
+#endif
+} curfile64_info;
+
+typedef struct
+{
+ zlib_filefunc64_32_def z_filefunc;
+ voidpf filestream; /* io structore of the zipfile */
+ linkedlist_data central_dir;/* datablock with central dir in construction*/
+ int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/
+ curfile64_info ci; /* info on the file curretly writing */
+
+ ZPOS64_T begin_pos; /* position of the beginning of the zipfile */
+ ZPOS64_T add_position_when_writing_offset;
+ ZPOS64_T number_entry;
+
+#ifndef NO_ADDFILEINEXISTINGZIP
+ char *globalcomment;
+#endif
+
+} zip64_internal;
+
+
+#ifndef NOCRYPT
+#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED
+#include "crypt.h"
+#endif
+
+local linkedlist_datablock_internal* allocate_new_datablock()
+{
+ linkedlist_datablock_internal* ldi;
+ ldi = (linkedlist_datablock_internal*)
+ ALLOC(sizeof(linkedlist_datablock_internal));
+ if (ldi!=NULL)
+ {
+ ldi->next_datablock = NULL ;
+ ldi->filled_in_this_block = 0 ;
+ ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ;
+ }
+ return ldi;
+}
+
+local void free_datablock(linkedlist_datablock_internal* ldi)
+{
+ while (ldi!=NULL)
+ {
+ linkedlist_datablock_internal* ldinext = ldi->next_datablock;
+ TRYFREE(ldi);
+ ldi = ldinext;
+ }
+}
+
+local void init_linkedlist(linkedlist_data* ll)
+{
+ ll->first_block = ll->last_block = NULL;
+}
+
+local void free_linkedlist(linkedlist_data* ll)
+{
+ free_datablock(ll->first_block);
+ ll->first_block = ll->last_block = NULL;
+}
+
+
+local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len)
+{
+ linkedlist_datablock_internal* ldi;
+ const unsigned char* from_copy;
+
+ if (ll==NULL)
+ return ZIP_INTERNALERROR;
+
+ if (ll->last_block == NULL)
+ {
+ ll->first_block = ll->last_block = allocate_new_datablock();
+ if (ll->first_block == NULL)
+ return ZIP_INTERNALERROR;
+ }
+
+ ldi = ll->last_block;
+ from_copy = (unsigned char*)buf;
+
+ while (len>0)
+ {
+ uInt copy_this;
+ uInt i;
+ unsigned char* to_copy;
+
+ if (ldi->avail_in_this_block==0)
+ {
+ ldi->next_datablock = allocate_new_datablock();
+ if (ldi->next_datablock == NULL)
+ return ZIP_INTERNALERROR;
+ ldi = ldi->next_datablock ;
+ ll->last_block = ldi;
+ }
+
+ if (ldi->avail_in_this_block < len)
+ copy_this = (uInt)ldi->avail_in_this_block;
+ else
+ copy_this = (uInt)len;
+
+ to_copy = &(ldi->data[ldi->filled_in_this_block]);
+
+ for (i=0;i<copy_this;i++)
+ *(to_copy+i)=*(from_copy+i);
+
+ ldi->filled_in_this_block += copy_this;
+ ldi->avail_in_this_block -= copy_this;
+ from_copy += copy_this ;
+ len -= copy_this;
+ }
+ return ZIP_OK;
+}
+
+
+
+/****************************************************************************/
+
+#ifndef NO_ADDFILEINEXISTINGZIP
+/* ===========================================================================
+ Inputs a long in LSB order to the given file
+ nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T)
+*/
+
+local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte));
+local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte)
+{
+ unsigned char buf[8];
+ int n;
+ for (n = 0; n < nbByte; n++)
+ {
+ buf[n] = (unsigned char)(x & 0xff);
+ x >>= 8;
+ }
+ if (x != 0)
+ { /* data overflow - hack for ZIP64 (X Roche) */
+ for (n = 0; n < nbByte; n++)
+ {
+ buf[n] = 0xff;
+ }
+ }
+
+ if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte)
+ return ZIP_ERRNO;
+ else
+ return ZIP_OK;
+}
+
+local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte));
+local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte)
+{
+ unsigned char* buf=(unsigned char*)dest;
+ int n;
+ for (n = 0; n < nbByte; n++) {
+ buf[n] = (unsigned char)(x & 0xff);
+ x >>= 8;
+ }
+
+ if (x != 0)
+ { /* data overflow - hack for ZIP64 */
+ for (n = 0; n < nbByte; n++)
+ {
+ buf[n] = 0xff;
+ }
+ }
+}
+
+/****************************************************************************/
+
+
+local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm)
+{
+ uLong year = (uLong)ptm->tm_year;
+ if (year>=1980)
+ year-=1980;
+ else if (year>=80)
+ year-=80;
+ return
+ (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) |
+ ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour));
+}
+
+
+/****************************************************************************/
+
+local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi));
+
+local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi)
+{
+ unsigned char c;
+ int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
+ if (err==1)
+ {
+ *pi = (int)c;
+ return ZIP_OK;
+ }
+ else
+ {
+ if (ZERROR64(*pzlib_filefunc_def,filestream))
+ return ZIP_ERRNO;
+ else
+ return ZIP_EOF;
+ }
+}
+
+
+/* ===========================================================================
+ Reads a long in LSB order from the given gz_stream. Sets
+*/
+local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
+
+local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
+{
+ uLong x ;
+ int i = 0;
+ int err;
+
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (uLong)i;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((uLong)i)<<8;
+
+ if (err==ZIP_OK)
+ *pX = x;
+ else
+ *pX = 0;
+ return err;
+}
+
+local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
+
+local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
+{
+ uLong x ;
+ int i = 0;
+ int err;
+
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (uLong)i;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((uLong)i)<<8;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((uLong)i)<<16;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((uLong)i)<<24;
+
+ if (err==ZIP_OK)
+ *pX = x;
+ else
+ *pX = 0;
+ return err;
+}
+
+local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX));
+
+
+local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)
+{
+ ZPOS64_T x;
+ int i = 0;
+ int err;
+
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x = (ZPOS64_T)i;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<8;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<16;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<24;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<32;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<40;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<48;
+
+ if (err==ZIP_OK)
+ err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
+ x += ((ZPOS64_T)i)<<56;
+
+ if (err==ZIP_OK)
+ *pX = x;
+ else
+ *pX = 0;
+
+ return err;
+}
+
+#ifndef BUFREADCOMMENT
+#define BUFREADCOMMENT (0x400)
+#endif
+/*
+ Locate the Central directory of a zipfile (at the end, just before
+ the global comment)
+*/
+local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
+
+local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
+{
+ unsigned char* buf;
+ ZPOS64_T uSizeFile;
+ ZPOS64_T uBackRead;
+ ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
+ ZPOS64_T uPosFound=0;
+
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
+ return 0;
+
+
+ uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
+
+ if (uMaxBack>uSizeFile)
+ uMaxBack = uSizeFile;
+
+ buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
+ if (buf==NULL)
+ return 0;
+
+ uBackRead = 4;
+ while (uBackRead<uMaxBack)
+ {
+ uLong uReadSize;
+ ZPOS64_T uReadPos ;
+ int i;
+ if (uBackRead+BUFREADCOMMENT>uMaxBack)
+ uBackRead = uMaxBack;
+ else
+ uBackRead+=BUFREADCOMMENT;
+ uReadPos = uSizeFile-uBackRead ;
+
+ uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
+ (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ break;
+
+ if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
+ break;
+
+ for (i=(int)uReadSize-3; (i--)>0;)
+ if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
+ ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
+ {
+ uPosFound = uReadPos+i;
+ break;
+ }
+
+ if (uPosFound!=0)
+ break;
+ }
+ TRYFREE(buf);
+ return uPosFound;
+}
+
+/*
+Locate the End of Zip64 Central directory locator and from there find the CD of a zipfile (at the end, just before
+the global comment)
+*/
+local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
+
+local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
+{
+ unsigned char* buf;
+ ZPOS64_T uSizeFile;
+ ZPOS64_T uBackRead;
+ ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
+ ZPOS64_T uPosFound=0;
+ uLong uL;
+ ZPOS64_T relativeOffset;
+
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
+ return 0;
+
+ uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
+
+ if (uMaxBack>uSizeFile)
+ uMaxBack = uSizeFile;
+
+ buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
+ if (buf==NULL)
+ return 0;
+
+ uBackRead = 4;
+ while (uBackRead<uMaxBack)
+ {
+ uLong uReadSize;
+ ZPOS64_T uReadPos;
+ int i;
+ if (uBackRead+BUFREADCOMMENT>uMaxBack)
+ uBackRead = uMaxBack;
+ else
+ uBackRead+=BUFREADCOMMENT;
+ uReadPos = uSizeFile-uBackRead ;
+
+ uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
+ (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
+ if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ break;
+
+ if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
+ break;
+
+ for (i=(int)uReadSize-3; (i--)>0;)
+ {
+ // Signature "0x07064b50" Zip64 end of central directory locater
+ if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
+ {
+ uPosFound = uReadPos+i;
+ break;
+ }
+ }
+
+ if (uPosFound!=0)
+ break;
+ }
+
+ TRYFREE(buf);
+ if (uPosFound == 0)
+ return 0;
+
+ /* Zip64 end of central directory locator */
+ if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return 0;
+
+ /* the signature, already checked */
+ if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
+ return 0;
+
+ /* number of the disk with the start of the zip64 end of central directory */
+ if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
+ return 0;
+ if (uL != 0)
+ return 0;
+
+ /* relative offset of the zip64 end of central directory record */
+ if (zip64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=ZIP_OK)
+ return 0;
+
+ /* total number of disks */
+ if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
+ return 0;
+ if (uL != 1)
+ return 0;
+
+ /* Goto Zip64 end of central directory record */
+ if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ return 0;
+
+ /* the signature */
+ if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
+ return 0;
+
+ if (uL != 0x06064b50) // signature of 'Zip64 end of central directory'
+ return 0;
+
+ return relativeOffset;
+}
+
+int LoadCentralDirectoryRecord(zip64_internal* pziinit)
+{
+ int err=ZIP_OK;
+ ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
+
+ ZPOS64_T size_central_dir; /* size of the central directory */
+ ZPOS64_T offset_central_dir; /* offset of start of central directory */
+ ZPOS64_T central_pos;
+ uLong uL;
+
+ uLong number_disk; /* number of the current dist, used for
+ spaning ZIP, unsupported, always 0*/
+ uLong number_disk_with_CD; /* number the the disk with central dir, used
+ for spaning ZIP, unsupported, always 0*/
+ ZPOS64_T number_entry;
+ ZPOS64_T number_entry_CD; /* total number of entries in
+ the central dir
+ (same than number_entry on nospan) */
+ uLong VersionMadeBy;
+ uLong VersionNeeded;
+ uLong size_comment;
+
+ int hasZIP64Record = 0;
+
+ // check first if we find a ZIP64 record
+ central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream);
+ if(central_pos > 0)
+ {
+ hasZIP64Record = 1;
+ }
+ else if(central_pos == 0)
+ {
+ central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream);
+ }
+
+/* disable to allow appending to empty ZIP archive
+ if (central_pos==0)
+ err=ZIP_ERRNO;
+*/
+
+ if(hasZIP64Record)
+ {
+ ZPOS64_T sizeEndOfCentralDirectory;
+ if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0)
+ err=ZIP_ERRNO;
+
+ /* the signature, already checked */
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* size of zip64 end of central directory record */
+ if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* version made by */
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* version needed to extract */
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* number of this disk */
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* number of the disk with the start of the central directory */
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* total number of entries in the central directory on this disk */
+ if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* total number of entries in the central directory */
+ if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
+ err=ZIP_BADZIPFILE;
+
+ /* size of the central directory */
+ if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* offset of start of central directory with respect to the
+ starting disk number */
+ if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ // TODO..
+ // read the comment from the standard central header.
+ size_comment = 0;
+ }
+ else
+ {
+ // Read End of central Directory info
+ if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err=ZIP_ERRNO;
+
+ /* the signature, already checked */
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* number of this disk */
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* number of the disk with the start of the central directory */
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
+ err=ZIP_ERRNO;
+
+ /* total number of entries in the central dir on this disk */
+ number_entry = 0;
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+ else
+ number_entry = uL;
+
+ /* total number of entries in the central dir */
+ number_entry_CD = 0;
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+ else
+ number_entry_CD = uL;
+
+ if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
+ err=ZIP_BADZIPFILE;
+
+ /* size of the central directory */
+ size_central_dir = 0;
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+ else
+ size_central_dir = uL;
+
+ /* offset of start of central directory with respect to the starting disk number */
+ offset_central_dir = 0;
+ if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
+ err=ZIP_ERRNO;
+ else
+ offset_central_dir = uL;
+
+
+ /* zipfile global comment length */
+ if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK)
+ err=ZIP_ERRNO;
+ }
+
+ if ((central_pos<offset_central_dir+size_central_dir) &&
+ (err==ZIP_OK))
+ err=ZIP_BADZIPFILE;
+
+ if (err!=ZIP_OK)
+ {
+ ZCLOSE64(pziinit->z_filefunc, pziinit->filestream);
+ return ZIP_ERRNO;
+ }
+
+ if (size_comment>0)
+ {
+ pziinit->globalcomment = (char*)ALLOC(size_comment+1);
+ if (pziinit->globalcomment)
+ {
+ size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment);
+ pziinit->globalcomment[size_comment]=0;
+ }
+ }
+
+ byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir);
+ pziinit->add_position_when_writing_offset = byte_before_the_zipfile;
+
+ {
+ ZPOS64_T size_central_dir_to_read = size_central_dir;
+ size_t buf_size = SIZEDATA_INDATABLOCK;
+ void* buf_read = (void*)ALLOC(buf_size);
+ if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0)
+ err=ZIP_ERRNO;
+
+ while ((size_central_dir_to_read>0) && (err==ZIP_OK))
+ {
+ ZPOS64_T read_this = SIZEDATA_INDATABLOCK;
+ if (read_this > size_central_dir_to_read)
+ read_this = size_central_dir_to_read;
+
+ if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this)
+ err=ZIP_ERRNO;
+
+ if (err==ZIP_OK)
+ err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this);
+
+ size_central_dir_to_read-=read_this;
+ }
+ TRYFREE(buf_read);
+ }
+ pziinit->begin_pos = byte_before_the_zipfile;
+ pziinit->number_entry = number_entry_CD;
+
+ if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0)
+ err=ZIP_ERRNO;
+
+ return err;
+}
+
+
+#endif /* !NO_ADDFILEINEXISTINGZIP*/
+
+
+/************************************************************/
+extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
+{
+ zip64_internal ziinit;
+ zip64_internal* zi;
+ int err=ZIP_OK;
+
+ ziinit.z_filefunc.zseek32_file = NULL;
+ ziinit.z_filefunc.ztell32_file = NULL;
+ if (pzlib_filefunc64_32_def==NULL)
+ fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64);
+ else
+ ziinit.z_filefunc = *pzlib_filefunc64_32_def;
+
+ ziinit.filestream = ZOPEN64(ziinit.z_filefunc,
+ pathname,
+ (append == APPEND_STATUS_CREATE) ?
+ (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :
+ (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));
+
+ if (ziinit.filestream == NULL)
+ return NULL;
+
+ if (append == APPEND_STATUS_CREATEAFTER)
+ ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END);
+
+ ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream);
+ ziinit.in_opened_file_inzip = 0;
+ ziinit.ci.stream_initialised = 0;
+ ziinit.number_entry = 0;
+ ziinit.add_position_when_writing_offset = 0;
+ init_linkedlist(&(ziinit.central_dir));
+
+
+
+ zi = (zip64_internal*)ALLOC(sizeof(zip64_internal));
+ if (zi==NULL)
+ {
+ ZCLOSE64(ziinit.z_filefunc,ziinit.filestream);
+ return NULL;
+ }
+
+ /* now we add file in a zipfile */
+# ifndef NO_ADDFILEINEXISTINGZIP
+ ziinit.globalcomment = NULL;
+ if (append == APPEND_STATUS_ADDINZIP)
+ {
+ // Read and Cache Central Directory Records
+ err = LoadCentralDirectoryRecord(&ziinit);
+ }
+
+ if (globalcomment)
+ {
+ *globalcomment = ziinit.globalcomment;
+ }
+# endif /* !NO_ADDFILEINEXISTINGZIP*/
+
+ if (err != ZIP_OK)
+ {
+# ifndef NO_ADDFILEINEXISTINGZIP
+ TRYFREE(ziinit.globalcomment);
+# endif /* !NO_ADDFILEINEXISTINGZIP*/
+ TRYFREE(zi);
+ return NULL;
+ }
+ else
+ {
+ *zi = ziinit;
+ return (zipFile)zi;
+ }
+}
+
+extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def)
+{
+ if (pzlib_filefunc32_def != NULL)
+ {
+ zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
+ fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
+ return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
+ }
+ else
+ return zipOpen3(pathname, append, globalcomment, NULL);
+}
+
+extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def)
+{
+ if (pzlib_filefunc_def != NULL)
+ {
+ zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
+ zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
+ zlib_filefunc64_32_def_fill.ztell32_file = NULL;
+ zlib_filefunc64_32_def_fill.zseek32_file = NULL;
+ return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
+ }
+ else
+ return zipOpen3(pathname, append, globalcomment, NULL);
+}
+
+
+
+extern zipFile ZEXPORT zipOpen (const char* pathname, int append)
+{
+ return zipOpen3((const void*)pathname,append,NULL,NULL);
+}
+
+extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append)
+{
+ return zipOpen3(pathname,append,NULL,NULL);
+}
+
+int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local)
+{
+ /* write the local header */
+ int err;
+ uInt size_filename = (uInt)strlen(filename);
+ uInt size_extrafield = size_extrafield_local;
+
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4);
+
+ if (err==ZIP_OK)
+ {
+ if(zi->ci.zip64)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */
+ }
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2);
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2);
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4);
+
+ // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */
+ if (err==ZIP_OK)
+ {
+ if(zi->ci.zip64)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */
+ }
+ if (err==ZIP_OK)
+ {
+ if(zi->ci.zip64)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */
+ }
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2);
+
+ if(zi->ci.zip64)
+ {
+ size_extrafield += 20;
+ }
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2);
+
+ if ((err==ZIP_OK) && (size_filename > 0))
+ {
+ if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename)
+ err = ZIP_ERRNO;
+ }
+
+ if ((err==ZIP_OK) && (size_extrafield_local > 0))
+ {
+ if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local)
+ err = ZIP_ERRNO;
+ }
+
+
+ if ((err==ZIP_OK) && (zi->ci.zip64))
+ {
+ // write the Zip64 extended info
+ short HeaderID = 1;
+ short DataSize = 16;
+ ZPOS64_T CompressedSize = 0;
+ ZPOS64_T UncompressedSize = 0;
+
+ // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file)
+ zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream);
+
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2);
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2);
+
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8);
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8);
+ }
+
+ return err;
+}
+
+/*
+ NOTE.
+ When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped
+ before calling this function it can be done with zipRemoveExtraInfoBlock
+
+ It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize
+ unnecessary allocations.
+ */
+extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw,
+ int windowBits,int memLevel, int strategy,
+ const char* password, uLong crcForCrypting,
+ uLong versionMadeBy, uLong flagBase, int zip64)
+{
+ zip64_internal* zi;
+ uInt size_filename;
+ uInt size_comment;
+ uInt i;
+ int err = ZIP_OK;
+
+# ifdef NOCRYPT
+ (crcForCrypting);
+ if (password != NULL)
+ return ZIP_PARAMERROR;
+# endif
+
+ if (file == NULL)
+ return ZIP_PARAMERROR;
+
+#ifdef HAVE_BZIP2
+ if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED))
+ return ZIP_PARAMERROR;
+#else
+ if ((method!=0) && (method!=Z_DEFLATED))
+ return ZIP_PARAMERROR;
+#endif
+
+ zi = (zip64_internal*)file;
+
+ if (zi->in_opened_file_inzip == 1)
+ {
+ err = zipCloseFileInZip (file);
+ if (err != ZIP_OK)
+ return err;
+ }
+
+ if (filename==NULL)
+ filename="-";
+
+ if (comment==NULL)
+ size_comment = 0;
+ else
+ size_comment = (uInt)strlen(comment);
+
+ size_filename = (uInt)strlen(filename);
+
+ if (zipfi == NULL)
+ zi->ci.dosDate = 0;
+ else
+ {
+ if (zipfi->dosDate != 0)
+ zi->ci.dosDate = zipfi->dosDate;
+ else
+ zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
+ }
+
+ zi->ci.flag = flagBase;
+ if ((level==8) || (level==9))
+ zi->ci.flag |= 2;
+ if (level==2)
+ zi->ci.flag |= 4;
+ if (level==1)
+ zi->ci.flag |= 6;
+ if (password != NULL)
+ zi->ci.flag |= 1;
+
+ zi->ci.crc32 = 0;
+ zi->ci.method = method;
+ zi->ci.encrypt = 0;
+ zi->ci.stream_initialised = 0;
+ zi->ci.pos_in_buffered_data = 0;
+ zi->ci.raw = raw;
+ zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream);
+
+ zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
+ zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data
+
+ zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree);
+
+ zi->ci.size_centralExtra = size_extrafield_global;
+ zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
+ /* version info */
+ zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
+ zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
+ zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
+ zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
+ zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
+ zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
+
+ if (zipfi==NULL)
+ zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
+ else
+ zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
+
+ if (zipfi==NULL)
+ zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
+ else
+ zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
+
+ if(zi->ci.pos_local_header >= 0xffffffff)
+ zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4);
+ else
+ zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writing_offset,4);
+
+ for (i=0;i<size_filename;i++)
+ *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
+
+ for (i=0;i<size_extrafield_global;i++)
+ *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
+ *(((const char*)extrafield_global)+i);
+
+ for (i=0;i<size_comment;i++)
+ *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
+ size_extrafield_global+i) = *(comment+i);
+ if (zi->ci.central_header == NULL)
+ return ZIP_INTERNALERROR;
+
+ zi->ci.zip64 = zip64;
+ zi->ci.totalCompressedData = 0;
+ zi->ci.totalUncompressedData = 0;
+ zi->ci.pos_zip64extrainfo = 0;
+
+ err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local);
+
+#ifdef HAVE_BZIP2
+ zi->ci.bstream.avail_in = (uInt)0;
+ zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
+ zi->ci.bstream.total_in_hi32 = 0;
+ zi->ci.bstream.total_in_lo32 = 0;
+ zi->ci.bstream.total_out_hi32 = 0;
+ zi->ci.bstream.total_out_lo32 = 0;
+#endif
+
+ zi->ci.stream.avail_in = (uInt)0;
+ zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.stream.next_out = zi->ci.buffered_data;
+ zi->ci.stream.total_in = 0;
+ zi->ci.stream.total_out = 0;
+ zi->ci.stream.data_type = Z_BINARY;
+
+#ifdef HAVE_BZIP2
+ if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
+#else
+ if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
+#endif
+ {
+ if(zi->ci.method == Z_DEFLATED)
+ {
+ zi->ci.stream.zalloc = (alloc_func)0;
+ zi->ci.stream.zfree = (free_func)0;
+ zi->ci.stream.opaque = (voidpf)0;
+
+ if (windowBits>0)
+ windowBits = -windowBits;
+
+ err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy);
+
+ if (err==Z_OK)
+ zi->ci.stream_initialised = Z_DEFLATED;
+ }
+ else if(zi->ci.method == Z_BZIP2ED)
+ {
+#ifdef HAVE_BZIP2
+ // Init BZip stuff here
+ zi->ci.bstream.bzalloc = 0;
+ zi->ci.bstream.bzfree = 0;
+ zi->ci.bstream.opaque = (voidpf)0;
+
+ err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35);
+ if(err == BZ_OK)
+ zi->ci.stream_initialised = Z_BZIP2ED;
+#endif
+ }
+
+ }
+
+# ifndef NOCRYPT
+ zi->ci.crypt_header_size = 0;
+ if ((err==Z_OK) && (password != NULL))
+ {
+ unsigned char bufHead[RAND_HEAD_LEN];
+ unsigned int sizeHead;
+ zi->ci.encrypt = 1;
+ zi->ci.pcrc_32_tab = get_crc_table();
+ /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/
+
+ sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting);
+ zi->ci.crypt_header_size = sizeHead;
+
+ if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead)
+ err = ZIP_ERRNO;
+ }
+# endif
+
+ if (err==Z_OK)
+ zi->in_opened_file_inzip = 1;
+ return err;
+}
+
+extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw,
+ int windowBits,int memLevel, int strategy,
+ const char* password, uLong crcForCrypting,
+ uLong versionMadeBy, uLong flagBase)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, raw,
+ windowBits, memLevel, strategy,
+ password, crcForCrypting, versionMadeBy, flagBase, 0);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw,
+ int windowBits,int memLevel, int strategy,
+ const char* password, uLong crcForCrypting)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, raw,
+ windowBits, memLevel, strategy,
+ password, crcForCrypting, VERSIONMADEBY, 0, 0);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw,
+ int windowBits,int memLevel, int strategy,
+ const char* password, uLong crcForCrypting, int zip64)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, raw,
+ windowBits, memLevel, strategy,
+ password, crcForCrypting, VERSIONMADEBY, 0, zip64);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, raw,
+ -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
+ NULL, 0, VERSIONMADEBY, 0, 0);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void* extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int raw, int zip64)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, raw,
+ -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
+ NULL, 0, VERSIONMADEBY, 0, zip64);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void*extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level, int zip64)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, 0,
+ -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
+ NULL, 0, VERSIONMADEBY, 0, zip64);
+}
+
+extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char* filename, const zip_fileinfo* zipfi,
+ const void* extrafield_local, uInt size_extrafield_local,
+ const void*extrafield_global, uInt size_extrafield_global,
+ const char* comment, int method, int level)
+{
+ return zipOpenNewFileInZip4_64 (file, filename, zipfi,
+ extrafield_local, size_extrafield_local,
+ extrafield_global, size_extrafield_global,
+ comment, method, level, 0,
+ -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
+ NULL, 0, VERSIONMADEBY, 0, 0);
+}
+
+local int zip64FlushWriteBuffer(zip64_internal* zi)
+{
+ int err=ZIP_OK;
+
+ if (zi->ci.encrypt != 0)
+ {
+#ifndef NOCRYPT
+ uInt i;
+ int t;
+ for (i=0;i<zi->ci.pos_in_buffered_data;i++)
+ zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t);
+#endif
+ }
+
+ if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data)
+ err = ZIP_ERRNO;
+
+ zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data;
+
+#ifdef HAVE_BZIP2
+ if(zi->ci.method == Z_BZIP2ED)
+ {
+ zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32;
+ zi->ci.bstream.total_in_lo32 = 0;
+ zi->ci.bstream.total_in_hi32 = 0;
+ }
+ else
+#endif
+ {
+ zi->ci.totalUncompressedData += zi->ci.stream.total_in;
+ zi->ci.stream.total_in = 0;
+ }
+
+
+ zi->ci.pos_in_buffered_data = 0;
+
+ return err;
+}
+
+extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned int len)
+{
+ zip64_internal* zi;
+ int err=ZIP_OK;
+
+ if (file == NULL)
+ return ZIP_PARAMERROR;
+ zi = (zip64_internal*)file;
+
+ if (zi->in_opened_file_inzip == 0)
+ return ZIP_PARAMERROR;
+
+ zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len);
+
+#ifdef HAVE_BZIP2
+ if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw))
+ {
+ zi->ci.bstream.next_in = (void*)buf;
+ zi->ci.bstream.avail_in = len;
+ err = BZ_RUN_OK;
+
+ while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0))
+ {
+ if (zi->ci.bstream.avail_out == 0)
+ {
+ if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
+ err = ZIP_ERRNO;
+ zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
+ }
+
+
+ if(err != BZ_RUN_OK)
+ break;
+
+ if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
+ {
+ uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32;
+// uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32;
+ err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN);
+
+ zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ;
+ }
+ }
+
+ if(err == BZ_RUN_OK)
+ err = ZIP_OK;
+ }
+ else
+#endif
+ {
+ zi->ci.stream.next_in = (Bytef*)buf;
+ zi->ci.stream.avail_in = len;
+
+ while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
+ {
+ if (zi->ci.stream.avail_out == 0)
+ {
+ if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
+ err = ZIP_ERRNO;
+ zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.stream.next_out = zi->ci.buffered_data;
+ }
+
+
+ if(err != ZIP_OK)
+ break;
+
+ if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
+ {
+ uLong uTotalOutBefore = zi->ci.stream.total_out;
+ err=deflate(&zi->ci.stream, Z_NO_FLUSH);
+ if(uTotalOutBefore > zi->ci.stream.total_out)
+ {
+ int bBreak = 0;
+ bBreak++;
+ }
+
+ zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
+ }
+ else
+ {
+ uInt copy_this,i;
+ if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
+ copy_this = zi->ci.stream.avail_in;
+ else
+ copy_this = zi->ci.stream.avail_out;
+
+ for (i = 0; i < copy_this; i++)
+ *(((char*)zi->ci.stream.next_out)+i) =
+ *(((const char*)zi->ci.stream.next_in)+i);
+ {
+ zi->ci.stream.avail_in -= copy_this;
+ zi->ci.stream.avail_out-= copy_this;
+ zi->ci.stream.next_in+= copy_this;
+ zi->ci.stream.next_out+= copy_this;
+ zi->ci.stream.total_in+= copy_this;
+ zi->ci.stream.total_out+= copy_this;
+ zi->ci.pos_in_buffered_data += copy_this;
+ }
+ }
+ }// while(...)
+ }
+
+ return err;
+}
+
+extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong crc32)
+{
+ return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32);
+}
+
+extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size, uLong crc32)
+{
+ zip64_internal* zi;
+ ZPOS64_T compressed_size;
+ uLong invalidValue = 0xffffffff;
+ short datasize = 0;
+ int err=ZIP_OK;
+
+ if (file == NULL)
+ return ZIP_PARAMERROR;
+ zi = (zip64_internal*)file;
+
+ if (zi->in_opened_file_inzip == 0)
+ return ZIP_PARAMERROR;
+ zi->ci.stream.avail_in = 0;
+
+ if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
+ {
+ while (err==ZIP_OK)
+ {
+ uLong uTotalOutBefore;
+ if (zi->ci.stream.avail_out == 0)
+ {
+ if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
+ err = ZIP_ERRNO;
+ zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.stream.next_out = zi->ci.buffered_data;
+ }
+ uTotalOutBefore = zi->ci.stream.total_out;
+ err=deflate(&zi->ci.stream, Z_FINISH);
+ zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
+ }
+ }
+ else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
+ {
+#ifdef HAVE_BZIP2
+ err = BZ_FINISH_OK;
+ while (err==BZ_FINISH_OK)
+ {
+ uLong uTotalOutBefore;
+ if (zi->ci.bstream.avail_out == 0)
+ {
+ if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
+ err = ZIP_ERRNO;
+ zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
+ zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
+ }
+ uTotalOutBefore = zi->ci.bstream.total_out_lo32;
+ err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH);
+ if(err == BZ_STREAM_END)
+ err = Z_STREAM_END;
+
+ zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore);
+ }
+
+ if(err == BZ_FINISH_OK)
+ err = ZIP_OK;
+#endif
+ }
+
+ if (err==Z_STREAM_END)
+ err=ZIP_OK; /* this is normal */
+
+ if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
+ {
+ if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO)
+ err = ZIP_ERRNO;
+ }
+
+ if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
+ {
+ int tmp_err = deflateEnd(&zi->ci.stream);
+ if (err == ZIP_OK)
+ err = tmp_err;
+ zi->ci.stream_initialised = 0;
+ }
+#ifdef HAVE_BZIP2
+ else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
+ {
+ int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
+ if (err==ZIP_OK)
+ err = tmperr;
+ zi->ci.stream_initialised = 0;
+ }
+#endif
+
+ if (!zi->ci.raw)
+ {
+ crc32 = (uLong)zi->ci.crc32;
+ uncompressed_size = zi->ci.totalUncompressedData;
+ }
+ compressed_size = zi->ci.totalCompressedData;
+
+# ifndef NOCRYPT
+ compressed_size += zi->ci.crypt_header_size;
+# endif
+
+ // update Current Item crc and sizes,
+ if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff)
+ {
+ /*version Made by*/
+ zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2);
+ /*version needed*/
+ zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2);
+
+ }
+
+ zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/
+
+
+ if(compressed_size >= 0xffffffff)
+ zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/
+ else
+ zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/
+
+ /// set internal file attributes field
+ if (zi->ci.stream.data_type == Z_ASCII)
+ zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2);
+
+ if(uncompressed_size >= 0xffffffff)
+ zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/
+ else
+ zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/
+
+ // Add ZIP64 extra info field for uncompressed size
+ if(uncompressed_size >= 0xffffffff)
+ datasize += 8;
+
+ // Add ZIP64 extra info field for compressed size
+ if(compressed_size >= 0xffffffff)
+ datasize += 8;
+
+ // Add ZIP64 extra info field for relative offset to local file header of current file
+ if(zi->ci.pos_local_header >= 0xffffffff)
+ datasize += 8;
+
+ if(datasize > 0)
+ {
+ char* p = NULL;
+
+ if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree)
+ {
+ // we can not write more data to the buffer that we have room for.
+ return ZIP_BADZIPFILE;
+ }
+
+ p = zi->ci.central_header + zi->ci.size_centralheader;
+
+ // Add Extra Information Header for 'ZIP64 information'
+ zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID
+ p += 2;
+ zip64local_putValue_inmemory(p, datasize, 2); // DataSize
+ p += 2;
+
+ if(uncompressed_size >= 0xffffffff)
+ {
+ zip64local_putValue_inmemory(p, uncompressed_size, 8);
+ p += 8;
+ }
+
+ if(compressed_size >= 0xffffffff)
+ {
+ zip64local_putValue_inmemory(p, compressed_size, 8);
+ p += 8;
+ }
+
+ if(zi->ci.pos_local_header >= 0xffffffff)
+ {
+ zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
+ p += 8;
+ }
+
+ // Update how much extra free space we got in the memory buffer
+ // and increase the centralheader size so the new ZIP64 fields are included
+ // ( 4 below is the size of HeaderID and DataSize field )
+ zi->ci.size_centralExtraFree -= datasize + 4;
+ zi->ci.size_centralheader += datasize + 4;
+
+ // Update the extra info size field
+ zi->ci.size_centralExtra += datasize + 4;
+ zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
+ }
+
+ if (err==ZIP_OK)
+ err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
+
+ free(zi->ci.central_header);
+
+ if (err==ZIP_OK)
+ {
+ // Update the LocalFileHeader with the new values.
+
+ ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
+
+ if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err = ZIP_ERRNO;
+
+ if (err==ZIP_OK)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
+
+ if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff )
+ {
+ if(zi->ci.pos_zip64extrainfo > 0)
+ {
+ // Update the size in the ZIP64 extended field.
+ if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err = ZIP_ERRNO;
+
+ if (err==ZIP_OK) /* compressed size, unknown */
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8);
+
+ if (err==ZIP_OK) /* uncompressed size, unknown */
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
+ }
+ else
+ err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal
+ }
+ else
+ {
+ if (err==ZIP_OK) /* compressed size, unknown */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4);
+
+ if (err==ZIP_OK) /* uncompressed size, unknown */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4);
+ }
+
+ if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0)
+ err = ZIP_ERRNO;
+ }
+
+ zi->number_entry ++;
+ zi->in_opened_file_inzip = 0;
+
+ return err;
+}
+
+extern int ZEXPORT zipCloseFileInZip (zipFile file)
+{
+ return zipCloseFileInZipRaw (file,0,0);
+}
+
+int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip)
+{
+ int err = ZIP_OK;
+ ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writing_offset;
+
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4);
+
+ /*num disks*/
+ if (err==ZIP_OK) /* number of the disk with the start of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
+
+ /*relative offset*/
+ if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8);
+
+ /*total disks*/ /* Do not support spawning of disk so always say 1 here*/
+ if (err==ZIP_OK) /* number of the disk with the start of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4);
+
+ return err;
+}
+
+int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
+{
+ int err = ZIP_OK;
+
+ uLong Zip64DataSize = 44;
+
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4);
+
+ if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ?
+
+ if (err==ZIP_OK) /* version made by */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
+
+ if (err==ZIP_OK) /* version needed */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
+
+ if (err==ZIP_OK) /* number of this disk */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
+
+ if (err==ZIP_OK) /* number of the disk with the start of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
+
+ if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
+
+ if (err==ZIP_OK) /* total number of entries in the central dir */
+ err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
+
+ if (err==ZIP_OK) /* size of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8);
+
+ if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
+ {
+ ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writing_offset;
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8);
+ }
+ return err;
+}
+int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
+{
+ int err = ZIP_OK;
+
+ /*signature*/
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4);
+
+ if (err==ZIP_OK) /* number of this disk */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
+
+ if (err==ZIP_OK) /* number of the disk with the start of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
+
+ if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
+ {
+ {
+ if(zi->number_entry >= 0xFFFF)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
+ }
+ }
+
+ if (err==ZIP_OK) /* total number of entries in the central dir */
+ {
+ if(zi->number_entry >= 0xFFFF)
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
+ }
+
+ if (err==ZIP_OK) /* size of the central directory */
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4);
+
+ if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
+ {
+ ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writing_offset;
+ if(pos >= 0xffffffff)
+ {
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4);
+ }
+ else
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writing_offset),4);
+ }
+
+ return err;
+}
+
+int Write_GlobalComment(zip64_internal* zi, const char* global_comment)
+{
+ int err = ZIP_OK;
+ uInt size_global_comment = 0;
+
+ if(global_comment != NULL)
+ size_global_comment = (uInt)strlen(global_comment);
+
+ err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2);
+
+ if (err == ZIP_OK && size_global_comment > 0)
+ {
+ if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment)
+ err = ZIP_ERRNO;
+ }
+ return err;
+}
+
+extern int ZEXPORT zipClose (zipFile file, const char* global_comment)
+{
+ zip64_internal* zi;
+ int err = 0;
+ uLong size_centraldir = 0;
+ ZPOS64_T centraldir_pos_inzip;
+ ZPOS64_T pos;
+
+ if (file == NULL)
+ return ZIP_PARAMERROR;
+
+ zi = (zip64_internal*)file;
+
+ if (zi->in_opened_file_inzip == 1)
+ {
+ err = zipCloseFileInZip (file);
+ }
+
+#ifndef NO_ADDFILEINEXISTINGZIP
+ if (global_comment==NULL)
+ global_comment = zi->globalcomment;
+#endif
+
+ centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
+
+ if (err==ZIP_OK)
+ {
+ linkedlist_datablock_internal* ldi = zi->central_dir.first_block;
+ while (ldi!=NULL)
+ {
+ if ((err==ZIP_OK) && (ldi->filled_in_this_block>0))
+ {
+ if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block)
+ err = ZIP_ERRNO;
+ }
+
+ size_centraldir += ldi->filled_in_this_block;
+ ldi = ldi->next_datablock;
+ }
+ }
+ free_linkedlist(&(zi->central_dir));
+
+ pos = centraldir_pos_inzip - zi->add_position_when_writing_offset;
+ if(pos >= 0xffffffff || zi->number_entry > 0xFFFF)
+ {
+ ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
+ Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
+
+ Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos);
+ }
+
+ if (err==ZIP_OK)
+ err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
+
+ if(err == ZIP_OK)
+ err = Write_GlobalComment(zi, global_comment);
+
+ if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0)
+ if (err == ZIP_OK)
+ err = ZIP_ERRNO;
+
+#ifndef NO_ADDFILEINEXISTINGZIP
+ TRYFREE(zi->globalcomment);
+#endif
+ TRYFREE(zi);
+
+ return err;
+}
+
+extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader)
+{
+ char* p = pData;
+ int size = 0;
+ char* pNewHeader;
+ char* pTmp;
+ short header;
+ short dataSize;
+
+ int retVal = ZIP_OK;
+
+ if(pData == NULL || *dataLen < 4)
+ return ZIP_PARAMERROR;
+
+ pNewHeader = (char*)ALLOC(*dataLen);
+ pTmp = pNewHeader;
+
+ while(p < (pData + *dataLen))
+ {
+ header = *(short*)p;
+ dataSize = *(((short*)p)+1);
+
+ if( header == sHeader ) // Header found.
+ {
+ p += dataSize + 4; // skip it. do not copy to temp buffer
+ }
+ else
+ {
+ // Extra Info block should not be removed, So copy it to the temp buffer.
+ memcpy(pTmp, p, dataSize + 4);
+ p += dataSize + 4;
+ size += dataSize + 4;
+ }
+
+ }
+
+ if(size < *dataLen)
+ {
+ // clean old extra info block.
+ memset(pData,0, *dataLen);
+
+ // copy the new extra info block over the old
+ if(size > 0)
+ memcpy(pData, pNewHeader, size);
+
+ // set the new extra info size
+ *dataLen = size;
+
+ retVal = ZIP_OK;
+ }
+ else
+ retVal = ZIP_ERRNO;
+
+ TRYFREE(pNewHeader);
+
+ return retVal;
+}
diff --git a/src/thirdparty/zlib/minizip/zip.h b/src/thirdparty/zlib/minizip/zip.h
new file mode 100644
index 000000000..8aaebb623
--- /dev/null
+++ b/src/thirdparty/zlib/minizip/zip.h
@@ -0,0 +1,362 @@
+/* zip.h -- IO on .zip files using zlib
+ Version 1.1, February 14h, 2010
+ part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+ Modifications for Zip64 support
+ Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+ For more info read MiniZip_info.txt
+
+ ---------------------------------------------------------------------------
+
+ Condition of use and distribution are the same than zlib :
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ ---------------------------------------------------------------------------
+
+ Changes
+
+ See header of zip.h
+
+*/
+
+#ifndef _zip12_H
+#define _zip12_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//#define HAVE_BZIP2
+
+#ifndef _ZLIB_H
+#include "zlib.h"
+#endif
+
+#ifndef _ZLIBIOAPI_H
+#include "ioapi.h"
+#endif
+
+#ifdef HAVE_BZIP2
+#include "bzlib.h"
+#endif
+
+#define Z_BZIP2ED 12
+
+#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
+/* like the STRICT of WIN32, we define a pointer that cannot be converted
+ from (void*) without cast */
+typedef struct TagzipFile__ { int unused; } zipFile__;
+typedef zipFile__ *zipFile;
+#else
+typedef voidp zipFile;
+#endif
+
+#define ZIP_OK (0)
+#define ZIP_EOF (0)
+#define ZIP_ERRNO (Z_ERRNO)
+#define ZIP_PARAMERROR (-102)
+#define ZIP_BADZIPFILE (-103)
+#define ZIP_INTERNALERROR (-104)
+
+#ifndef DEF_MEM_LEVEL
+# if MAX_MEM_LEVEL >= 8
+# define DEF_MEM_LEVEL 8
+# else
+# define DEF_MEM_LEVEL MAX_MEM_LEVEL
+# endif
+#endif
+/* default memLevel */
+
+/* tm_zip contain date/time info */
+typedef struct tm_zip_s
+{
+ uInt tm_sec; /* seconds after the minute - [0,59] */
+ uInt tm_min; /* minutes after the hour - [0,59] */
+ uInt tm_hour; /* hours since midnight - [0,23] */
+ uInt tm_mday; /* day of the month - [1,31] */
+ uInt tm_mon; /* months since January - [0,11] */
+ uInt tm_year; /* years - [1980..2044] */
+} tm_zip;
+
+typedef struct
+{
+ tm_zip tmz_date; /* date in understandable format */
+ uLong dosDate; /* if dos_date == 0, tmu_date is used */
+/* uLong flag; */ /* general purpose bit flag 2 bytes */
+
+ uLong internal_fa; /* internal file attributes 2 bytes */
+ uLong external_fa; /* external file attributes 4 bytes */
+} zip_fileinfo;
+
+typedef const char* zipcharpc;
+
+
+#define APPEND_STATUS_CREATE (0)
+#define APPEND_STATUS_CREATEAFTER (1)
+#define APPEND_STATUS_ADDINZIP (2)
+
+extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
+extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));
+/*
+ Create a zipfile.
+ pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on
+ an Unix computer "zlib/zlib113.zip".
+ if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip
+ will be created at the end of the file.
+ (useful if the file contain a self extractor code)
+ if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will
+ add files in existing zip (be sure you don't add file that doesn't exist)
+ If the zipfile cannot be opened, the return value is NULL.
+ Else, the return value is a zipFile Handle, usable with other function
+ of this zip package.
+*/
+
+/* Note : there is no delete function into a zipfile.
+ If you want delete file into a zipfile, you must open a zipfile, and create another
+ Of couse, you can use RAW reading and writing to copy the file you did not want delte
+*/
+
+extern zipFile ZEXPORT zipOpen2 OF((const char *pathname,
+ int append,
+ zipcharpc* globalcomment,
+ zlib_filefunc_def* pzlib_filefunc_def));
+
+extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname,
+ int append,
+ zipcharpc* globalcomment,
+ zlib_filefunc64_def* pzlib_filefunc_def));
+
+extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level));
+
+extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int zip64));
+
+/*
+ Open a file in the ZIP for writing.
+ filename : the filename in zip (if NULL, '-' without quote will be used
+ *zipfi contain supplemental information
+ if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
+ contains the extrafield data the the local header
+ if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
+ contains the extrafield data the the local header
+ if comment != NULL, comment contain the comment string
+ method contain the compression method (0 for store, Z_DEFLATED for deflate)
+ level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
+ zip64 is set to 1 if a zip64 extended information block should be added to the local file header.
+ this MUST be '1' if the uncompressed size is >= 0xffffffff.
+
+*/
+
+
+extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw));
+
+
+extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw,
+ int zip64));
+/*
+ Same than zipOpenNewFileInZip, except if raw=1, we write raw file
+ */
+
+extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw,
+ int windowBits,
+ int memLevel,
+ int strategy,
+ const char* password,
+ uLong crcForCrypting));
+
+extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw,
+ int windowBits,
+ int memLevel,
+ int strategy,
+ const char* password,
+ uLong crcForCrypting,
+ int zip64
+ ));
+
+/*
+ Same than zipOpenNewFileInZip2, except
+ windowBits,memLevel,,strategy : see parameter strategy in deflateInit2
+ password : crypting password (NULL for no crypting)
+ crcForCrypting : crc of file to compress (needed for crypting)
+ */
+
+extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw,
+ int windowBits,
+ int memLevel,
+ int strategy,
+ const char* password,
+ uLong crcForCrypting,
+ uLong versionMadeBy,
+ uLong flagBase
+ ));
+
+
+extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file,
+ const char* filename,
+ const zip_fileinfo* zipfi,
+ const void* extrafield_local,
+ uInt size_extrafield_local,
+ const void* extrafield_global,
+ uInt size_extrafield_global,
+ const char* comment,
+ int method,
+ int level,
+ int raw,
+ int windowBits,
+ int memLevel,
+ int strategy,
+ const char* password,
+ uLong crcForCrypting,
+ uLong versionMadeBy,
+ uLong flagBase,
+ int zip64
+ ));
+/*
+ Same than zipOpenNewFileInZip4, except
+ versionMadeBy : value for Version made by field
+ flag : value for flag field (compression level info will be added)
+ */
+
+
+extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
+ const void* buf,
+ unsigned len));
+/*
+ Write data in the zipfile
+*/
+
+extern int ZEXPORT zipCloseFileInZip OF((zipFile file));
+/*
+ Close the current file in the zipfile
+*/
+
+extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
+ uLong uncompressed_size,
+ uLong crc32));
+
+extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file,
+ ZPOS64_T uncompressed_size,
+ uLong crc32));
+
+/*
+ Close the current file in the zipfile, for file opened with
+ parameter raw=1 in zipOpenNewFileInZip2
+ uncompressed_size and crc32 are value for the uncompressed size
+*/
+
+extern int ZEXPORT zipClose OF((zipFile file,
+ const char* global_comment));
+/*
+ Close the zipfile
+*/
+
+
+extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader));
+/*
+ zipRemoveExtraInfoBlock - Added by Mathias Svensson
+
+ Remove extra information block from a extra information data for the local file header or central directory header
+
+ It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode.
+
+ 0x0001 is the signature header for the ZIP64 extra information blocks
+
+ usage.
+ Remove ZIP64 Extra information from a central director extra field data
+ zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001);
+
+ Remove ZIP64 Extra information from a Local File Header extra field data
+ zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001);
+*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _zip64_H */
diff --git a/src/thirdparty/zlib/trees.c b/src/thirdparty/zlib/trees.c
index 1fd7759ef..50cf4b457 100644
--- a/src/thirdparty/zlib/trees.c
+++ b/src/thirdparty/zlib/trees.c
@@ -1,5 +1,5 @@
/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-2012 Jean-loup Gailly
+ * Copyright (C) 1995-2017 Jean-loup Gailly
* detect_data_type() function provided freely by Cosmin Truta, 2006
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -36,7 +36,7 @@
#include "deflate.h"
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
# include <ctype.h>
#endif
@@ -122,13 +122,13 @@ struct static_tree_desc_s {
int max_length; /* max bit length for the codes */
};
-local static_tree_desc static_l_desc =
+local const static_tree_desc static_l_desc =
{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-local static_tree_desc static_d_desc =
+local const static_tree_desc static_d_desc =
{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-local static_tree_desc static_bl_desc =
+local const static_tree_desc static_bl_desc =
{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
/* ===========================================================================
@@ -152,18 +152,16 @@ local int detect_data_type OF((deflate_state *s));
local unsigned bi_reverse OF((unsigned value, int length));
local void bi_windup OF((deflate_state *s));
local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
#ifdef GEN_TREES_H
local void gen_trees_header OF((void));
#endif
-#ifndef DEBUG
+#ifndef ZLIB_DEBUG
# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
/* Send a code of the given tree. c and tree must not have side effects */
-#else /* DEBUG */
+#else /* !ZLIB_DEBUG */
# define send_code(s, c, tree) \
{ if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
send_bits(s, tree[c].Code, tree[c].Len); }
@@ -182,7 +180,7 @@ local void gen_trees_header OF((void));
* Send a value on a given number of bits.
* IN assertion: length <= 16 and value fits in length bits.
*/
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
local void send_bits OF((deflate_state *s, int value, int length));
local void send_bits(s, value, length)
@@ -208,12 +206,12 @@ local void send_bits(s, value, length)
s->bi_valid += length;
}
}
-#else /* !DEBUG */
+#else /* !ZLIB_DEBUG */
#define send_bits(s, value, length) \
{ int len = length;\
if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
+ int val = (int)value;\
s->bi_buf |= (ush)val << s->bi_valid;\
put_short(s, s->bi_buf);\
s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
@@ -223,7 +221,7 @@ local void send_bits(s, value, length)
s->bi_valid += len;\
}\
}
-#endif /* DEBUG */
+#endif /* ZLIB_DEBUG */
/* the arguments must not have side effects */
@@ -317,7 +315,7 @@ local void tr_static_init()
* Genererate the file trees.h describing the static trees.
*/
#ifdef GEN_TREES_H
-# ifndef DEBUG
+# ifndef ZLIB_DEBUG
# include <stdio.h>
# endif
@@ -394,7 +392,7 @@ void ZLIB_INTERNAL _tr_init(s)
s->bi_buf = 0;
s->bi_valid = 0;
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->compressed_len = 0L;
s->bits_sent = 0L;
#endif
@@ -522,12 +520,12 @@ local void gen_bitlen(s, desc)
xbits = 0;
if (n >= base) xbits = extra[n-base];
f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
+ s->opt_len += (ulg)f * (unsigned)(bits + xbits);
+ if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
}
if (overflow == 0) return;
- Trace((stderr,"\nbit length overflow\n"));
+ Tracev((stderr,"\nbit length overflow\n"));
/* This happens for example on obj2 and pic of the Calgary corpus */
/* Find the first bit length which could increase: */
@@ -554,9 +552,8 @@ local void gen_bitlen(s, desc)
m = s->heap[--h];
if (m > max_code) continue;
if ((unsigned) tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
+ Tracev((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+ s->opt_len += ((ulg)bits - tree[m].Len) * tree[m].Freq;
tree[m].Len = (ush)bits;
}
n--;
@@ -578,7 +575,7 @@ local void gen_codes (tree, max_code, bl_count)
ushf *bl_count; /* number of codes at each bit length */
{
ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
+ unsigned code = 0; /* running code value */
int bits; /* bit index */
int n; /* code index */
@@ -586,7 +583,8 @@ local void gen_codes (tree, max_code, bl_count)
* without bit reversal.
*/
for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+ code = (code + bl_count[bits-1]) << 1;
+ next_code[bits] = (ush)code;
}
/* Check that the bit counts in bl_count are consistent. The last code
* must be all ones.
@@ -599,7 +597,7 @@ local void gen_codes (tree, max_code, bl_count)
int len = tree[n].Len;
if (len == 0) continue;
/* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
+ tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
@@ -821,7 +819,7 @@ local int build_bl_tree(s)
if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
}
/* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
+ s->opt_len += 3*((ulg)max_blindex+1) + 5+5+4;
Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
s->opt_len, s->static_len));
@@ -869,11 +867,17 @@ void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
int last; /* one if this is the last block for a file */
{
send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */
-#ifdef DEBUG
+ bi_windup(s); /* align on byte boundary */
+ put_short(s, (ush)stored_len);
+ put_short(s, (ush)~stored_len);
+ zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
+ s->pending += stored_len;
+#ifdef ZLIB_DEBUG
s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
s->compressed_len += (stored_len + 4) << 3;
+ s->bits_sent += 2*16;
+ s->bits_sent += stored_len<<3;
#endif
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
}
/* ===========================================================================
@@ -894,7 +898,7 @@ void ZLIB_INTERNAL _tr_align(s)
{
send_bits(s, STATIC_TREES<<1, 3);
send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
#endif
bi_flush(s);
@@ -902,7 +906,7 @@ void ZLIB_INTERNAL _tr_align(s)
/* ===========================================================================
* Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file.
+ * trees or store, and write out the encoded block.
*/
void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
deflate_state *s;
@@ -974,7 +978,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
send_bits(s, (STATIC_TREES<<1)+last, 3);
compress_block(s, (const ct_data *)static_ltree,
(const ct_data *)static_dtree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->compressed_len += 3 + s->static_len;
#endif
} else {
@@ -983,7 +987,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
max_blindex+1);
compress_block(s, (const ct_data *)s->dyn_ltree,
(const ct_data *)s->dyn_dtree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->compressed_len += 3 + s->opt_len;
#endif
}
@@ -995,7 +999,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
if (last) {
bi_windup(s);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->compressed_len += 7; /* align on byte boundary */
#endif
}
@@ -1090,7 +1094,7 @@ local void compress_block(s, ltree, dtree)
send_code(s, code, dtree); /* send the distance code */
extra = extra_dbits[code];
if (extra != 0) {
- dist -= base_dist[code];
+ dist -= (unsigned)base_dist[code];
send_bits(s, dist, extra); /* send the extra distance bits */
}
} /* literal or match pair ? */
@@ -1193,34 +1197,7 @@ local void bi_windup(s)
}
s->bi_buf = 0;
s->bi_valid = 0;
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
s->bits_sent = (s->bits_sent+7) & ~7;
#endif
}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG
- s->bits_sent += (ulg)len<<3;
-#endif
- while (len--) {
- put_byte(s, *buf++);
- }
-}
diff --git a/src/thirdparty/zlib/uncompr.c b/src/thirdparty/zlib/uncompr.c
index 242e9493d..f03a1a865 100644
--- a/src/thirdparty/zlib/uncompr.c
+++ b/src/thirdparty/zlib/uncompr.c
@@ -1,5 +1,5 @@
/* uncompr.c -- decompress a memory buffer
- * Copyright (C) 1995-2003, 2010 Jean-loup Gailly.
+ * Copyright (C) 1995-2003, 2010, 2014, 2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -9,51 +9,85 @@
#include "zlib.h"
/* ===========================================================================
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
+ Decompresses the source buffer into the destination buffer. *sourceLen is
+ the byte length of the source buffer. Upon entry, *destLen is the total size
+ of the destination buffer, which must be large enough to hold the entire
+ uncompressed data. (The size of the uncompressed data must have been saved
+ previously by the compressor and transmitted to the decompressor by some
+ mechanism outside the scope of this compression library.) Upon exit,
+ *destLen is the size of the decompressed data and *sourceLen is the number
+ of source bytes consumed. Upon return, source + *sourceLen points to the
+ first unused input byte.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
+ Z_DATA_ERROR if the input data was corrupted, including if the input data is
+ an incomplete zlib stream.
*/
-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
+int ZEXPORT uncompress2 (dest, destLen, source, sourceLen)
Bytef *dest;
uLongf *destLen;
const Bytef *source;
- uLong sourceLen;
+ uLong *sourceLen;
{
z_stream stream;
int err;
+ const uInt max = (uInt)-1;
+ uLong len, left;
+ Byte buf[1]; /* for detection of incomplete stream when *destLen == 0 */
- stream.next_in = (z_const Bytef *)source;
- stream.avail_in = (uInt)sourceLen;
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
+ len = *sourceLen;
+ if (*destLen) {
+ left = *destLen;
+ *destLen = 0;
+ }
+ else {
+ left = 1;
+ dest = buf;
+ }
+ stream.next_in = (z_const Bytef *)source;
+ stream.avail_in = 0;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
+ stream.opaque = (voidpf)0;
err = inflateInit(&stream);
if (err != Z_OK) return err;
- err = inflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- inflateEnd(&stream);
- if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
- return Z_DATA_ERROR;
- return err;
- }
- *destLen = stream.total_out;
+ stream.next_out = dest;
+ stream.avail_out = 0;
- err = inflateEnd(&stream);
- return err;
+ do {
+ if (stream.avail_out == 0) {
+ stream.avail_out = left > (uLong)max ? max : (uInt)left;
+ left -= stream.avail_out;
+ }
+ if (stream.avail_in == 0) {
+ stream.avail_in = len > (uLong)max ? max : (uInt)len;
+ len -= stream.avail_in;
+ }
+ err = inflate(&stream, Z_NO_FLUSH);
+ } while (err == Z_OK);
+
+ *sourceLen -= len + stream.avail_in;
+ if (dest != buf)
+ *destLen = stream.total_out;
+ else if (stream.total_out && err == Z_BUF_ERROR)
+ left = 1;
+
+ inflateEnd(&stream);
+ return err == Z_STREAM_END ? Z_OK :
+ err == Z_NEED_DICT ? Z_DATA_ERROR :
+ err == Z_BUF_ERROR && left + stream.avail_out ? Z_DATA_ERROR :
+ err;
+}
+
+int ZEXPORT uncompress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+ uLong sourceLen;
+{
+ return uncompress2(dest, destLen, source, &sourceLen);
}
diff --git a/src/thirdparty/zlib/zconf.h b/src/thirdparty/zlib/zconf.h
index 9987a7755..5e1d68a00 100644
--- a/src/thirdparty/zlib/zconf.h
+++ b/src/thirdparty/zlib/zconf.h
@@ -1,5 +1,5 @@
/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -17,7 +17,7 @@
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
# define Z_PREFIX_SET
-/* all linked symbols */
+/* all linked symbols and init macros */
# define _dist_code z__dist_code
# define _length_code z__length_code
# define _tr_align z__tr_align
@@ -29,6 +29,7 @@
# define adler32 z_adler32
# define adler32_combine z_adler32_combine
# define adler32_combine64 z_adler32_combine64
+# define adler32_z z_adler32_z
# ifndef Z_SOLO
# define compress z_compress
# define compress2 z_compress2
@@ -37,10 +38,14 @@
# define crc32 z_crc32
# define crc32_combine z_crc32_combine
# define crc32_combine64 z_crc32_combine64
+# define crc32_z z_crc32_z
# define deflate z_deflate
# define deflateBound z_deflateBound
# define deflateCopy z_deflateCopy
# define deflateEnd z_deflateEnd
+# define deflateGetDictionary z_deflateGetDictionary
+# define deflateInit z_deflateInit
+# define deflateInit2 z_deflateInit2
# define deflateInit2_ z_deflateInit2_
# define deflateInit_ z_deflateInit_
# define deflateParams z_deflateParams
@@ -67,6 +72,8 @@
# define gzeof z_gzeof
# define gzerror z_gzerror
# define gzflush z_gzflush
+# define gzfread z_gzfread
+# define gzfwrite z_gzfwrite
# define gzgetc z_gzgetc
# define gzgetc_ z_gzgetc_
# define gzgets z_gzgets
@@ -78,7 +85,6 @@
# define gzopen_w z_gzopen_w
# endif
# define gzprintf z_gzprintf
-# define gzvprintf z_gzvprintf
# define gzputc z_gzputc
# define gzputs z_gzputs
# define gzread z_gzread
@@ -89,32 +95,39 @@
# define gztell z_gztell
# define gztell64 z_gztell64
# define gzungetc z_gzungetc
+# define gzvprintf z_gzvprintf
# define gzwrite z_gzwrite
# endif
# define inflate z_inflate
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
+# define inflateBackInit z_inflateBackInit
# define inflateBackInit_ z_inflateBackInit_
+# define inflateCodesUsed z_inflateCodesUsed
# define inflateCopy z_inflateCopy
# define inflateEnd z_inflateEnd
+# define inflateGetDictionary z_inflateGetDictionary
# define inflateGetHeader z_inflateGetHeader
+# define inflateInit z_inflateInit
+# define inflateInit2 z_inflateInit2
# define inflateInit2_ z_inflateInit2_
# define inflateInit_ z_inflateInit_
# define inflateMark z_inflateMark
# define inflatePrime z_inflatePrime
# define inflateReset z_inflateReset
# define inflateReset2 z_inflateReset2
+# define inflateResetKeep z_inflateResetKeep
# define inflateSetDictionary z_inflateSetDictionary
-# define inflateGetDictionary z_inflateGetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateUndermine z_inflateUndermine
-# define inflateResetKeep z_inflateResetKeep
+# define inflateValidate z_inflateValidate
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
# ifndef Z_SOLO
# define uncompress z_uncompress
+# define uncompress2 z_uncompress2
# endif
# define zError z_zError
# ifndef Z_SOLO
@@ -224,9 +237,19 @@
# define z_const
#endif
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
+#ifdef Z_SOLO
+ typedef unsigned long z_size_t;
+#else
+# define z_longlong long long
+# if defined(NO_SIZE_T)
+ typedef unsigned NO_SIZE_T z_size_t;
+# elif defined(STDC)
+# include <stddef.h>
+ typedef size_t z_size_t;
+# else
+ typedef unsigned long z_size_t;
+# endif
+# undef z_longlong
#endif
/* Maximum value for memLevel in deflateInit2 */
@@ -256,7 +279,7 @@
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
for small objects.
*/
diff --git a/src/thirdparty/zlib/zlib.h b/src/thirdparty/zlib/zlib.h
index 3e0c7672a..f09cdaf1e 100644
--- a/src/thirdparty/zlib/zlib.h
+++ b/src/thirdparty/zlib/zlib.h
@@ -1,7 +1,7 @@
/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.8, April 28th, 2013
+ version 1.2.11, January 15th, 2017
- Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -37,11 +37,11 @@
extern "C" {
#endif
-#define ZLIB_VERSION "1.2.8"
-#define ZLIB_VERNUM 0x1280
+#define ZLIB_VERSION "1.2.11"
+#define ZLIB_VERNUM 0x12b0
#define ZLIB_VER_MAJOR 1
#define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 8
+#define ZLIB_VER_REVISION 11
#define ZLIB_VER_SUBREVISION 0
/*
@@ -65,7 +65,8 @@ extern "C" {
with "gz". The gzip format is different from the zlib format. gzip is a
gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
- This library can optionally read and write gzip streams in memory as well.
+ This library can optionally read and write gzip and raw deflate streams in
+ memory as well.
The zlib format was designed to be compact and fast for use in memory
and on communications channels. The gzip format was designed for single-
@@ -74,7 +75,7 @@ extern "C" {
The library does not install any signal handler. The decoder checks
the consistency of the compressed data, so the library should never crash
- even in case of corrupted input.
+ even in the case of corrupted input.
*/
typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
@@ -87,7 +88,7 @@ typedef struct z_stream_s {
uInt avail_in; /* number of bytes available at next_in */
uLong total_in; /* total number of input bytes read so far */
- Bytef *next_out; /* next output byte should be put there */
+ Bytef *next_out; /* next output byte will go here */
uInt avail_out; /* remaining free space at next_out */
uLong total_out; /* total number of bytes output so far */
@@ -98,8 +99,9 @@ typedef struct z_stream_s {
free_func zfree; /* used to free the internal state */
voidpf opaque; /* private data object passed to zalloc and zfree */
- int data_type; /* best guess about the data type: binary or text */
- uLong adler; /* adler32 value of the uncompressed data */
+ int data_type; /* best guess about the data type: binary or text
+ for deflate, or the decoding state for inflate */
+ uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */
uLong reserved; /* reserved for future use */
} z_stream;
@@ -142,7 +144,9 @@ typedef gz_header FAR *gz_headerp;
zalloc must return Z_NULL if there is not enough memory for the object.
If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
+ thread safe. In that case, zlib is thread-safe. When zalloc and zfree are
+ Z_NULL on entry to the initialization function, they are set to internal
+ routines that use the standard library functions malloc() and free().
On 16-bit systems, the functions zalloc and zfree must be able to allocate
exactly 65536 bytes, but will not be required to allocate more than this if
@@ -155,7 +159,7 @@ typedef gz_header FAR *gz_headerp;
The fields total_in and total_out can be used for statistics or progress
reports. After compression, total_in holds the total size of the
- uncompressed data and may be saved for use in the decompressor (particularly
+ uncompressed data and may be saved for use by the decompressor (particularly
if the decompressor wants to decompress everything in a single step).
*/
@@ -200,7 +204,7 @@ typedef gz_header FAR *gz_headerp;
#define Z_TEXT 1
#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
+/* Possible values of the data_type field for deflate() */
#define Z_DEFLATED 8
/* The deflate compression method (the only one supported in this version) */
@@ -258,11 +262,11 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
enough room in the output buffer), next_in and avail_in are updated and
processing will resume at this point for the next call of deflate().
- - Provide more output starting at next_out and update next_out and avail_out
+ - Generate more output starting at next_out and update next_out and avail_out
accordingly. This action is forced if the parameter flush is non zero.
Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications). Some
- output may be provided even if flush is not set.
+ should be set only when necessary. Some output may be provided even if
+ flush is zero.
Before the call of deflate(), the application should ensure that at least
one of the actions is possible, by providing more input and/or consuming more
@@ -271,7 +275,9 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
output when it wants, for example when the output buffer is full (avail_out
== 0), or after each call of deflate(). If deflate returns Z_OK and with
zero avail_out, it must be called again after making room in the output
- buffer because there might be more output pending.
+ buffer because there might be more output pending. See deflatePending(),
+ which can be used if desired to determine whether or not there is more ouput
+ in that case.
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
decide how much data to accumulate before producing output, in order to
@@ -292,8 +298,8 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
This completes the current deflate block and follows it with an empty fixed
codes block that is 10 bits long. This assures that enough bytes are output
- in order for the decompressor to finish the block before the empty fixed code
- block.
+ in order for the decompressor to finish the block before the empty fixed
+ codes block.
If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
@@ -319,34 +325,38 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
If the parameter flush is set to Z_FINISH, pending input is processed,
pending output is flushed and deflate returns with Z_STREAM_END if there was
- enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the stream
- are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least the
- value returned by deflateBound (see below). Then deflate is guaranteed to
- return Z_STREAM_END. If not enough output space is provided, deflate will
- not return Z_STREAM_END, and it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
+ enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this
+ function must be called again with Z_FINISH and more output space (updated
+ avail_out) but no more input data, until it returns with Z_STREAM_END or an
+ error. After deflate has returned Z_STREAM_END, the only possible operations
+ on the stream are deflateReset or deflateEnd.
+
+ Z_FINISH can be used in the first deflate call after deflateInit if all the
+ compression is to be done in a single step. In order to complete in one
+ call, avail_out must be at least the value returned by deflateBound (see
+ below). Then deflate is guaranteed to return Z_STREAM_END. If not enough
+ output space is provided, deflate will not return Z_STREAM_END, and it must
+ be called again as described above.
+
+ deflate() sets strm->adler to the Adler-32 checksum of all input read
+ so far (that is, total_in bytes). If a gzip stream is being generated, then
+ strm->adler will be the CRC-32 checksum of the input read so far. (See
+ deflateInit2 below.)
deflate() may update strm->data_type if it can make a good guess about
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect the
- compression algorithm in any manner.
+ the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is
+ considered binary. This field is only for information purposes and does not
+ affect the compression algorithm in any manner.
deflate() returns Z_OK if some progress has been made (more input
processed or more output produced), Z_STREAM_END if all input has been
consumed and all output has been produced (only when flush is set to
Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
+ if next_in or next_out was Z_NULL or the state was inadvertently written over
+ by the application), or Z_BUF_ERROR if no progress is possible (for example
+ avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and
+ deflate() can be called again with more input and more output space to
+ continue compressing.
*/
@@ -369,23 +379,21 @@ ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
Initializes the internal stream state for decompression. The fields
next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the
- exact value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
+ the caller. In the current version of inflate, the provided input is not
+ read or consumed. The allocation of a sliding window will be deferred to
+ the first call of inflate (if the decompression does not complete on the
+ first call). If zalloc and zfree are set to Z_NULL, inflateInit updates
+ them to use default allocation functions.
inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit() does not process any header information -- that is deferred
- until inflate() is called.
+ there is no error message. inflateInit does not perform any decompression.
+ Actual decompression will be done by inflate(). So next_in, and avail_in,
+ next_out, and avail_out are unused and unchanged. The current
+ implementation of inflateInit() does not process any header information --
+ that is deferred until inflate() is called.
*/
@@ -401,17 +409,20 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
- Decompress more input starting at next_in and update next_in and avail_in
accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing will
- resume at this point for the next call of inflate().
+ enough room in the output buffer), then next_in and avail_in are updated
+ accordingly, and processing will resume at this point for the next call of
+ inflate().
- - Provide more output starting at next_out and update next_out and avail_out
+ - Generate more output starting at next_out and update next_out and avail_out
accordingly. inflate() provides as much output as possible, until there is
no more input data or no more space in the output buffer (see below about
the flush parameter).
Before the call of inflate(), the application should ensure that at least
one of the actions is possible, by providing more input and/or consuming more
- output, and updating the next_* and avail_* values accordingly. The
+ output, and updating the next_* and avail_* values accordingly. If the
+ caller of inflate() does not provide both available input and available
+ output space, it is possible that there will be no progress made. The
application can consume the uncompressed output when it wants, for example
when the output buffer is full (avail_out == 0), or after each call of
inflate(). If inflate returns Z_OK and with zero avail_out, it must be
@@ -428,7 +439,7 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
gets to the end of that block, or when it runs out of data.
The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
+ To assist in this, on return inflate() always sets strm->data_type to the
number of unused bits in the last byte taken from strm->next_in, plus 64 if
inflate() is currently decoding the last block in the deflate stream, plus
128 if inflate() returned immediately after decoding an end-of-block code or
@@ -454,7 +465,7 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
this case all pending input is processed and all pending output is flushed;
avail_out must be large enough to hold all of the uncompressed data for the
operation to complete. (The size of the uncompressed data may have been
- saved by the compressor for this purpose.) The use of Z_FINISH is not
+ saved by the compressor for this purpose.) The use of Z_FINISH is not
required to perform an inflation in one step. However it may be used to
inform inflate that a faster approach can be used for the single inflate()
call. Z_FINISH also informs inflate to not maintain a sliding window if the
@@ -476,32 +487,33 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
strm->adler to the Adler-32 checksum of all output produced so far (that is,
total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
+ below. At the end of the stream, inflate() checks that its computed Adler-32
checksum is equal to that saved by the compressor and returns Z_STREAM_END
only if the checksum is correct.
inflate() can decompress and check either zlib-wrapped or gzip-wrapped
deflate data. The header type is detected automatically, if requested when
initializing with inflateInit2(). Any information contained in the gzip
- header is not retained, so applications that need that information should
- instead use raw inflate, see inflateInit2() below, or inflateBack() and
- perform their own processing of the gzip header and trailer. When processing
+ header is not retained unless inflateGetHeader() is used. When processing
gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
- producted so far. The CRC-32 is checked against the gzip trailer.
+ produced so far. The CRC-32 is checked against the gzip trailer, as is the
+ uncompressed length, modulo 2^32.
inflate() returns Z_OK if some progress has been made (more input processed
or more output produced), Z_STREAM_END if the end of the compressed data has
been reached and all uncompressed output has been produced, Z_NEED_DICT if a
preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
+ value, in which case strm->msg points to a string with a more specific
+ error), Z_STREAM_ERROR if the stream structure was inconsistent (for example
+ next_in or next_out was Z_NULL, or the state was inadvertently written over
+ by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR
+ if no progress was possible or if there was not enough room in the output
+ buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
inflate() can be called again with more input and more output space to
continue decompressing. If Z_DATA_ERROR is returned, the application may
then call inflateSync() to look for a good compression block if a partial
- recovery of the data is desired.
+ recovery of the data is to be attempted.
*/
@@ -511,9 +523,8 @@ ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
This function discards any unprocessed input and does not flush any pending
output.
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
+ inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state
+ was inconsistent.
*/
@@ -544,16 +555,29 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
compression at the expense of memory usage. The default value is 15 if
deflateInit is used instead.
+ For the current implementation of deflate(), a windowBits value of 8 (a
+ window size of 256 bytes) is not supported. As a result, a request for 8
+ will result in 9 (a 512-byte window). In that case, providing 8 to
+ inflateInit2() will result in an error when the zlib header with 9 is
+ checked against the initialization of inflate(). The remedy is to not use 8
+ with deflateInit2() with this initialization, or at least in that case use 9
+ with inflateInit2().
+
windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
+ with no zlib header or trailer, and will not compute a check value.
windowBits can also be greater than 15 for optional gzip encoding. Add
16 to windowBits to write a simple gzip header and trailer around the
compressed data instead of a zlib wrapper. The gzip header will have no
file name, no extra data, no comment, no modification time (set to zero), no
- header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
+ header crc, and the operating system will be set to the appropriate value,
+ if the operating system was determined at compile time. If a gzip stream is
+ being written, strm->adler is a CRC-32 instead of an Adler-32.
+
+ For raw deflate or gzip encoding, a request for a 256-byte window is
+ rejected as invalid, since only the zlib header provides a means of
+ transmitting the window size to the decompressor.
The memLevel parameter specifies how much memory should be allocated
for the internal compression state. memLevel=1 uses minimum memory but is
@@ -614,12 +638,12 @@ ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
addition, the current implementation of deflate will use at most the window
size minus 262 bytes of the provided dictionary.
- Upon return of this function, strm->adler is set to the adler32 value
+ Upon return of this function, strm->adler is set to the Adler-32 value
of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
+ which dictionary has been used by the compressor. (The Adler-32 value
applies to the whole dictionary even if only a subset of the dictionary is
actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
+ Adler-32 value is not computed and strm->adler is not set.
deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
@@ -628,6 +652,28 @@ ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
not perform any compression: this will be done by deflate().
*/
+ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm,
+ Bytef *dictionary,
+ uInt *dictLength));
+/*
+ Returns the sliding dictionary being maintained by deflate. dictLength is
+ set to the number of bytes in the dictionary, and that many bytes are copied
+ to dictionary. dictionary must have enough space, where 32768 bytes is
+ always enough. If deflateGetDictionary() is called with dictionary equal to
+ Z_NULL, then only the dictionary length is returned, and nothing is copied.
+ Similary, if dictLength is Z_NULL, then it is not set.
+
+ deflateGetDictionary() may return a length less than the window size, even
+ when more than the window size in input has been provided. It may return up
+ to 258 bytes less in that case, due to how zlib's implementation of deflate
+ manages the sliding window and lookahead for matches, where matches can be
+ up to 258 bytes long. If the application needs the last window-size bytes of
+ input, then that would need to be saved by the application outside of zlib.
+
+ deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
+ stream state is inconsistent.
+*/
+
ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
z_streamp source));
/*
@@ -648,10 +694,10 @@ ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state. The
- stream will keep the same compression level and any other attributes that
- may have been set by deflateInit2.
+ This function is equivalent to deflateEnd followed by deflateInit, but
+ does not free and reallocate the internal compression state. The stream
+ will leave the compression level and any other attributes that may have been
+ set unchanged.
deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
stream state was inconsistent (such as zalloc or state being Z_NULL).
@@ -662,20 +708,36 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
int strategy));
/*
Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
+ interpretation of level and strategy is as in deflateInit2(). This can be
used to switch between compression and straight copy of the input data, or
to switch to a different kind of input data requiring a different strategy.
- If the compression level is changed, the input available so far is
- compressed with the old level (and may be flushed); the new level will take
- effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to be
- compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
- strm->avail_out was zero.
+ If the compression approach (which is a function of the level) or the
+ strategy is changed, and if any input has been consumed in a previous
+ deflate() call, then the input available so far is compressed with the old
+ level and strategy using deflate(strm, Z_BLOCK). There are three approaches
+ for the compression levels 0, 1..3, and 4..9 respectively. The new level
+ and strategy will take effect at the next call of deflate().
+
+ If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
+ not have enough output space to complete, then the parameter change will not
+ take effect. In this case, deflateParams() can be called again with the
+ same parameters and more output space to try again.
+
+ In order to assure a change in the parameters on the first try, the
+ deflate stream should be flushed using deflate() with Z_BLOCK or other flush
+ request until strm.avail_out is not zero, before calling deflateParams().
+ Then no more input data should be provided before the deflateParams() call.
+ If this is done, the old level and strategy will be applied to the data
+ compressed before deflateParams(), and the new level and strategy will be
+ applied to the the data compressed after deflateParams().
+
+ deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream
+ state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if
+ there was not enough output space to complete the compression of the
+ available input data before a change in the strategy or approach. Note that
+ in the case of a Z_BUF_ERROR, the parameters are not changed. A return
+ value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be
+ retried with more output space.
*/
ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
@@ -793,7 +855,7 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
is for use with other formats that use the deflate compressed data format
such as zip. Those formats provide their own check values. If a custom
format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
+ recommended that a check value such as an Adler-32 or a CRC-32 be applied to
the uncompressed data as is done in the zlib, gzip, and zip formats. For
most applications, the zlib format should be used as is. Note that comments
above on the use in deflateInit2() applies to the magnitude of windowBits.
@@ -802,7 +864,10 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
32 to windowBits to enable zlib and gzip decoding with automatic header
detection, or add 16 to decode only the gzip format (the zlib format will
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
- crc32 instead of an adler32.
+ CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see
+ below), inflate() will not automatically decode concatenated gzip streams.
+ inflate() will return Z_STREAM_END at the end of the gzip stream. The state
+ would need to be reset to continue decoding a subsequent gzip stream.
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
@@ -823,7 +888,7 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
Initializes the decompression dictionary from the given uncompressed byte
sequence. This function must be called immediately after a call of inflate,
if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by that call of inflate.
+ can be determined from the Adler-32 value returned by that call of inflate.
The compressor and decompressor must use exactly the same dictionary (see
deflateSetDictionary). For raw inflate, this function can be called at any
time to set the dictionary. If the provided dictionary is smaller than the
@@ -834,7 +899,7 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
+ expected one (incorrect Adler-32 value). inflateSetDictionary does not
perform any decompression: this will be done by subsequent calls of
inflate().
*/
@@ -892,7 +957,7 @@ ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
/*
This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state. The
+ but does not free and reallocate the internal decompression state. The
stream will keep attributes that may have been set by inflateInit2.
inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
@@ -904,7 +969,9 @@ ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
/*
This function is the same as inflateReset, but it also permits changing
the wrap and window size requests. The windowBits parameter is interpreted
- the same as it is for inflateInit2.
+ the same as it is for inflateInit2. If the window size is changed, then the
+ memory allocated for the window is freed, and the window will be reallocated
+ by inflate() if needed.
inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
stream state was inconsistent (such as zalloc or state being Z_NULL), or if
@@ -956,7 +1023,7 @@ ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
location in the input stream can be determined from avail_in and data_type
as noted in the description for the Z_BLOCK flush parameter for inflate.
- inflateMark returns the value noted above or -1 << 16 if the provided
+ inflateMark returns the value noted above, or -65536 if the provided
source stream state was inconsistent.
*/
@@ -1048,9 +1115,9 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
This routine would normally be used in a utility that reads zip or gzip
files and writes out uncompressed files. The utility would decode the
header and process the trailer on its own, hence this routine expects only
- the raw deflate stream to decompress. This is different from the normal
- behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
+ the raw deflate stream to decompress. This is different from the default
+ behavior of inflate(), which expects a zlib header and trailer around the
+ deflate stream.
inflateBack() uses two subroutines supplied by the caller that are then
called by inflateBack() for input and output. inflateBack() calls those
@@ -1059,12 +1126,12 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
parameters and return types are defined above in the in_func and out_func
typedefs. inflateBack() will call in(in_desc, &buf) which should return the
number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
+ there is no input available, in() must return zero -- buf is ignored in that
+ case -- and inflateBack() will return a buffer error. inflateBack() will
+ call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1].
+ out() should return zero on success, or non-zero on failure. If out()
+ returns non-zero, inflateBack() will return with an error. Neither in() nor
+ out() are permitted to change the contents of the window provided to
inflateBackInit(), which is also the buffer that out() uses to write from.
The length written by out() will be at most the window size. Any non-zero
amount of input may be provided by in().
@@ -1092,7 +1159,7 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
using strm->next_in which will be Z_NULL only if in() returned an error. If
strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
non-zero. (in() will always be called before out(), so strm->next_in is
- assured to be defined if out() returns non-zero.) Note that inflateBack()
+ assured to be defined if out() returns non-zero.) Note that inflateBack()
cannot return Z_OK.
*/
@@ -1114,7 +1181,7 @@ ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
7.6: size of z_off_t
Compiler, assembler, and debug options:
- 8: DEBUG
+ 8: ZLIB_DEBUG
9: ASMV or ASMINF -- use ASM code
10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
11: 0 (reserved)
@@ -1164,7 +1231,8 @@ ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
the byte length of the source buffer. Upon entry, destLen is the total size
of the destination buffer, which must be at least the value returned by
compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
+ compressed data. compress() is equivalent to compress2() with a level
+ parameter of Z_DEFAULT_COMPRESSION.
compress returns Z_OK if success, Z_MEM_ERROR if there was not
enough memory, Z_BUF_ERROR if there was not enough room in the output
@@ -1180,7 +1248,7 @@ ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
length of the source buffer. Upon entry, destLen is the total size of the
destination buffer, which must be at least the value returned by
compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
+ compressed data.
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
@@ -1203,7 +1271,7 @@ ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
uncompressed data. (The size of the uncompressed data must have been saved
previously by the compressor and transmitted to the decompressor by some
mechanism outside the scope of this compression library.) Upon exit, destLen
- is the actual size of the uncompressed buffer.
+ is the actual size of the uncompressed data.
uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
enough memory, Z_BUF_ERROR if there was not enough room in the output
@@ -1212,6 +1280,14 @@ ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
buffer with the uncompressed data up to that point.
*/
+ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen));
+/*
+ Same as uncompress, except that sourceLen is a pointer, where the
+ length of the source is *sourceLen. On return, *sourceLen is the number of
+ source bytes consumed.
+*/
+
/* gzip file access functions */
/*
@@ -1290,10 +1366,9 @@ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
default buffer size is 8192 bytes. This function must be called after
gzopen() or gzdopen(), and before any other calls that read or write the
file. The buffer memory allocation is always deferred to the first read or
- write. Two buffers are allocated, either both of the specified size when
- writing, or one of the specified size and the other twice that size when
- reading. A larger buffer size of, for example, 64K or 128K bytes will
- noticeably increase the speed of decompression (reading).
+ write. Three times that size in buffer space is allocated. A larger buffer
+ size of, for example, 64K or 128K bytes will noticeably increase the speed
+ of decompression (reading).
The new buffer size also affects the maximum length for gzprintf().
@@ -1304,10 +1379,12 @@ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
/*
Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
+ of deflateInit2 for the meaning of these parameters. Previously provided
+ data is flushed before the parameter change.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
+ gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
+ opened for writing, Z_ERRNO if there is an error writing the flushed data,
+ or Z_MEM_ERROR if there is a memory allocation error.
*/
ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
@@ -1335,7 +1412,35 @@ ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
case.
gzread returns the number of uncompressed bytes actually read, less than
- len for end of file, or -1 for error.
+ len for end of file, or -1 for error. If len is too large to fit in an int,
+ then nothing is read, -1 is returned, and the error state is set to
+ Z_STREAM_ERROR.
+*/
+
+ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
+ gzFile file));
+/*
+ Read up to nitems items of size size from file to buf, otherwise operating
+ as gzread() does. This duplicates the interface of stdio's fread(), with
+ size_t request and return types. If the library defines size_t, then
+ z_size_t is identical to size_t. If not, then z_size_t is an unsigned
+ integer type that can contain a pointer.
+
+ gzfread() returns the number of full items read of size size, or zero if
+ the end of the file was reached and a full item could not be read, or if
+ there was an error. gzerror() must be consulted if zero is returned in
+ order to determine if there was an error. If the multiplication of size and
+ nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
+ is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
+
+ In the event that the end of file is reached and only a partial item is
+ available at the end, i.e. the remaining uncompressed data length is not a
+ multiple of size, then the final partial item is nevetheless read into buf
+ and the end-of-file flag is set. The length of the partial item read is not
+ provided, but could be inferred from the result of gztell(). This behavior
+ is the same as the behavior of fread() implementations in common libraries,
+ but it prevents the direct use of gzfread() to read a concurrently written
+ file, reseting and retrying on end-of-file, when size is not 1.
*/
ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
@@ -1346,19 +1451,33 @@ ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
error.
*/
+ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
+ z_size_t nitems, gzFile file));
+/*
+ gzfwrite() writes nitems items of size size from buf to file, duplicating
+ the interface of stdio's fwrite(), with size_t request and return types. If
+ the library defines size_t, then z_size_t is identical to size_t. If not,
+ then z_size_t is an unsigned integer type that can contain a pointer.
+
+ gzfwrite() returns the number of full items written of size size, or zero
+ if there was an error. If the multiplication of size and nitems overflows,
+ i.e. the product does not fit in a z_size_t, then nothing is written, zero
+ is returned, and the error state is set to Z_STREAM_ERROR.
+*/
+
ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
/*
Converts, formats, and writes the arguments to the compressed file under
control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written, or 0 in case of error. The number of
- uncompressed bytes written is limited to 8191, or one less than the buffer
- size given to gzbuffer(). The caller should assure that this limit is not
- exceeded. If it is exceeded, then gzprintf() will return an error (0) with
- nothing written. In this case, there may also be a buffer overflow with
- unpredictable consequences, which is possible only if zlib was compiled with
- the insecure functions sprintf() or vsprintf() because the secure snprintf()
- or vsnprintf() functions were not available. This can be determined using
- zlibCompileFlags().
+ uncompressed bytes actually written, or a negative zlib error code in case
+ of error. The number of uncompressed bytes written is limited to 8191, or
+ one less than the buffer size given to gzbuffer(). The caller should assure
+ that this limit is not exceeded. If it is exceeded, then gzprintf() will
+ return an error (0) with nothing written. In this case, there may also be a
+ buffer overflow with unpredictable consequences, which is possible only if
+ zlib was compiled with the insecure functions sprintf() or vsprintf()
+ because the secure snprintf() or vsnprintf() functions were not available.
+ This can be determined using zlibCompileFlags().
*/
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
@@ -1418,7 +1537,7 @@ ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
If the flush parameter is Z_FINISH, the remaining data is written and the
gzip stream is completed in the output. If gzwrite() is called again, a new
gzip stream will be started in the output. gzread() is able to read such
- concatented gzip streams.
+ concatenated gzip streams.
gzflush should be called only when strictly necessary because it will
degrade compression if called too often.
@@ -1572,7 +1691,7 @@ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
return the updated checksum. If buf is Z_NULL, this function returns the
required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
much faster.
Usage example:
@@ -1585,6 +1704,12 @@ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
if (adler != original_adler) error();
*/
+ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf,
+ z_size_t len));
+/*
+ Same as adler32(), but with a size_t length.
+*/
+
/*
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
z_off_t len2));
@@ -1614,6 +1739,12 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
if (crc != original_crc) error();
*/
+ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
+ z_size_t len));
+/*
+ Same as crc32(), but with a size_t length.
+*/
+
/*
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
@@ -1644,19 +1775,35 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
unsigned char FAR *window,
const char *version,
int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
- (int)sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, (int)sizeof(z_stream))
+#ifdef Z_PREFIX_SET
+# define z_deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
+# define z_inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
+# define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
+# define z_inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+ (int)sizeof(z_stream))
+# define z_inflateBackInit(strm, windowBits, window) \
+ inflateBackInit_((strm), (windowBits), (window), \
+ ZLIB_VERSION, (int)sizeof(z_stream))
+#else
+# define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
+# define inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
+# define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
+# define inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+ (int)sizeof(z_stream))
+# define inflateBackInit(strm, windowBits, window) \
+ inflateBackInit_((strm), (windowBits), (window), \
+ ZLIB_VERSION, (int)sizeof(z_stream))
+#endif
#ifndef Z_SOLO
@@ -1676,10 +1823,10 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
#ifdef Z_PREFIX_SET
# undef z_gzgetc
# define z_gzgetc(g) \
- ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+ ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
#else
# define gzgetc(g) \
- ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+ ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
#endif
/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
@@ -1737,19 +1884,16 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
#endif /* !Z_SOLO */
-/* hack for buggy compilers */
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;};
-#endif
-
/* undocumented functions */
ZEXTERN const char * ZEXPORT zError OF((int));
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
+ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
+ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
-#if defined(_WIN32) && !defined(Z_SOLO)
+#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO)
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
const char *mode));
#endif
diff --git a/src/thirdparty/zlib/zlib.vcxproj b/src/thirdparty/zlib/zlib.vcxproj
index 7000451cf..e7bcd95dd 100644
--- a/src/thirdparty/zlib/zlib.vcxproj
+++ b/src/thirdparty/zlib/zlib.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -26,65 +26,20 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="..\..\platform.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\common.props" />
- <Import Project="..\..\common-3rd-party.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
<Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
@@ -103,6 +58,8 @@
<ClCompile Include="inffast.c" />
<ClCompile Include="inflate.c" />
<ClCompile Include="inftrees.c" />
+ <ClCompile Include="minizip\ioapi.c" />
+ <ClCompile Include="minizip\unzip.c" />
<ClCompile Include="trees.c" />
<ClCompile Include="uncompr.c" />
<ClCompile Include="zutil.c" />
diff --git a/src/thirdparty/zlib/zlib.vcxproj.filters b/src/thirdparty/zlib/zlib.vcxproj.filters
index 6d06bea02..6030351d8 100644
--- a/src/thirdparty/zlib/zlib.vcxproj.filters
+++ b/src/thirdparty/zlib/zlib.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{65ae02f7-7823-4d41-b101-45ef452df4b8}</UniqueIdentifier>
@@ -56,6 +56,12 @@
<ClCompile Include="zutil.c">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="minizip\unzip.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="minizip\ioapi.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="crc32.h">
diff --git a/src/thirdparty/zlib/zutil.c b/src/thirdparty/zlib/zutil.c
index 23d2ebef0..a76c6b0c7 100644
--- a/src/thirdparty/zlib/zutil.c
+++ b/src/thirdparty/zlib/zutil.c
@@ -1,5 +1,5 @@
/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly.
+ * Copyright (C) 1995-2017 Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -10,21 +10,18 @@
# include "gzguts.h"
#endif
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
z_const char * const z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
+ (z_const char *)"need dictionary", /* Z_NEED_DICT 2 */
+ (z_const char *)"stream end", /* Z_STREAM_END 1 */
+ (z_const char *)"", /* Z_OK 0 */
+ (z_const char *)"file error", /* Z_ERRNO (-1) */
+ (z_const char *)"stream error", /* Z_STREAM_ERROR (-2) */
+ (z_const char *)"data error", /* Z_DATA_ERROR (-3) */
+ (z_const char *)"insufficient memory", /* Z_MEM_ERROR (-4) */
+ (z_const char *)"buffer error", /* Z_BUF_ERROR (-5) */
+ (z_const char *)"incompatible version",/* Z_VERSION_ERROR (-6) */
+ (z_const char *)""
+};
const char * ZEXPORT zlibVersion()
@@ -61,7 +58,7 @@ uLong ZEXPORT zlibCompileFlags()
case 8: flags += 2 << 6; break;
default: flags += 3 << 6;
}
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
flags += 1 << 8;
#endif
#if defined(ASMV) || defined(ASMINF)
@@ -115,8 +112,8 @@ uLong ZEXPORT zlibCompileFlags()
return flags;
}
-#ifdef DEBUG
-
+#ifdef ZLIB_DEBUG
+#include <stdlib.h>
# ifndef verbose
# define verbose 0
# endif
@@ -219,9 +216,11 @@ local ptr_table table[MAX_PTR];
voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
{
- voidpf buf = opaque; /* just to make some compilers happy */
+ voidpf buf;
ulg bsize = (ulg)items*size;
+ (void)opaque;
+
/* If we allocate less than 65520 bytes, we assume that farmalloc
* will return a usable pointer which doesn't have to be normalized.
*/
@@ -244,6 +243,9 @@ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
{
int n;
+
+ (void)opaque;
+
if (*(ush*)&ptr != 0) { /* object < 64K */
farfree(ptr);
return;
@@ -259,7 +261,6 @@ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
next_ptr--;
return;
}
- ptr = opaque; /* just to make some compilers happy */
Assert(0, "zcfree: ptr not found");
}
@@ -278,13 +279,13 @@ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
{
- if (opaque) opaque = 0; /* to make compiler happy */
+ (void)opaque;
return _halloc((long)items, size);
}
void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
{
- if (opaque) opaque = 0; /* to make compiler happy */
+ (void)opaque;
_hfree(ptr);
}
@@ -306,7 +307,7 @@ voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
unsigned items;
unsigned size;
{
- if (opaque) items += size - size; /* make compiler happy */
+ (void)opaque;
return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
(voidpf)calloc(items, size);
}
@@ -315,8 +316,8 @@ void ZLIB_INTERNAL zcfree (opaque, ptr)
voidpf opaque;
voidpf ptr;
{
+ (void)opaque;
free(ptr);
- if (opaque) return; /* make compiler happy */
}
#endif /* MY_ZCALLOC */
diff --git a/src/thirdparty/zlib/zutil.h b/src/thirdparty/zlib/zutil.h
index 24ab06b1c..b079ea6a8 100644
--- a/src/thirdparty/zlib/zutil.h
+++ b/src/thirdparty/zlib/zutil.h
@@ -1,5 +1,5 @@
/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -36,7 +36,9 @@
#ifndef local
# define local static
#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
+/* since "static" is used to mean two completely different things in C, we
+ define "local" for the non-static meaning of "static", for readability
+ (compile with -Dlocal if your debugger can't find static symbols) */
typedef unsigned char uch;
typedef uch FAR uchf;
@@ -98,28 +100,38 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
#endif
#ifdef AMIGA
-# define OS_CODE 0x01
+# define OS_CODE 1
#endif
#if defined(VAXC) || defined(VMS)
-# define OS_CODE 0x02
+# define OS_CODE 2
# define F_OPEN(name, mode) \
fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
#endif
+#ifdef __370__
+# if __TARGET_LIB__ < 0x20000000
+# define OS_CODE 4
+# elif __TARGET_LIB__ < 0x40000000
+# define OS_CODE 11
+# else
+# define OS_CODE 8
+# endif
+#endif
+
#if defined(ATARI) || defined(atarist)
-# define OS_CODE 0x05
+# define OS_CODE 5
#endif
#ifdef OS2
-# define OS_CODE 0x06
+# define OS_CODE 6
# if defined(M_I86) && !defined(Z_SOLO)
# include <malloc.h>
# endif
#endif
#if defined(MACOS) || defined(TARGET_OS_MAC)
-# define OS_CODE 0x07
+# define OS_CODE 7
# ifndef Z_SOLO
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
# include <unix.h> /* for fdopen */
@@ -131,18 +143,24 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# endif
#endif
-#ifdef TOPS20
-# define OS_CODE 0x0a
+#ifdef __acorn
+# define OS_CODE 13
#endif
-#ifdef WIN32
-# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
-# define OS_CODE 0x0b
-# endif
+#if defined(WIN32) && !defined(__CYGWIN__)
+# define OS_CODE 10
+#endif
+
+#ifdef _BEOS_
+# define OS_CODE 16
+#endif
+
+#ifdef __TOS_OS400__
+# define OS_CODE 18
#endif
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define OS_CODE 0x0f
+#ifdef __APPLE__
+# define OS_CODE 19
#endif
#if defined(_BEOS_) || defined(RISCOS)
@@ -177,7 +195,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
/* common defaults */
#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
+# define OS_CODE 3 /* assume Unix */
#endif
#ifndef F_OPEN
@@ -216,7 +234,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
#endif
/* Diagnostic functions */
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
# include <stdio.h>
extern int ZLIB_INTERNAL z_verbose;
extern void ZLIB_INTERNAL z_error OF((char *m));
diff --git a/update_version.bat b/update_version.bat
index ba64493ed..c4ed1d415 100755
--- a/update_version.bat
+++ b/update_version.bat
@@ -25,7 +25,7 @@ SET "COMMON=%FILE_DIR%\common.bat"
IF EXIST "build.user.bat" CALL "build.user.bat"
-IF NOT DEFINED MPCHC_GIT IF DEFINED GIT (SET MPCHC_GIT=%GIT%)
+IF NOT DEFINED MPCHC_GIT IF DEFINED GIT (SET MPCHC_GIT=%GIT%)
SET "PATH=%MPCHC_GIT%\cmd;%PATH%"
CALL "%COMMON%" :SubSetPath